draft-ietf-mmusic-data-channel-sdpneg-07.txt | draft-ietf-mmusic-data-channel-sdpneg-08.txt | |||
---|---|---|---|---|
MMUSIC K. Drage, Ed. | MMUSIC K. Drage, Ed. | |||
Internet-Draft M. Makaraju | Internet-Draft M. Makaraju | |||
Intended status: Standards Track J. Stoetzer-Bradler | Intended status: Standards Track J. Stoetzer-Bradler | |||
Expires: June 2, 2016 Alcatel-Lucent | Expires: August 20, 2016 Nokia | |||
R. Ejzak | R. Ejzak | |||
J. Marcon | J. Marcon | |||
Unaffiliated | Unaffiliated | |||
November 30, 2015 | February 17, 2016 | |||
SDP-based Data Channel Negotiation | SDP-based Data Channel Negotiation | |||
draft-ietf-mmusic-data-channel-sdpneg-07 | draft-ietf-mmusic-data-channel-sdpneg-08 | |||
Abstract | Abstract | |||
The Real-Time Communication in WEB-browsers (RTCWeb) working group is | The Real-Time Communication in WEB-browsers (RTCWeb) working group is | |||
charged to provide protocols to support direct interactive rich | charged to provide protocols to support direct interactive rich | |||
communications using audio, video, and data between two peers' web- | communications using audio, video, and data between two peers' web- | |||
browsers. For the support of data communication, the RTCWeb working | browsers. For the support of data communication, the RTCWeb working | |||
group has in particular defined the concept of bi-directional data | group has in particular defined the concept of bi-directional data | |||
channels over SCTP (Stream Control Transmission Protocol), where each | channels over SCTP (Stream Control Transmission Protocol), where each | |||
data channel might be used to transport other protocols, called | data channel might be used to transport other protocols, called | |||
skipping to change at page 2, line 4 | skipping to change at page 2, line 4 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 2, 2016. | This Internet-Draft will expire on August 20, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 35 | skipping to change at page 2, line 35 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Applicability Statement . . . . . . . . . . . . . . . . . . . 5 | 4. Applicability Statement . . . . . . . . . . . . . . . . . . . 5 | |||
5. SDP Offer/Answer Negotiation . . . . . . . . . . . . . . . . 5 | 5. SDP Offer/Answer Negotiation . . . . . . . . . . . . . . . . 5 | |||
5.1. SDP Syntax . . . . . . . . . . . . . . . . . . . . . . . 5 | 5.1. SDP Syntax . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
5.1.1. SDP Attribute for Data Channel Parameter Negotiation 5 | 5.1.1. SDP Attribute for Data Channel Parameter Negotiation 5 | |||
5.1.1.1. dcmap Attribute . . . . . . . . . . . . . . . . . 6 | 5.1.1.1. dcmap Attribute . . . . . . . . . . . . . . . . . 6 | |||
5.1.1.2. dcmap Multiplexing Category . . . . . . . . . . . 7 | 5.1.1.2. dcmap Multiplexing Category . . . . . . . . . . . 7 | |||
5.1.1.3. dcmap-stream-id Parameter . . . . . . . . . . . . 8 | 5.1.1.3. dcmap-stream-id Parameter . . . . . . . . . . . . 8 | |||
5.1.1.4. label Parameter . . . . . . . . . . . . . . . . . 8 | 5.1.1.4. label Parameter . . . . . . . . . . . . . . . . . 8 | |||
5.1.1.5. subprotocol Parameter . . . . . . . . . . . . . . 8 | 5.1.1.5. subprotocol Parameter . . . . . . . . . . . . . . 8 | |||
5.1.1.6. max-retr Parameter . . . . . . . . . . . . . . . 8 | 5.1.1.6. max-retr Parameter . . . . . . . . . . . . . . . 9 | |||
5.1.1.7. max-time Parameter . . . . . . . . . . . . . . . 9 | 5.1.1.7. max-time Parameter . . . . . . . . . . . . . . . 9 | |||
5.1.1.8. ordered Parameter . . . . . . . . . . . . . . . . 9 | 5.1.1.8. ordered Parameter . . . . . . . . . . . . . . . . 9 | |||
5.1.1.9. priority Parameter . . . . . . . . . . . . . . . 9 | 5.1.1.9. priority Parameter . . . . . . . . . . . . . . . 9 | |||
5.1.2. Other Media Level Attributes . . . . . . . . . . . . 9 | 5.1.2. Other Media Level Attributes . . . . . . . . . . . . 9 | |||
5.1.2.1. dcsa Attribute . . . . . . . . . . . . . . . . . 10 | 5.1.2.1. dcsa Attribute . . . . . . . . . . . . . . . . . 10 | |||
5.1.2.2. dcsa Multiplexing Category . . . . . . . . . . . 11 | 5.1.2.2. dcsa Multiplexing Category . . . . . . . . . . . 11 | |||
5.2. Procedures . . . . . . . . . . . . . . . . . . . . . . . 11 | 5.2. Procedures . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
5.2.1. Managing Stream Identifiers . . . . . . . . . . . . . 11 | 5.2.1. Managing Stream Identifiers . . . . . . . . . . . . . 12 | |||
5.2.2. Negotiating Data Channel Parameters . . . . . . . . . 12 | 5.2.2. Negotiating Data Channel Parameters . . . . . . . . . 12 | |||
5.2.3. Opening a Data Channel . . . . . . . . . . . . . . . 13 | 5.2.3. Opening a Data Channel . . . . . . . . . . . . . . . 13 | |||
5.2.4. Closing a Data Channel . . . . . . . . . . . . . . . 15 | 5.2.4. Closing a Data Channel . . . . . . . . . . . . . . . 15 | |||
5.2.5. Various SDP Offer/Answer Scenarios and Considerations 16 | 5.2.5. Various SDP Offer/Answer Scenarios and Considerations 16 | |||
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
8.1. Subprotocol Identifiers . . . . . . . . . . . . . . . . . 19 | 8.1. Subprotocol Identifiers . . . . . . . . . . . . . . . . . 20 | |||
8.2. New SDP Attributes . . . . . . . . . . . . . . . . . . . 20 | 8.2. New SDP Attributes . . . . . . . . . . . . . . . . . . . 21 | |||
8.2.1. dcmap . . . . . . . . . . . . . . . . . . . . . . . . 20 | 8.2.1. dcmap . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
8.2.2. dcsa . . . . . . . . . . . . . . . . . . . . . . . . 20 | 8.2.2. dcsa . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10. CHANGE LOG . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 10. CHANGE LOG . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10.1. Changes against 'draft-ietf-mmusic-data-channel- | 10.1. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-06' . . . . . . . . . . . . . . . . . . . . . . . 21 | sdpneg-07' . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10.2. Changes against 'draft-ietf-mmusic-data-channel- | 10.2. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-05' . . . . . . . . . . . . . . . . . . . . . . . 21 | sdpneg-06' . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10.3. Changes against 'draft-ietf-mmusic-data-channel- | 10.3. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-04' . . . . . . . . . . . . . . . . . . . . . . . 22 | sdpneg-05' . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
10.4. Changes against 'draft-ietf-mmusic-data-channel- | 10.4. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-03' . . . . . . . . . . . . . . . . . . . . . . . 23 | sdpneg-04' . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
10.5. Changes against 'draft-ietf-mmusic-data-channel- | 10.5. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-02' . . . . . . . . . . . . . . . . . . . . . . . 24 | sdpneg-03' . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
10.6. Changes against 'draft-ietf-mmusic-data-channel- | 10.6. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-01' . . . . . . . . . . . . . . . . . . . . . . . 25 | sdpneg-02' . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
10.7. Changes against 'draft-ietf-mmusic-data-channel- | 10.7. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-00' . . . . . . . . . . . . . . . . . . . . . . . 27 | sdpneg-01' . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
10.8. Changes against 'draft-ejzak-mmusic-data-channel- | 10.8. Changes against 'draft-ietf-mmusic-data-channel- | |||
sdpneg-02' . . . . . . . . . . . . . . . . . . . . . . . 30 | sdpneg-00' . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
10.9. Changes against '-01' . . . . . . . . . . . . . . . . . 31 | 10.9. Changes against 'draft-ejzak-mmusic-data-channel- | |||
10.10. Changes against '-00' . . . . . . . . . . . . . . . . . 31 | sdpneg-02' . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | 10.10. Changes against '-01' . . . . . . . . . . . . . . . . . 32 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 32 | 10.11. Changes against '-00' . . . . . . . . . . . . . . . . . 33 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 32 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 33 | ||||
11.2. Informative References . . . . . . . . . . . . . . . . . 34 | ||||
Appendix A. Generic Data Channel Negotiation Aspects When Not | Appendix A. Generic Data Channel Negotiation Aspects When Not | |||
Using DCEP . . . . . . . . . . . . . . . . . . . . . 33 | Using DCEP . . . . . . . . . . . . . . . . . . . . . 34 | |||
A.1. Stream Identifier Numbering . . . . . . . . . . . . . . . 34 | A.1. Stream Identifier Numbering . . . . . . . . . . . . . . . 35 | |||
A.2. Generic Data Channel Negotiation Not Using DCEP . . . . . 34 | A.2. Generic Data Channel Negotiation Not Using DCEP . . . . . 36 | |||
A.2.1. Overview . . . . . . . . . . . . . . . . . . . . . . 34 | A.2.1. Overview . . . . . . . . . . . . . . . . . . . . . . 36 | |||
A.2.2. Opening a Data Channel . . . . . . . . . . . . . . . 35 | A.2.2. Opening a Data Channel . . . . . . . . . . . . . . . 36 | |||
A.2.3. Closing a Data Channel . . . . . . . . . . . . . . . 36 | A.2.3. Closing a Data Channel . . . . . . . . . . . . . . . 37 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
1. Introduction | 1. Introduction | |||
The RTCWeb working group has defined the concept of bi-directional | The RTCWeb working group has defined the concept of bi-directional | |||
data channels running on top of SCTP/DTLS (SCTP over the Datagram | data channels running on top of SCTP/DTLS (SCTP over the Datagram | |||
Transport Layer Security protocol). RTCWeb allows applications to | Transport Layer Security protocol). RTCWeb allows applications to | |||
use data channels. RTCWeb defines an in-band DCEP, however other in- | use data channels. RTCWeb defines an in-band DCEP, however other in- | |||
band or out-of-band protocols may be used for establishing data | band or out-of-band protocols may be used for establishing data | |||
channels. Each data channel consists of paired SCTP streams sharing | channels. Each data channel consists of paired SCTP streams sharing | |||
the same SCTP Stream Identifier. Data channels are created by | the same SCTP Stream Identifier. Data channels are created by | |||
skipping to change at page 10, line 9 | skipping to change at page 10, line 13 | |||
defined for or applied to the subprotocol in use. Each of these | defined for or applied to the subprotocol in use. Each of these | |||
attributes is represented by one new attribute line, and it includes | attributes is represented by one new attribute line, and it includes | |||
the contents of a media-level SDP attribute already defined for use | the contents of a media-level SDP attribute already defined for use | |||
with this (sub)protocol in another IETF (Internet Engineering Task | with this (sub)protocol in another IETF (Internet Engineering Task | |||
Force) document. Subprotocol specific attributes MAY also be defined | Force) document. Subprotocol specific attributes MAY also be defined | |||
for exclusive use with data channel transport, but SHOULD use the | for exclusive use with data channel transport, but SHOULD use the | |||
same syntax described here for other subprotocol related attributes. | same syntax described here for other subprotocol related attributes. | |||
5.1.2.1. dcsa Attribute | 5.1.2.1. dcsa Attribute | |||
Each subprotocol related SDP attribute that would normally be used to | Each SDP attribute, related to the subprotocol, that would normally | |||
negotiate the subprotocol using SDP is replaced with an attribute of | be used to negotiate the subprotocol using SDP is replaced with an | |||
the form "a=dcsa:stream-id original-attribute", where dcsa stands for | attribute of the form "a=dcsa:stream-id original-attribute", where | |||
"data channel subprotocol attribute", stream-id is the SCTP stream | dcsa stands for "data channel subprotocol attribute", stream-id is | |||
identifier assigned to this subprotocol instance, and original- | the SCTP stream identifier assigned to this subprotocol instance, and | |||
attribute represents the contents of the subprotocol related | original-attribute represents the contents of the subprotocol related | |||
attribute to be included. | attribute to be included. | |||
The same syntax applies to any other SDP attribute required for | The same syntax applies to any other SDP attribute required for | |||
negotiation of this instance of the subprotocol. | negotiation of this instance of the subprotocol. | |||
Formal Syntax: | Formal Syntax: | |||
Name: dcsa | Name: dcsa | |||
Value: dcsa-value | Value: dcsa-value | |||
skipping to change at page 11, line 11 | skipping to change at page 11, line 15 | |||
Thus in the example above, the original attribute line "a=accept- | Thus in the example above, the original attribute line "a=accept- | |||
types:text/plain" is represented by the attribute line "a=dcsa:2 | types:text/plain" is represented by the attribute line "a=dcsa:2 | |||
accept-types:text/plain", which specifies that this instance of the | accept-types:text/plain", which specifies that this instance of the | |||
MSRP subprotocol being transported on the SCTP association using the | MSRP subprotocol being transported on the SCTP association using the | |||
data channel with stream id 2 accepts plain text files. | data channel with stream id 2 accepts plain text files. | |||
As opposed to the data channel "a=dcmap:" attribute parameters, these | As opposed to the data channel "a=dcmap:" attribute parameters, these | |||
parameters are subject to offer/answer negotiation following the | parameters are subject to offer/answer negotiation following the | |||
procedures defined in the subprotocol specific documents. | procedures defined in the subprotocol specific documents. | |||
It is assumed that in general the usages of subprotocol related media | ||||
level attributes are independent from the subprotocol's transport | ||||
protocol. Such transport protocol independent subprotocol related | ||||
attributes are used in the same way as defined in the original | ||||
subprotocol specification, also if the subprotocol is transported | ||||
over a data channel and if the attribute is correspondingly embedded | ||||
in a "a=dcsa" attribute. | ||||
There may be cases, where the usage of a subprotocol related media | ||||
level attribute depends on the subprotocol's transport protocol. In | ||||
such cases the subprotocol related usage of the attribute is expected | ||||
to be described for the data channel transport. A data channel | ||||
specific usage of a subprotocol attribute is expected to be specified | ||||
in the same document, which registers the subprotocol's identifier | ||||
for data channel usage as described in Section 8.1. | ||||
5.1.2.2. dcsa Multiplexing Category | 5.1.2.2. dcsa Multiplexing Category | |||
The multiplexing category of the "a=dcsa:" attribute is SPECIAL. | The multiplexing category of the "a=dcsa:" attribute is SPECIAL. | |||
As the usage of multiple SCTP associations on top of a single DTLS | As the usage of multiple SCTP associations on top of a single DTLS | |||
connection is outside the scope of [I-D.ietf-mmusic-sctp-sdp], no | connection is outside the scope of [I-D.ietf-mmusic-sctp-sdp], no | |||
"a=dcsa:" attribute multiplexing rules are specified for the | "a=dcsa:" attribute multiplexing rules are specified for the | |||
UDP/DTLS/SCTP and TCP/DTLS/SCTP proto values. This document does | UDP/DTLS/SCTP and TCP/DTLS/SCTP proto values. This document does | |||
also not specify multiplexing rules for this attribute for SCTP or | also not specify multiplexing rules for this attribute for SCTP or | |||
SCTP/DTLS proto values. If future extensions of | SCTP/DTLS proto values. If future extensions of | |||
skipping to change at page 13, line 48 | skipping to change at page 14, line 12 | |||
o Generates a new SDP offer. | o Generates a new SDP offer. | |||
o Determines the list of stream identifiers assigned to data | o Determines the list of stream identifiers assigned to data | |||
channels opened through SDP offer/answer negotiation. | channels opened through SDP offer/answer negotiation. | |||
o Completes the SDP offer with the "a=dcmap:" and "a=dcsa:" | o Completes the SDP offer with the "a=dcmap:" and "a=dcsa:" | |||
attributes needed, if any, for each SDP offer/answer negotiated | attributes needed, if any, for each SDP offer/answer negotiated | |||
data channel, as described in Section 5.1 and in Section 5.2.2. | data channel, as described in Section 5.1 and in Section 5.2.2. | |||
o If it adds "a=dcsa" attributes to the SDP offer, then it SHOULD | ||||
add the subprotocol parameter to the "a=dcmap" attribute with a | ||||
non-empty subprotocol identifier. | ||||
o Sends the SDP offer. | o Sends the SDP offer. | |||
The peer receiving such an SDP offer performs the following: | The peer receiving such an SDP offer performs the following: | |||
o Parses and applies the SDP offer. Note that the typical parser | o Parses and applies the SDP offer, taking into account the | |||
normally ignores unknown SDP attributes, which includes data | considerations discussed in Section 5.2.5. | |||
channel related attributes. | ||||
o Analyzes the channel parameters and subprotocol attributes to | o Analyzes the channel parameters and subprotocol attributes to | |||
determine whether to accept each offered data channel. | determine whether to accept each offered data channel. | |||
o For accepted data channels, it creates peer instances for the data | o For accepted data channels, it creates peer instances for the data | |||
channels with the agent using the channel parameters described in | channels with the agent using the channel parameters described in | |||
the SDP offer. Note that the agent is asked to create data | the SDP offer. Note that the agent is asked to create data | |||
channels with SCTP stream identifiers contained in the SDP offer | channels with SCTP stream identifiers contained in the SDP offer | |||
if the SDP offer is accepted. | if the SDP offer is accepted. | |||
skipping to change at page 17, line 12 | skipping to change at page 17, line 28 | |||
* This is allowed and indicates there are no subprotocol | * This is allowed and indicates there are no subprotocol | |||
parameters to convey. | parameters to convey. | |||
SDP answer has no "a=dcsa:" attributes for a data channel. | SDP answer has no "a=dcsa:" attributes for a data channel. | |||
* This is allowed and indicates there are no subprotocol | * This is allowed and indicates there are no subprotocol | |||
parameters to convey in the SDP answer. The number of | parameters to convey in the SDP answer. The number of | |||
"a=dcsa:" attributes in the SDP answer does not have to match | "a=dcsa:" attributes in the SDP answer does not have to match | |||
the number of "a=dcsa:" attributes in the SDP offer. | the number of "a=dcsa:" attributes in the SDP offer. | |||
6. Examples | SDP offer or answer has an "a=dcsa" attribute, whose subprotocol | |||
attribute is unknown. | ||||
* The receiver of such an SDP offer or answer SHOULD ignore this | ||||
entire "a=dcsa" attribute line. | ||||
SDP offer or answer has an "a=dcsa" attribute, whose subprotocol | ||||
attribute is known, but whose subprotocol attribute semantic is | ||||
not known for the data channel transport case. | ||||
* The receiver of such an SDP offer or answer SHOULD ignore this | ||||
entire "a=dcsa" attribute line. | ||||
6. Examples | ||||
SDP offer: | SDP offer: | |||
m=application 10001 UDP/DTLS/SCTP webrtc-datachannel | m=application 10001 UDP/DTLS/SCTP webrtc-datachannel | |||
c=IN IP4 10.10.10.1 | c=IN IP4 10.10.10.1 | |||
a=max-message-size:100000 | a=max-message-size:100000 | |||
a=sctp-port:5000 | a=sctp-port:5000 | |||
a=setup:actpass | a=setup:actpass | |||
a=connection:new | a=connection:new | |||
a=fingerprint:SHA-1 \ | a=fingerprint:SHA-1 \ | |||
4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB | 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB | |||
a=dcmap:0 subprotocol="BFCP";label="BFCP" | a=dcmap:0 subprotocol="BFCP";label="BFCP" | |||
skipping to change at page 20, line 13 | skipping to change at page 21, line 13 | |||
The following text should be added following the title of the table. | The following text should be added following the title of the table. | |||
"This table also includes subprotocol identifiers specified for usage | "This table also includes subprotocol identifiers specified for usage | |||
within a WebRTC data channel." | within a WebRTC data channel." | |||
The following reference should be added to under the heading | The following reference should be added to under the heading | |||
reference: "RFC XXXX". | reference: "RFC XXXX". | |||
This document assigns no new values to this table. | This document assigns no new values to this table. | |||
A subprotocol may simultaneously be defined for data channel | ||||
transport and for Websocket transport. In such a case the | ||||
"Subprotocol Definition" and "Reference" cells in the subprotocol's | ||||
row of the IANA "WebSocket Subprotocol Name Registry" table should | ||||
contain two entries. One entry in each of these cells should refer | ||||
to the Websocket related subprotocol specification, and the other | ||||
entry should refer to the data channel related subprotocol | ||||
specification. | ||||
NOTE to RFC Editor: Please replace "XXXX" with the number of this | NOTE to RFC Editor: Please replace "XXXX" with the number of this | |||
RFC. | RFC. | |||
8.2. New SDP Attributes | 8.2. New SDP Attributes | |||
8.2.1. dcmap | 8.2.1. dcmap | |||
NOTE to RFC Editor: Please replace "XXXX" with the number of this | NOTE to RFC Editor: Please replace "XXXX" with the number of this | |||
RFC. | RFC. | |||
skipping to change at page 21, line 28 | skipping to change at page 22, line 31 | |||
9. Acknowledgments | 9. Acknowledgments | |||
The authors wish to acknowledge the borrowing of ideas from other | The authors wish to acknowledge the borrowing of ideas from other | |||
internet drafts by Salvatore Loreto, Gonzalo Camarillo, Peter Dunkley | internet drafts by Salvatore Loreto, Gonzalo Camarillo, Peter Dunkley | |||
and Gavin Llewellyn, and to thank Roni Even, Christian Groves, Gunnar | and Gavin Llewellyn, and to thank Roni Even, Christian Groves, Gunnar | |||
Hellstrom, Christer Holmberg, Paul Kyzivat, Jonathan Lennox, and Uwe | Hellstrom, Christer Holmberg, Paul Kyzivat, Jonathan Lennox, and Uwe | |||
Rauschenbach for their invaluable comments. | Rauschenbach for their invaluable comments. | |||
10. CHANGE LOG | 10. CHANGE LOG | |||
10.1. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-06' | 10.1. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-07' | |||
o Changes addressing Christian Grove's WGLC review comments raised | o Addition of two new paragraphs to Section 5.1.2.1 regarding | |||
subprotocol attribute relationship with transport protocol. | ||||
o Addition of a note to Section 8.1 regarding subprotocols | ||||
simultaneously defined for data channel and Websocket usage. | ||||
o Addition of two further SDP offer/answer considerations to | ||||
Section 5.2.5 regarding unknown subprotocol attributes and known | ||||
subprotocol attributes with unknown data channel transport related | ||||
semantic. | ||||
10.2. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-06' | ||||
o Changes addressing Christian Groves's WGLC review comments raised | ||||
in http://www.ietf.org/mail-archive/web/mmusic/current/ | in http://www.ietf.org/mail-archive/web/mmusic/current/ | |||
msg15357.html and http://www.ietf.org/mail- | msg15357.html and http://www.ietf.org/mail- | |||
archive/web/mmusic/current/msg15359.html. | archive/web/mmusic/current/msg15359.html. | |||
10.2. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-05' | 10.3. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-05' | |||
o In IANA registration Section 8.2.1 and Section 8.2.2 replacement | o In IANA registration Section 8.2.1 and Section 8.2.2 replacement | |||
of contact name and e-mail address with "MMUSIC Chairs" and | of contact name and e-mail address with "MMUSIC Chairs" and | |||
"mmusic-chairs@ietf.org". | "mmusic-chairs@ietf.org". | |||
o In Section 5.1.2.1 replacement of "Thus in the example above, the | o In Section 5.1.2.1 replacement of "Thus in the example above, the | |||
original attribute line "a=accept- types:text/plain" is | original attribute line "a=accept- types:text/plain" is | |||
represented by the attribute line "a=dcsa:2 accept-types:text/ | represented by the attribute line "a=dcsa:2 accept-types:text/ | |||
plain", which specifies that this instance of MSRP being | plain", which specifies that this instance of MSRP being | |||
transported on the SCTP association using the data channel with | transported on the SCTP association using the data channel with | |||
skipping to change at page 22, line 23 | skipping to change at page 23, line 42 | |||
o Move of the last but one paragraph of Section 5.1.2.1 starting | o Move of the last but one paragraph of Section 5.1.2.1 starting | |||
with "The same syntax applies to ..." right in front of the formal | with "The same syntax applies to ..." right in front of the formal | |||
syntax definition of the "dcsa" attribute. | syntax definition of the "dcsa" attribute. | |||
o Modifications of the text in Section 5.1.1.2 and Section 5.1.2.2 | o Modifications of the text in Section 5.1.1.2 and Section 5.1.2.2 | |||
in order not to explicitly restrict usage of the "a=dcmap:" and | in order not to explicitly restrict usage of the "a=dcmap:" and | |||
"a=dcsa:" attributes to "m" lines with proto values "UDP/DTLS/ | "a=dcsa:" attributes to "m" lines with proto values "UDP/DTLS/ | |||
SCTP" or "TCP/DTLS/SCTP". | SCTP" or "TCP/DTLS/SCTP". | |||
10.3. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-04' | 10.4. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-04' | |||
o In Section 5.1.1.5 the first (and only) paragraph was "The | o In Section 5.1.1.5 the first (and only) paragraph was "The | |||
'subprotocol' parameter indicates which protocol the client | 'subprotocol' parameter indicates which protocol the client | |||
expects to exchange via the channel. 'Subprotocol' is an optional | expects to exchange via the channel. 'Subprotocol' is an optional | |||
parameter. If the 'subprotocol' parameter is not present, then | parameter. If the 'subprotocol' parameter is not present, then | |||
its value defaults to the empty string." Replacement of this | its value defaults to the empty string." Replacement of this | |||
paragraph with following two paragraphs: | paragraph with following two paragraphs: | |||
* The 'subprotocol' parameter indicates which protocol the client | * The 'subprotocol' parameter indicates which protocol the client | |||
expects to exchange via the channel. This parameter maps to | expects to exchange via the channel. This parameter maps to | |||
skipping to change at page 23, line 17 | skipping to change at page 24, line 34 | |||
o Addition of new Section 5.1.1.2 describing the mux category of the | o Addition of new Section 5.1.1.2 describing the mux category of the | |||
dcmap SDP attribute. This section and the new "a=dcsa:" attribute | dcmap SDP attribute. This section and the new "a=dcsa:" attribute | |||
related mux category section are similar to the "Mux Category" | related mux category section are similar to the "Mux Category" | |||
sections of the "a=sctp-port:" and "a=max-message-size:" | sections of the "a=sctp-port:" and "a=max-message-size:" | |||
attributes in [I-D.ietf-mmusic-sctp-sdp]. | attributes in [I-D.ietf-mmusic-sctp-sdp]. | |||
o Addition of new Section 5.1.2.2 describing the mux category of the | o Addition of new Section 5.1.2.2 describing the mux category of the | |||
dcsa SDP attribute. | dcsa SDP attribute. | |||
10.4. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-03' | 10.5. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-03' | |||
o In Section 1 replacement of "RTCWeb leaves it open for other | o In Section 1 replacement of "RTCWeb leaves it open for other | |||
applications to use data channels and its in-band DCEP or out-of- | applications to use data channels and its in-band DCEP or out-of- | |||
band non-DCEP protocols for creating them" with "... to use data | band non-DCEP protocols for creating them" with "... to use data | |||
channels and its in-band DCEP or other in-band or out-of-band | channels and its in-band DCEP or other in-band or out-of-band | |||
protocols for creating them". Additionally replacement of "In | protocols for creating them". Additionally replacement of "In | |||
particular, the SDP offer generated by the application includes no | particular, the SDP offer generated by the application includes no | |||
channel-specific information" with "... generated by the RTCweb | channel-specific information" with "... generated by the RTCweb | |||
data channel stack includes no channel-specific information". | data channel stack includes no channel-specific information". | |||
skipping to change at page 24, line 28 | skipping to change at page 25, line 44 | |||
o In Section 5.2.1 replacement of "However, an SDP offer/answer | o In Section 5.2.1 replacement of "However, an SDP offer/answer | |||
exchange MUST NOT be initiated if the associated SCTP stream is | exchange MUST NOT be initiated if the associated SCTP stream is | |||
already negotiated via DCEP" with "However, an SCTP stream MUST | already negotiated via DCEP" with "However, an SCTP stream MUST | |||
NOT be referenced in a dcmap or dcsa attribute of an SDP offer/ | NOT be referenced in a dcmap or dcsa attribute of an SDP offer/ | |||
answer exchange if the associated SCTP stream has already been | answer exchange if the associated SCTP stream has already been | |||
negotiated via DCEP". | negotiated via DCEP". | |||
o In the examples in Section 6 addition of the previously missing | o In the examples in Section 6 addition of the previously missing | |||
colons to the "a=sctp-port" attribute lines. | colons to the "a=sctp-port" attribute lines. | |||
10.5. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-02' | 10.6. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-02' | |||
o Move of reference [I-D.ietf-rtcweb-jsep] from the list of | o Move of reference [I-D.ietf-rtcweb-jsep] from the list of | |||
normative references to the list of informative references. | normative references to the list of informative references. | |||
o Addition of [IANA-SDP-Parameters] to the list of informative | o Addition of [IANA-SDP-Parameters] to the list of informative | |||
references and addition of following two sentences to the first | references and addition of following two sentences to the first | |||
paragraph after the ABNF definition: "Note however that not all | paragraph after the ABNF definition: "Note however that not all | |||
SDP attributes are suitable as "a=dcsa:" parameter. | SDP attributes are suitable as "a=dcsa:" parameter. | |||
[IANA-SDP-Parameters] contains the lists of IANA registered | [IANA-SDP-Parameters] contains the lists of IANA registered | |||
session and media level or media level only SDP attributes." | session and media level or media level only SDP attributes." | |||
o In the introduction replacement of last sentence "This document | o In the introduction replacement of last sentence "This document | |||
defines SDP-based out-of-band negotiation procedures to establish | defines SDP-based out-of-band negotiation procedures to establish | |||
data channels for transport of well-defined subprotocols" with | data channels for transport of well-defined subprotocols" with | |||
"This document defines SDP offer/answer negotiation procedures to | "This document defines SDP offer/answer negotiation procedures to | |||
establish data channels for transport of well-defined | establish data channels for transport of well-defined | |||
subprotocols, to enable out-of-band negotiation". | subprotocols, to enable out-of-band negotiation". | |||
skipping to change at page 25, line 31 | skipping to change at page 26, line 45 | |||
a=dcmap". | a=dcmap". | |||
o Move of reference [WebRtcAPI] from list of normative references to | o Move of reference [WebRtcAPI] from list of normative references to | |||
list of informative references. | list of informative references. | |||
o Removal of almost all text parts, which discussed JavaScript or | o Removal of almost all text parts, which discussed JavaScript or | |||
other API specific aspects. Such API specific aspects were mainly | other API specific aspects. Such API specific aspects were mainly | |||
discussed in sub-sections of Section 5 and Section 5 of draft- | discussed in sub-sections of Section 5 and Section 5 of draft- | |||
ietf-mmusic-data-channel-sdpneg-02. | ietf-mmusic-data-channel-sdpneg-02. | |||
10.6. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-01' | 10.7. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-01' | |||
o New Section 4 regarding applicability to SDP offer/answer only. | o New Section 4 regarding applicability to SDP offer/answer only. | |||
o Addition of new Section 8.1 "Subprotocol identifiers" as | o Addition of new Section 8.1 "Subprotocol identifiers" as | |||
subsection of the "IANA Considerations" related Section 8. Also | subsection of the "IANA Considerations" related Section 8. Also | |||
removal of the temporary note "To be completed. As [I-D.ietf- | removal of the temporary note "To be completed. As [I-D.ietf- | |||
rtcweb-data-protocol] this document should refer to IANA's | rtcweb-data-protocol] this document should refer to IANA's | |||
WebSocket Subprotocol Name Registry defined in [RFC6455]." | WebSocket Subprotocol Name Registry defined in [RFC6455]." | |||
o In Section 5.2.2: | o In Section 5.2.2: | |||
skipping to change at page 27, line 36 | skipping to change at page 29, line 5 | |||
* In the last but one paragraph replacement of "must" with "The | * In the last but one paragraph replacement of "must" with "The | |||
application MUST also close...". | application MUST also close...". | |||
o In Section 5.1.2 addition of following note after the formal | o In Section 5.1.2 addition of following note after the formal | |||
definition of the 'a=dcsa' attribute: "Note that the above | definition of the 'a=dcsa' attribute: "Note that the above | |||
reference to RFC 4566 defines were the attribute definition can be | reference to RFC 4566 defines were the attribute definition can be | |||
found; it does not provide any limitation on support of attributes | found; it does not provide any limitation on support of attributes | |||
defined in other documents in accordance with this attribute | defined in other documents in accordance with this attribute | |||
definition." | definition." | |||
10.7. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-00' | 10.8. Changes against 'draft-ietf-mmusic-data-channel-sdpneg-00' | |||
o In Section 3 "WebRTC data channel" was defined as "A bidirectional | o In Section 3 "WebRTC data channel" was defined as "A bidirectional | |||
channel consisting of paired SCTP outbound and inbound streams." | channel consisting of paired SCTP outbound and inbound streams." | |||
Replacement of this definition with "Data channel: A WebRTC data | Replacement of this definition with "Data channel: A WebRTC data | |||
channel as specified in [I-D.ietf-rtcweb-data-channel]", and | channel as specified in [I-D.ietf-rtcweb-data-channel]", and | |||
consistent usage of "data channel" in the remainder of the | consistent usage of "data channel" in the remainder of the | |||
document including the document's headline." | document including the document's headline." | |||
o In Section 5 removal of following note: 'OPEN ISSUE: The syntax in | o In Section 5 removal of following note: 'OPEN ISSUE: The syntax in | |||
[I-D.ietf-mmusic-sctp-sdp] may change as that document progresses. | [I-D.ietf-mmusic-sctp-sdp] may change as that document progresses. | |||
skipping to change at page 30, line 22 | skipping to change at page 31, line 39 | |||
to handle cases where a successful SDP answer is not received, in | to handle cases where a successful SDP answer is not received, in | |||
which case the state of the session SHOULD be kept per the last | which case the state of the session SHOULD be kept per the last | |||
successful SDP offer/answer." | successful SDP offer/answer." | |||
o Although dedicated to "a=dcmap" and "a=dcsa" SDP syntax aspects | o Although dedicated to "a=dcmap" and "a=dcsa" SDP syntax aspects | |||
Section 5.1.1 contained already procedural descriptions related to | Section 5.1.1 contained already procedural descriptions related to | |||
data channel reliability negotiation. Creation of new | data channel reliability negotiation. Creation of new | |||
Section 5.2.2 and moval of reliability negotiation related text to | Section 5.2.2 and moval of reliability negotiation related text to | |||
this new section. | this new section. | |||
10.8. Changes against 'draft-ejzak-mmusic-data-channel-sdpneg-02' | 10.9. Changes against 'draft-ejzak-mmusic-data-channel-sdpneg-02' | |||
o Removal of note "[ACTION ITEM]" from section "subprotocol | o Removal of note "[ACTION ITEM]" from section "subprotocol | |||
parameter". As [I-D.ietf-rtcweb-data-protocol] this document | parameter". As [I-D.ietf-rtcweb-data-protocol] this document | |||
should refer to IANA's WebSocket Subprotocol Name Registry defined | should refer to IANA's WebSocket Subprotocol Name Registry defined | |||
in [RFC6455]. | in [RFC6455]. | |||
o In whole document, replacement of "unreliable" with "partially | o In whole document, replacement of "unreliable" with "partially | |||
reliable", which is used in [I-D.ietf-rtcweb-data-channel] and in | reliable", which is used in [I-D.ietf-rtcweb-data-channel] and in | |||
[I-D.ietf-rtcweb-data-protocol] in most places. | [I-D.ietf-rtcweb-data-protocol] in most places. | |||
skipping to change at page 31, line 24 | skipping to change at page 32, line 41 | |||
o In the "Examples" section, in the first two SDP offer examples in | o In the "Examples" section, in the first two SDP offer examples in | |||
the a=dcmap attribute lines 'label="BGCP"' was replaced with | the a=dcmap attribute lines 'label="BGCP"' was replaced with | |||
'label="BFCP"'. | 'label="BFCP"'. | |||
o In all examples, the "m" line proto value "DTLS/SCTP" was replaced | o In all examples, the "m" line proto value "DTLS/SCTP" was replaced | |||
with "UDP/DTLS/SCTP" and the "a=fmtp" attribute lines were | with "UDP/DTLS/SCTP" and the "a=fmtp" attribute lines were | |||
replaced with "a=max-message-size" attribute lines, as per draft- | replaced with "a=max-message-size" attribute lines, as per draft- | |||
ietf-mmusic-sctp-sdp-12. | ietf-mmusic-sctp-sdp-12. | |||
10.9. Changes against '-01' | 10.10. Changes against '-01' | |||
o Formal syntax for dcmap and dcsa attribute lines. | o Formal syntax for dcmap and dcsa attribute lines. | |||
o Making subprotocol as an optional parameter in dcmap. | o Making subprotocol as an optional parameter in dcmap. | |||
o Specifying disallowed parameter combinations for max-time and max- | o Specifying disallowed parameter combinations for max-time and max- | |||
retr. | retr. | |||
o Clarifications on WebRTC data channel close procedures. | o Clarifications on WebRTC data channel close procedures. | |||
10.10. Changes against '-00' | 10.11. Changes against '-00' | |||
o Revisions to identify difference between internal and external | o Revisions to identify difference between internal and external | |||
negotiation and their usage. | negotiation and their usage. | |||
o Introduction of more generic terminology, e.g. "application" | o Introduction of more generic terminology, e.g. "application" | |||
instead of "browser". | instead of "browser". | |||
o Clarification of how "max-retr and max-time affect the usage of | o Clarification of how "max-retr and max-time affect the usage of | |||
unreliable and reliable WebRTC data channels. | unreliable and reliable WebRTC data channels. | |||
skipping to change at page 32, line 43 | skipping to change at page 34, line 13 | |||
progress), January 2015. | progress), January 2015. | |||
[I-D.ietf-mmusic-sctp-sdp] | [I-D.ietf-mmusic-sctp-sdp] | |||
Holmberg, C., Loreto, S., and G. Camarillo, "Stream | Holmberg, C., Loreto, S., and G. Camarillo, "Stream | |||
Control Transmission Protocol (SCTP)-Based Media Transport | Control Transmission Protocol (SCTP)-Based Media Transport | |||
in the Session Description Protocol (SDP)", draft-ietf- | in the Session Description Protocol (SDP)", draft-ietf- | |||
mmusic-sctp-sdp-15 (work in progress), September 2015. | mmusic-sctp-sdp-15 (work in progress), September 2015. | |||
[I-D.ietf-mmusic-sdp-mux-attributes] | [I-D.ietf-mmusic-sdp-mux-attributes] | |||
Nandakumar, S., "A Framework for SDP Attributes when | Nandakumar, S., "A Framework for SDP Attributes when | |||
Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-10 | Multiplexing", draft-ietf-mmusic-sdp-mux-attributes-12 | |||
(work in progress), July 2015. | (work in progress), January 2016. | |||
11.2. Informative References | 11.2. Informative References | |||
[I-D.ietf-rtcweb-data-protocol] | [I-D.ietf-rtcweb-data-protocol] | |||
Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel | |||
Establishment Protocol", draft-ietf-rtcweb-data- | Establishment Protocol", draft-ietf-rtcweb-data- | |||
protocol-09 (work in progress), January 2015. | protocol-09 (work in progress), January 2015. | |||
[RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | |||
RFC 4960, DOI 10.17487/RFC4960, September 2007, | RFC 4960, DOI 10.17487/RFC4960, September 2007, | |||
skipping to change at page 36, line 18 | skipping to change at page 37, line 32 | |||
negotiated without DCEP, the data channel stack always performs an | negotiated without DCEP, the data channel stack always performs an | |||
SCTP SSN reset for this channel. | SCTP SSN reset for this channel. | |||
Depending upon the method used for DCEP-less negotiation and the | Depending upon the method used for DCEP-less negotiation and the | |||
subprotocol associated with the data channel, the closing might in | subprotocol associated with the data channel, the closing might in | |||
addition be signaled to the peer via SDP offer/answer negotiation. | addition be signaled to the peer via SDP offer/answer negotiation. | |||
Authors' Addresses | Authors' Addresses | |||
Keith Drage (editor) | Keith Drage (editor) | |||
Alcatel-Lucent | Nokia | |||
Quadrant, Stonehill Green, Westlea | Quadrant, Stonehill Green, Westlea | |||
Swindon | Swindon | |||
UK | UK | |||
Email: keith.drage@alcatel-lucent.com | Email: Keith.Drage@nokia.com | |||
Maridi R. Makaraju (Raju) | Maridi R. Makaraju (Raju) | |||
Alcatel-Lucent | Nokia | |||
2000 Lucent Lane | 2000 Lucent Lane | |||
Naperville, Illinois | Naperville, Illinois | |||
US | US | |||
Email: Raju.Makaraju@alcatel-lucent.com | Email: Raju.Makaraju@nokia.com | |||
Juergen Stoetzer-Bradler | Juergen Stoetzer-Bradler | |||
Alcatel-Lucent | Nokia | |||
Lorenzstrasse 10 | Lorenzstrasse 10 | |||
D-70435 Stuttgart | D-70435 Stuttgart | |||
Germany | Germany | |||
Email: Juergen.Stoetzer-Bradler@alcatel-lucent.com | Email: Juergen.Stoetzer-Bradler@nokia.com | |||
Richard Ejzak | Richard Ejzak | |||
Unaffiliated | Unaffiliated | |||
Email: richard.ejzak@gmail.com | Email: richard.ejzak@gmail.com | |||
Jerome Marcon | Jerome Marcon | |||
Unaffiliated | Unaffiliated | |||
End of changes. 42 change blocks. | ||||
66 lines changed or deleted | 121 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |