rfc8864v11.txt | rfc8864.txt | |||
---|---|---|---|---|
skipping to change at line 299 ¶ | skipping to change at line 299 ¶ | |||
a=dcmap:2 subprotocol="msrp";ordered=true;label="msrp" | a=dcmap:2 subprotocol="msrp";ordered=true;label="msrp" | |||
a=dcmap:3 label="Label 1";ordered=false;max-retr=5;priority=128 | a=dcmap:3 label="Label 1";ordered=false;max-retr=5;priority=128 | |||
a=dcmap:4 label="foo%09bar";ordered=true;max-time=15000 | a=dcmap:4 label="foo%09bar";ordered=true;max-time=15000 | |||
| Note: The last example (a=dcmap:4) shows a 'label' parameter | | Note: The last example (a=dcmap:4) shows a 'label' parameter | |||
| value that contains one nonprintable 'escaped-char' character | | value that contains one nonprintable 'escaped-char' character | |||
| (the tabulator character). | | (the tabulator character). | |||
Within an "a=dcmap:" attribute line's 'dcmap-opt' value, only one | Within an "a=dcmap:" attribute line's 'dcmap-opt' value, only one | |||
'maxretr-opt' parameter or one 'maxtime-opt' parameter may be | 'maxretr-opt' parameter or one 'maxtime-opt' parameter may be | |||
present. Both MUST NOT be present. | present. Both parameters MUST NOT be present. | |||
5.1.2. 'dcmap-stream-id' Parameter | 5.1.2. 'dcmap-stream-id' Parameter | |||
The 'dcmap-stream-id' parameter indicates the SCTP stream identifier | The 'dcmap-stream-id' parameter indicates the SCTP stream identifier | |||
within the SCTP association used to form the data channel. | within the SCTP association used to form the data channel. | |||
5.1.3. 'label' Parameter | 5.1.3. 'label' Parameter | |||
The 'label' parameter indicates the name of the channel. It | The 'label' parameter indicates the name of the channel. It | |||
represents a label that can be used to distinguish, in the context of | represents a label that can be used to distinguish, in the context of | |||
skipping to change at line 328 ¶ | skipping to change at line 328 ¶ | |||
* Serialize the WebRTC label as a UTF-8 string [RFC3629]. | * Serialize the WebRTC label as a UTF-8 string [RFC3629]. | |||
* Treat the UTF-8 serialization as a series of bytes. | * Treat the UTF-8 serialization as a series of bytes. | |||
* For each byte in the serialization, | * For each byte in the serialization, | |||
- If the byte can be expressed as a 'quoted-char', do so. | - If the byte can be expressed as a 'quoted-char', do so. | |||
- Otherwise, express the byte as an 'escaped-char'. | - Otherwise, express the byte as an 'escaped-char'. | |||
| Note: The empty string MAY also be explicitly used as a 'label' | | Note: The empty string can also be explicitly used as a 'label' | |||
| value, such that 'label=""' is equivalent to the 'label' | | value, such that 'label=""' is equivalent to the 'label' | |||
| parameter not being present at all. [RFC8832] allows the | | parameter not being present at all. [RFC8832] allows the | |||
| DATA_CHANNEL_OPEN message's 'Label' value to be an empty | | DATA_CHANNEL_OPEN message's 'Label' value to be an empty | |||
| string. | | string. | |||
5.1.4. 'subprotocol' Parameter | 5.1.4. 'subprotocol' Parameter | |||
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 the | expects to exchange via the channel. This parameter maps to the | |||
'Protocol' parameter defined in [RFC8832]. Section 9.1 specifies how | 'Protocol' parameter defined in [RFC8832]. Section 9.1 specifies how | |||
values for new subprotocol parameters are registered. 'subprotocol' | values for new subprotocol parameters are registered. 'subprotocol' | |||
is an optional parameter. If the 'subprotocol' parameter is not | is an optional parameter. If the 'subprotocol' parameter is not | |||
present, then its value defaults to an empty string. | present, then its value defaults to an empty string. | |||
| Note: The empty string MAY also be explicitly used as a | | Note: The empty string can also be explicitly used as a | |||
| 'subprotocol' value, such that 'subprotocol=""' is equivalent | | 'subprotocol' value, such that 'subprotocol=""' is equivalent | |||
| to the 'subprotocol' parameter not being present at all. | | to the 'subprotocol' parameter not being present at all. | |||
| [RFC8832] allows the DATA_CHANNEL_OPEN message's 'Protocol' | | [RFC8832] allows the DATA_CHANNEL_OPEN message's 'Protocol' | |||
| value to be an empty string. | | value to be an empty string. | |||
5.1.5. 'max-retr' Parameter | 5.1.5. 'max-retr' Parameter | |||
This parameter indicates that the data channel is partially reliable. | This parameter indicates that the data channel is partially reliable. | |||
The 'max-retr' parameter indicates the maximal number of times a user | The 'max-retr' parameter indicates the maximal number of times a user | |||
message will be retransmitted. The 'max-retr' parameter is optional. | message will be retransmitted. The 'max-retr' parameter is optional. | |||
skipping to change at line 477 ¶ | skipping to change at line 477 ¶ | |||
dcsa-value = stream-id SP attribute | dcsa-value = stream-id SP attribute | |||
stream-id = 1*5DIGIT | stream-id = 1*5DIGIT | |||
attribute = <from RFC 8866> | attribute = <from RFC 8866> | |||
Example: | Example: | |||
a=dcmap:2 subprotocol="msrp";ordered=true;label="msrp" | a=dcmap:2 subprotocol="msrp";ordered=true;label="msrp" | |||
a=dcsa:2 accept-types:text/plain | a=dcsa:2 accept-types:text/plain | |||
Note that the reference to [RFC8866] defines where the attribute | The reference to [RFC8866] defines where the attribute definition can | |||
definition can be found; it does not provide any limitations on | be found; it does not provide any limitations on support of | |||
support of attributes defined in other documents in accordance with | attributes defined in other documents in accordance with this | |||
this attribute definition. Note, however, that not all SDP | attribute definition. However, not all SDP attributes are suitable | |||
attributes are suitable as an "a=dcsa:" parameter. The registry of | as an "a=dcsa:" parameter. The registry of IANA SDP parameters | |||
IANA SDP parameters contains the lists of IANA-registered session- | contains the lists of IANA-registered session-level and media-level | |||
level and media-level or media-level-only SDP attributes. | or media-level-only SDP attributes. | |||
Thus, in the example above, the original attribute line | Thus, in the example above, the original attribute line | |||
"a=accept-types:text/plain" is represented by the attribute line | "a=accept-types:text/plain" is represented by the attribute line | |||
"a=dcsa:2 accept-types:text/plain", which specifies that this | "a=dcsa:2 accept-types:text/plain", which specifies that this | |||
instance of the MSRP subprotocol being transported on the SCTP | instance of the MSRP subprotocol being transported on the SCTP | |||
association using the data channel with stream id 2 accepts plaintext | association using the data channel with stream id 2 accepts plaintext | |||
files. | 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 | |||
skipping to change at line 813 ¶ | skipping to change at line 813 ¶ | |||
This document specifies new SDP attributes used in the negotiation of | This document specifies new SDP attributes used in the negotiation of | |||
data channel parameters. | data channel parameters. | |||
These parameters are negotiated as part of opening an SCTP channel | These parameters are negotiated as part of opening an SCTP channel | |||
over DTLS as specified in [RFC8841]. Each subprotocol may come with | over DTLS as specified in [RFC8841]. Each subprotocol may come with | |||
its own security considerations that need to be documented as part of | its own security considerations that need to be documented as part of | |||
the subprotocol definition. Otherwise, this document does not add | the subprotocol definition. Otherwise, this document does not add | |||
any security considerations to those specified in [RFC8841]. | any security considerations to those specified in [RFC8841]. | |||
Such error cases as the use of unknown parameter values or violations | Error cases such as the use of unknown parameter values or violations | |||
of the odd/even rule (Section 6.1) MUST be handled by closing the | of the odd/even rule (Section 6.1) MUST be handled by closing the | |||
corresponding data channel. | corresponding data channel. | |||
9. IANA Considerations | 9. IANA Considerations | |||
9.1. Subprotocol Identifiers | 9.1. Subprotocol Identifiers | |||
Registration of new subprotocol identifiers is performed using the | Registration of new subprotocol identifiers is performed using the | |||
existing IANA "WebSocket Subprotocol Name Registry" table. | existing IANA "WebSocket Subprotocol Name Registry" table. | |||
skipping to change at line 1026 ¶ | skipping to change at line 1026 ¶ | |||
DOI 10.17487/RFC8873, January 2021, | DOI 10.17487/RFC8873, January 2021, | |||
<https://www.rfc-editor.org/info/rfc8873>. | <https://www.rfc-editor.org/info/rfc8873>. | |||
[T38] International Telecommunication Union, "Procedures for | [T38] International Telecommunication Union, "Procedures for | |||
real-time Group 3 facsimile communication over IP | real-time Group 3 facsimile communication over IP | |||
networks", ITU-T Recommendation T.38, November 2015, | networks", ITU-T Recommendation T.38, November 2015, | |||
<https://www.itu.int/rec/T-REC-T.38-201511-I/en>. | <https://www.itu.int/rec/T-REC-T.38-201511-I/en>. | |||
[WebRtcAPI] | [WebRtcAPI] | |||
Jennings, C., Boström, H., and J-I. Bruaroey, "WebRTC 1.0: | Jennings, C., Boström, H., and J-I. Bruaroey, "WebRTC 1.0: | |||
Real-time Communication Between Browsers", W3C Candidate | Real-time Communication Between Browsers", W3C Proposed | |||
Recommendation, <https://www.w3.org/TR/webrtc/>. | Recommendation, <https://www.w3.org/TR/webrtc/>. | |||
Appendix A. Generic Data Channel Negotiation Aspects when Not Using | Appendix A. Generic Data Channel Negotiation Aspects when Not Using | |||
DCEP | DCEP | |||
This appendix summarizes how data channels work in general and | This appendix summarizes how data channels work in general and | |||
discusses some key aspects that should be considered for the out-of- | discusses some key aspects that should be considered for the out-of- | |||
band negotiation of data channels if DCEP is not used. | band negotiation of data channels if DCEP is not used. | |||
A WebRTC application creates a data channel by providing a number of | A WebRTC application creates a data channel by providing a number of | |||
End of changes. 6 change blocks. | ||||
12 lines changed or deleted | 12 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |