summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8873.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8873.txt')
-rw-r--r--doc/rfc/rfc8873.txt877
1 files changed, 877 insertions, 0 deletions
diff --git a/doc/rfc/rfc8873.txt b/doc/rfc/rfc8873.txt
new file mode 100644
index 0000000..215590f
--- /dev/null
+++ b/doc/rfc/rfc8873.txt
@@ -0,0 +1,877 @@
+
+
+
+
+Internet Engineering Task Force (IETF) JM. Recio, Ed.
+Request for Comments: 8873 Unaffiliated
+Updates: 4975 C. Holmberg
+Category: Standards Track Ericsson
+ISSN: 2070-1721 January 2021
+
+
+ Message Session Relay Protocol (MSRP) over Data Channels
+
+Abstract
+
+ This document specifies how a Web Real-Time Communication (WebRTC)
+ data channel can be used as a transport mechanism for the Message
+ Session Relay Protocol (MSRP) and how the Session Description
+ Protocol (SDP) offer/answer mechanism can be used to negotiate such a
+ data channel, referred to as an MSRP data channel. Two network
+ configurations are supported: the connection of two MSRP data channel
+ endpoints; and a gateway configuration, which connects an MSRP data
+ channel endpoint with an MSRP endpoint that uses either TCP or TLS.
+ This document updates RFC 4975.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8873.
+
+Copyright Notice
+
+ Copyright (c) 2021 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 2. Conventions
+ 3. WebRTC Data Channel Considerations
+ 3.1. MSRP Data Channel
+ 4. SDP Considerations
+ 4.1. MSRP URI
+ 4.2. MSRP URI msrp-scheme
+ 4.3. Use of the 'dcmap' Attribute
+ 4.4. Use of the 'dcsa' Attribute
+ 4.5. Use of the DCSA-Embedded 'setup' Attribute
+ 4.6. Session Closing
+ 4.7. Support for MSRP File Transfer Function
+ 4.8. Example
+ 5. MSRP Considerations
+ 5.1. Session Mapping
+ 5.2. Session Opening
+ 5.3. Session Closing
+ 5.4. Data Framing
+ 5.5. Data Sending, Receiving, and Reporting
+ 5.6. Support for MSRP File Transfer Function
+ 6. Gateway Considerations
+ 7. Updates to RFC 4975
+ 8. Security Considerations
+ 9. IANA Considerations
+ 9.1. "msrps" URI scheme
+ 9.2. Subprotocol Identifier "msrp"
+ 9.3. SDP Attributes
+ 10. References
+ 10.1. Normative References
+ 10.2. Informative References
+ Acknowledgments
+ Authors' Addresses
+
+1. Introduction
+
+ The Message Session Relay Protocol (MSRP) [RFC4975] is a protocol for
+ transmitting a series of related instant messages in the context of a
+ session. In addition to instant messaging, MSRP can also be used for
+ image sharing or file transfer. MSRP was initially defined in
+ [RFC4975] to work over TCP and TLS connections, and over a WebSocket
+ subprotocol specified by [RFC7977].
+
+ This document specifies how a Web Real-Time Communication (WebRTC)
+ data channel [RFC8831] can be used as a transport mechanism for MSRP
+ without the TCP and TLS layers, and how the Session Description
+ Protocol (SDP) offer/answer mechanism for data channels [RFC8864] can
+ be used to negotiate such a data channel.
+
+ In this document, an MSRP data channel refers to a WebRTC data
+ channel for which the instantiated subprotocol is "msrp" and the data
+ channel is negotiated using the SDP offer/answer mechanism [RFC8864].
+
+ Defining MSRP as a data channel subprotocol has many benefits:
+
+ * provides to applications a proven protocol enabling instant
+ messaging, file transfer, image sharing
+
+ * integrates those features with other WebRTC voice, video, and data
+ features
+
+ * leverages the SDP-based negotiation already defined for MSRP
+
+ * allows the interworking with MSRP endpoints running on a TCP or
+ TLS connection
+
+ Compared to the WebSocket protocol, which provides a message-passing
+ protocol to applications with no direct access to TCP or TLS sockets,
+ data channels provide a low-latency transport and leverage NAT-aware
+ connectivity and the security features of WebRTC.
+
+ This document defines an MSRP data channel endpoint as an MSRP
+ application that uses a WebRTC data channel for MSRP transport. This
+ document describes configurations for connecting such endpoint to
+ another MSRP data channel endpoint, or to an MSRP endpoint that uses
+ either TCP or TLS transport.
+
+ This document updates [RFC4975] as described in Section 7.
+
+2. Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in BCP
+ 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+3. WebRTC Data Channel Considerations
+
+3.1. MSRP Data Channel
+
+ The following WebRTC data channel property values [RFC8831] apply to
+ an MSRP data channel:
+
+ +==========================+=================+
+ | Property | Value |
+ +==========================+=================+
+ | Subprotocol Identifier | msrp |
+ +--------------------------+-----------------+
+ | Transmission reliability | reliable |
+ +--------------------------+-----------------+
+ | Transmission order | in-order |
+ +--------------------------+-----------------+
+ | Label | See Section 4.3 |
+ +--------------------------+-----------------+
+
+ Table 1
+
+4. SDP Considerations
+
+ The generic SDP considerations, including the SDP offer/answer
+ procedures [RFC3264], for negotiating a WebRTC data channel are
+ defined in [RFC8864]. This section and its subsections define the
+ SDP considerations that are specific to an MSRP data channel,
+ identified by the "subprotocol" attribute parameter, with an "msrp"
+ parameter value in the 'dcmap' attribute.
+
+4.1. MSRP URI
+
+ This document extends the MSRP URI syntax [RFC4975] by defining the
+ new transport parameter value "dc" (an abbreviation of data channel):
+
+ transport /= "dc"
+ ; Add "dc" to existing transports per Section 9 of [RFC4975]
+
+ MSRP design provides for new transport bindings (see Section 6 of
+ [RFC4975]). MSRP implementations are expected to allow unrecognized
+ transports for which there is no need to establish a connection to
+ the resource described by the URI, as is the case of data channels
+ (Section 4.4).
+
+4.2. MSRP URI msrp-scheme
+
+ The msrp-scheme portion of the MSRP URI that represents an MSRP data
+ channel endpoint (used in the SDP 'path' attribute and in the MSRP
+ message headers) is always "msrps", which indicates that the MSRP
+ data channel is always secured using DTLS as described in [RFC8831].
+
+4.3. Use of the 'dcmap' Attribute
+
+ An offerer and answerer SHALL, in each offer and answer, include a
+ 'dcmap' attribute [RFC8864] in the SDP media description ("m="
+ section) [RFC4566] describing the SCTP association [RFC4960] used to
+ realize the MSRP data channel.
+
+ The attribute includes the following data channel parameters:
+
+ * "label=" labelstring
+
+ * "subprotocol=" "msrp"
+
+ The labelstring is set by the MSRP application according to
+ [RFC8864].
+
+ The offerer and answerer SHALL NOT include the "max-retr" and the
+ "max-time" attribute parameters in the 'dcmap' attribute.
+
+ The offerer and answerer MAY include the "ordered" attribute
+ parameter in the 'dcmap' attribute. If included, the attribute
+ parameter value SHALL be set to "true".
+
+ Below is an example of a 'dcmap' attribute for an MSRP session to be
+ negotiated with the "dcmap-stream-id" parameter set to 2 and the
+ "label" parameter set to "chat":
+
+ a=dcmap:2 label="chat";subprotocol="msrp"
+
+4.4. Use of the 'dcsa' Attribute
+
+ An offerer and answerer can, in each offer and answer, include one or
+ more data channel subprotocol attributes ('dcsa' attributes)
+ [RFC8864] in the "m=" section describing the SCTP association used to
+ realize the MSRP data channel. An SDP attribute included in a 'dcsa'
+ attribute is referred to as a DCSA-embedded attribute.
+
+ If an offerer or answerer receives a 'dcsa' attribute that contains
+ an SDP attribute for which usage has not been defined for an MSRP
+ data channel, the offerer or answerer should ignore the 'dcsa'
+ attribute, following the rules in Section 6.7 of [RFC8864].
+
+ An offerer and answerer SHALL include a 'dcsa' attribute for each of
+ the following MSRP-specific SDP attributes:
+
+ * defined in [RFC4975]: 'path'.
+
+ * defined in [RFC6714]: 'msrp-cema'.
+
+ * defined in [RFC6135]: 'setup'. See Section 4.5.
+
+ It is considered a protocol error if one or more of the DCSA-embedded
+ attributes listed above are not included in an offer or answer.
+
+ An offerer and answerer MAY include a 'dcsa' attribute for any of the
+ following MSRP-specific SDP attributes, following the procedures
+ defined for each attribute:
+
+ * defined in [RFC4975]: 'accept-types', 'accept-wrapped-types', and
+ 'max-size'.
+
+ * defined in [RFC4566]: 'sendonly', 'recvonly', 'inactive', and
+ 'sendrecv'.
+
+ * defined in [RFC5547]: all the parameters related to MSRP file
+ transfer. See Section 4.7.
+
+ A subsequent offer or answer MAY update the previously negotiated
+ MSRP subprotocol attributes while keeping the 'dcmap' attribute
+ associated with the MSRP data channel unchanged. The semantics for
+ newly negotiated MSRP subprotocol attributes are per [RFC4975].
+
+ When MSRP messages are transported on a data channel, the 'path'
+ attribute is not used for the routing of the messages. The MSRP data
+ channel is established using the SDP offer/answer procedures defined
+ in [RFC8864], and the MSRP messages are then transported on that data
+ channel. This is different from legacy MSRP [RFC4975] but similar to
+ MSRP Connection Establishment for Media Anchoring (MSRP CEMA)
+ [RFC6714]. Because of this, a DCSA-embedded 'msrp-cema' attribute is
+ mandated for MSRP sessions over data channels. However, when an
+ endpoint receives an MSRP message over a data channel, it MUST still
+ perform the MSRP URI comparison procedures defined in [RFC4975].
+
+4.5. Use of the DCSA-Embedded 'setup' Attribute
+
+ As described in Section 4.4, the usage of a DCSA-embedded 'setup'
+ attribute is mandated for MSRP sessions over data channels. It is
+ used to negotiate which MSRP data channel endpoint assumes the active
+ role as per Section 4.2.2 of [RFC6135] and Section 5.4 of [RFC4975].
+ It has no relationship with the DTLS connection establishment roles
+ [RFC8841].
+
+ The DCSA-embedded 'setup' attribute is of the form "a=dcsa:x
+ setup:<role>", with x being the data channel's SCTP stream
+ identifier, so that the 'setup' attribute is explicitly associated
+ with an MSRP session over a specific data channel.
+
+4.6. Session Closing
+
+ An MSRP session is closed by closing the associated data channel
+ following the procedures in [RFC8864].
+
+ The port value for the "m=" line SHOULD NOT be changed (e.g., to
+ zero) when closing an MSRP session (unless all data channels are
+ being closed and the SCTP association is no longer needed) since this
+ would close the SCTP association and impact all of the data channels.
+ In all cases in [RFC4975] where the procedure calls for setting the
+ port to zero in the MSRP "m=" line in an SDP offer for TCP transport,
+ the SDP offerer of an MSRP session with data channel transport SHALL
+ remove the corresponding 'dcmap' and 'dcsa' attributes.
+
+4.7. Support for MSRP File Transfer Function
+
+ SDP attributes specified in [RFC5547] for a file transfer "m=" line
+ are embedded as subprotocol-specific attributes using the syntax
+ defined in [RFC8864].
+
+4.8. Example
+
+ Below is an example of an offer and an answer that include the
+ attributes needed to establish two MSRP sessions: one for chat and
+ one for file transfer. The example is derived from a combination of
+ examples in [RFC4975] and [RFC5547].
+
+ Offer:
+
+ m=application 54111 UDP/DTLS/SCTP webrtc-datachannel
+ c=IN IP6 2001:db8::3
+ a=max-message-size:100000
+ a=sctp-port:5000
+ a=setup:actpass
+ a=fingerprint:SHA-256 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:4A:AD
+ a=tls-id:4a756565cddef001be82
+ a=dcmap:0 label="chat";subprotocol="msrp"
+ a=dcsa:0 msrp-cema
+ a=dcsa:0 setup:active
+ a=dcsa:0 accept-types:message/cpim text/plain
+ a=dcsa:0 path:msrps://2001:db8::3:54111/si438dsaodes;dc
+ a=dcmap:2 label="file transfer";subprotocol="msrp"
+ a=dcsa:2 sendonly
+ a=dcsa:2 msrp-cema
+ a=dcsa:2 setup:active
+ a=dcsa:2 accept-types:message/cpim
+ a=dcsa:2 accept-wrapped-types:*
+ a=dcsa:2 path:msrps://2001:db8::3:54111/jshA7we;dc
+ a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \
+ size:1463440 hash:sha-256:7C:DF:3E:5D:49:6B:19:E5:12:AB:4A:AD:\
+ 4A:B1:3F:82:3E:3B:54:12:02:5D:18:DF:49:6B:19:E5:7C:AB:B9:AD
+ a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep
+ a=dcsa:2 file-disposition:attachment
+ a=dcsa:2 file-date:creation:"Tue, 11 Aug 2020 19:05:30 +0200"
+ a=dcsa:2 file-icon:cid:id2@bob.example.com
+ a=dcsa:2 file-range:1-1463440
+
+ Answer:
+
+ m=application 51444 UDP/DTLS/SCTP webrtc-datachannel
+ c=IN IP6 IP6 2001:db8::1
+ a=max-message-size:100000
+ a=sctp-port:6000
+ a=setup:passive
+ a=fingerprint:SHA-256 5D:02:3E:AD:49:6B:19:E5:7C:AB:4A:AD:B9:\
+ B1:3F:82:18:3B:54:DF:12:6B:3E:5D:49:DF:19:E5:7C:AB:4A:5D
+ a=tls-id:65cd4a7565debe82f100
+ a=dcmap:0 label="chat";subprotocol="msrp"
+ a=dcsa:0 msrp-cema
+ a=dcsa:0 setup:passive
+ a=dcsa:0 accept-types:message/cpim text/plain
+ a=dcsa:0 path:msrps://2001:db8::1:51444/di551fsaodes;dc
+ a=dcmap:2 label="file transfer";subprotocol="msrp"
+ a=dcsa:2 recvonly
+ a=dcsa:2 msrp-cema
+ a=dcsa:2 setup:passive
+ a=dcsa:2 accept-types:message/cpim
+ a=dcsa:2 accept-wrapped-types:*
+ a=dcsa:2 path:msrps://2001:db8::1:51444/jksh7Bwc;dc
+ a=dcsa:2 file-selector:name:"picture1.jpg" type:image/jpeg \
+ size:1463440
+ a=dcsa:2 file-transfer-id:rjEtHAcYVZ7xKwGYpGGwyn5gqsSaU7Ep
+ a=dcsa:2 file-range:1-1463440
+
+ Note that due to RFC formatting conventions, this document splits SDP
+ content that exceeds 72 characters across lines, marking this line
+ folding with a backslash character. This backslash and its trailing
+ CRLF and whitespace would not appear in actual SDP content.
+
+5. MSRP Considerations
+
+ The procedures specified in [RFC4975] apply except when this document
+ specifies otherwise. This section describes the MSRP considerations
+ specific to an MSRP data channel.
+
+5.1. Session Mapping
+
+ In this document, each MSRP session maps to one data channel exactly.
+
+5.2. Session Opening
+
+ Section 4.5 describes how the active MSRP data channel endpoint role
+ is negotiated. The active MSRP data channel endpoint uses the data
+ channel established for this MSRP session by the generic data channel
+ opening procedure defined in [RFC8864].
+
+ As soon as the WebRTC data channel is opened, the MSRP session is
+ actually opened by the active MSRP data channel endpoint. In order
+ to do this, the active MSRP data channel endpoint sends an MSRP SEND
+ message (empty or not) to the peer (passive) MSRP data channel
+ endpoint.
+
+5.3. Session Closing
+
+ The closure of an MSRP session SHALL be signaled via SDP following
+ the requirements in Section 4.6.
+
+ If the data channel used to transport the MSRP session fails and is
+ torn down, the MSRP data channel endpoints SHALL consider the MSRP
+ session failed. An MSRP data channel endpoint MAY, based on local
+ policy, try to negotiate a new MSRP data channel.
+
+5.4. Data Framing
+
+ Each text-based MSRP message is sent on the corresponding data
+ channel using standard MSRP framing and chunking procedures, as
+ defined in [RFC4975], with each MSRP chunk delivered in a single SCTP
+ user message. Therefore all sent MSRP chunks SHALL have lengths of
+ less than or equal to the value of the peer's 'max-message-size'
+ attribute [RFC8841] associated with the SCTP association.
+
+5.5. Data Sending, Receiving, and Reporting
+
+ Data sending, receiving, and reporting procedures SHALL conform to
+ [RFC4975].
+
+5.6. Support for MSRP File Transfer Function
+
+ [RFC5547] defines an end-to-end file transfer method based on MSRP
+ and the SDP offer/answer mechanism. This file transfer method is
+ also usable by MSRP data channel endpoints with the following
+ considerations:
+
+ * As an MSRP session maps to one data channel, a file transfer
+ session maps also to one data channel.
+
+ * SDP attributes are negotiated as specified in Section 4.7.
+
+ * Once the file transfer is complete, the same data channel MAY be
+ reused for another file transfer.
+
+6. Gateway Considerations
+
+ This section describes the network configuration where one MSRP
+ endpoint uses an MSRP data channel as MSRP transport, the other MSRP
+ endpoint uses TLS/TCP connections as MSRP transport, and the two MSRP
+ endpoints interwork via a gateway.
+
+ Specifically, a gateway can be configured to interwork an MSRP
+ session over a data channel with a peer that does not support data
+ channel transport in one of two ways.
+
+ In one model, the gateway performs as an MSRP Back-to-Back User Agent
+ (B2BUA) to interwork all the procedures as necessary between the
+ endpoints. No further specification is needed for this model.
+
+ Alternately, the gateway can provide transport-level interworking
+ between MSRP endpoints using different transport protocols. In
+ accordance with Section 4.4, 'path' attributes SHALL NOT be used for
+ transport-level interworking.
+
+ When the gateway performs transport-level interworking between MSRP
+ endpoints, all of the procedures in Section 4 and Section 5 apply to
+ each peer, with the following additions:
+
+ * The gateway SHALL use the MSRP CEMA mechanism [RFC6714] towards
+ the non-data channel endpoint.
+
+ * If the non-data channel endpoint does not support MSRP CEMA,
+ transport-level interworking mode is not possible, and the gateway
+ needs to act as an MSRP B2BUA.
+
+ * The gateway SHALL NOT modify the 'path' attribute received from
+ data channel or from non-data channel endpoints.
+
+ * The gateway SHALL NOT modify the 'setup' value received from data
+ channel or from non-data channel endpoints.
+
+ * The endpoint establishing an MSRP session using data channel
+ transport SHALL NOT request inclusion of any relays, although it
+ MAY interoperate with a peer that signals the use of relays.
+
+7. Updates to RFC 4975
+
+ This document updates [RFC4975] by allowing the usage of the "msrps"
+ scheme when the underlying connection is protected with DTLS.
+
+8. Security Considerations
+
+ MSRP traffic over data channels, including confidentiality,
+ integrity, and source authentication, is secured as specified by
+ [RFC8831]. However, [RFC4975] allows transport of MSRP traffic over
+ nonsecured TCP connections and does not provide a mechanism to
+ guarantee usage of TLS end to end. As described in [RFC4975], even
+ if TLS is used between some hops, TCP might still be used between
+ other hops. Operators need to establish proper policies in order to
+ ensure that the MSRP traffic is protected between endpoints.
+
+ [RFC5547] specifies security considerations related to the usage of
+ MSRP for file transfer.
+
+ [RFC7092] specifies security considerations related to B2BUAs.
+
+ Note that the discussion in Section 14.5 of [RFC4975] on MSRP message
+ attribution to remote identities applies to data channel transport.
+
+ If the Session Initiation Protocol (SIP) [RFC3261] is used to
+ implement the offer/answer transactions for establishing the MSRP
+ data channel, the SIP security considerations specified in [RFC3261]
+ apply.
+
+9. IANA Considerations
+
+9.1. "msrps" URI scheme
+
+ This document modifies the usage of the "msrps" URI scheme,
+ registered by [RFC4975], by adding DTLS as a protected transport
+ indicated by the URI scheme.
+
+ A reference to RFC 8873 has been added to the URI scheme "msrps" in
+ the "Uniform Resource Identifier (URI) Schemes" registry.
+
+9.2. Subprotocol Identifier "msrp"
+
+ A reference to RFC 8873 has been added to the subprotocol identifier
+ "msrp" in the "WebSocket Subprotocol Name Registry".
+
+9.3. SDP Attributes
+
+ This document modifies the usage of a set of SDP attributes if any of
+ those attributes is included in an SDP 'dcsa' attribute associated
+ with an MSRP data channel. The modified usage of the SDP 'setup'
+ attribute is described in Section 4.5. The usage of the other SDP
+ attributes is described in Section 4.4.
+
+ * 'accept-types'
+
+ * 'accept-wrapped-types'
+
+ * 'file-date'
+
+ * 'file-disposition'
+
+ * 'file-icon'
+
+ * 'file-range'
+
+ * 'file-selector'
+
+ * 'file-transfer-id'
+
+ * 'inactive'
+
+ * 'max-size'
+
+ * 'msrp-cema'
+
+ * 'path'
+
+ * 'recvonly'
+
+ * 'sendonly'
+
+ * 'sendrecv'
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'accept-types' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: accept-types
+ Usage level: dcsa (msrp)
+ Purpose: Contain the list of media types that the endpoint
+ is willing to receive.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'accept-wrapped-types' attribute in the Session Description
+ Protocol (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: accept-wrapped-types
+ Usage level: dcsa (msrp)
+ Purpose: Contain the list of media types that the endpoint
+ is willing to receive in an MSRP message with
+ multipart content.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-date' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-date
+ Usage level: dcsa (msrp)
+ Purpose: Indicate one or more dates related to the file in
+ an MSRP file transfer negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-disposition' attribute in the Session Description
+ Protocol (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-disposition
+ Usage level: dcsa (msrp)
+ Purpose: Provide a suggestion to the other endpoint about
+ the intended disposition of the file in an MSRP
+ file transfer negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-icon' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-icon
+ Usage level: dcsa (msrp)
+ Purpose: Contain a pointer to a small preview icon
+ representing the contents of the file in an MSRP
+ file transfer negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-range' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-range
+ Usage level: dcsa (msrp)
+ Purpose: Contain the range of transferred octets of the file
+ in an MSRP file transfer negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-selector' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-selector
+ Usage level: dcsa (msrp)
+ Purpose: Indicate a file in an MSRP file transfer
+ negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'file-transfer-id' attribute in the Session Description
+ Protocol (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: file-transfer-id
+ Usage level: dcsa (msrp)
+ Purpose: Indicate a unique identifier of the file transfer
+ operation in an MSRP file transfer negotiation.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'inactive' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: inactive
+ Usage level: dcsa (msrp)
+ Purpose: Negotiate the direction of the media flow on an
+ MSRP data channel.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'max-size' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: max-size
+ Usage level: dcsa (msrp)
+ Purpose: Indicate the largest message an MSRP endpoint
+ wishes to accept.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'msrp-cema' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: msrp-cema
+ Usage level: dcsa (msrp)
+ Purpose: Indicate that the routing of MSRP messages
+ transported on a data channel is more similar to
+ the MSRP CEMA mechanism than the legacy MSRP
+ routing mechanism.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'path' attribute in the Session Description Protocol (SDP)
+ Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: path
+ Usage level: dcsa (msrp)
+ Purpose: Indicate an endpoint, but not used for routing, as
+ described in Section 4.4.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'recvonly' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: recvonly
+ Usage level: dcsa (msrp)
+ Purpose: Negotiate the direction of the media flow on an
+ MSRP data channel.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'sendonly' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: sendonly
+ Usage level: dcsa (msrp)
+ Purpose: Negotiate the direction of the media flow on an
+ MSRP data channel.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'setup' attribute in the "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: setup
+ Usage level: dcsa (msrp)
+ Purpose: Negotiate the active role of an MSRP session over a
+ data channel as per Section 4.5.
+ Reference: RFC 8873
+
+ The usage level "dcsa (msrp)" has been added to the registration of
+ the SDP 'sendrecv' attribute in the Session Description Protocol
+ (SDP) Parameters "att-field" subregistry as follows:
+
+ Contact name: IESG
+ Contact email: iesg@ietf.org
+ Attribute name: sendrecv
+ Usage level: dcsa (msrp)
+ Purpose: Negotiate the direction of the media flow on an
+ MSRP data channel.
+ Reference: RFC 8873
+
+10. References
+
+10.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
+ with Session Description Protocol (SDP)", RFC 3264,
+ DOI 10.17487/RFC3264, June 2002,
+ <https://www.rfc-editor.org/info/rfc3264>.
+
+ [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
+ Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
+ July 2006, <https://www.rfc-editor.org/info/rfc4566>.
+
+ [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol",
+ RFC 4960, DOI 10.17487/RFC4960, September 2007,
+ <https://www.rfc-editor.org/info/rfc4960>.
+
+ [RFC4975] Campbell, B., Ed., Mahy, R., Ed., and C. Jennings, Ed.,
+ "The Message Session Relay Protocol (MSRP)", RFC 4975,
+ DOI 10.17487/RFC4975, September 2007,
+ <https://www.rfc-editor.org/info/rfc4975>.
+
+ [RFC5547] Garcia-Martin, M., Isomaki, M., Camarillo, G., Loreto, S.,
+ and P. Kyzivat, "A Session Description Protocol (SDP)
+ Offer/Answer Mechanism to Enable File Transfer", RFC 5547,
+ DOI 10.17487/RFC5547, May 2009,
+ <https://www.rfc-editor.org/info/rfc5547>.
+
+ [RFC6135] Holmberg, C. and S. Blau, "An Alternative Connection Model
+ for the Message Session Relay Protocol (MSRP)", RFC 6135,
+ DOI 10.17487/RFC6135, February 2011,
+ <https://www.rfc-editor.org/info/rfc6135>.
+
+ [RFC6714] Holmberg, C., Blau, S., and E. Burger, "Connection
+ Establishment for Media Anchoring (CEMA) for the Message
+ Session Relay Protocol (MSRP)", RFC 6714,
+ DOI 10.17487/RFC6714, August 2012,
+ <https://www.rfc-editor.org/info/rfc6714>.
+
+ [RFC7977] Dunkley, P., Llewellyn, G., Pascual, V., Salgueiro, G.,
+ and R. Ravindranath, "The WebSocket Protocol as a
+ Transport for the Message Session Relay Protocol (MSRP)",
+ RFC 7977, DOI 10.17487/RFC7977, September 2016,
+ <https://www.rfc-editor.org/info/rfc7977>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8831] Jesup, R., Loreto, S., and M. Tüxen, "WebRTC Data
+ Channels", RFC 8831, DOI 10.17487/RFC8831, January 2021,
+ <https://www.rfc-editor.org/info/rfc8831>.
+
+ [RFC8841] Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo,
+ "Session Description Protocol (SDP) Offer/Answer
+ Procedures for Stream Control Transmission Protocol (SCTP)
+ over Datagram Transport Layer Security (DTLS) Transport",
+ RFC 8841, DOI 10.17487/RFC8841, January 2021,
+ <https://www.rfc-editor.org/info/rfc8841>.
+
+ [RFC8864] Drage, K., Makaraju, M., Ejzak, R., Marcon, J., and R.
+ Even, Ed., "Negotiation Data Channels Using the Session
+ Description Protocol (SDP)", RFC 8864,
+ DOI 10.17487/RFC8864, January 2021,
+ <https://www.rfc-editor.org/info/rfc8864>.
+
+10.2. Informative References
+
+ [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
+ A., Peterson, J., Sparks, R., Handley, M., and E.
+ Schooler, "SIP: Session Initiation Protocol", RFC 3261,
+ DOI 10.17487/RFC3261, June 2002,
+ <https://www.rfc-editor.org/info/rfc3261>.
+
+ [RFC7092] Kaplan, H. and V. Pascual, "A Taxonomy of Session
+ Initiation Protocol (SIP) Back-to-Back User Agents",
+ RFC 7092, DOI 10.17487/RFC7092, December 2013,
+ <https://www.rfc-editor.org/info/rfc7092>.
+
+Acknowledgments
+
+ The authors wish to acknowledge the borrowing of ideas from another
+ Internet-Draft by Peter Dunkley and Gavin Llewellyn, and to thank
+ Flemming Andreasen, Christian Groves, Paul Kyzivat, Jonathan Lennox,
+ Uwe Rauschenbach, Albrecht Schwarz, and Keith Drage for their
+ invaluable comments.
+
+ Richard Ejzak, Keith Drage, and Juergen Stoetzer-Bradler contributed
+ to an earlier draft version of this document before the draft was
+ readopted.
+
+ Julien Maisonneuve helped with the readoption of this document, and
+ Maridi R. Makaraju (Raju) contributed valuable comments after the
+ document was readopted.
+
+Authors' Addresses
+
+ Jose M. Recio (editor)
+ Unaffiliated
+
+ Email: jose@ch3m4.com
+
+
+ Christer Holmberg
+ Ericsson
+ Hirsalantie 11
+ FI-02420 Jorvas
+ Finland
+
+ Email: christer.holmberg@ericsson.com