<?xml version="1.0"encoding="US-ASCII"?> <!-- This template is for creating an Internet Draft using xml2rfc, which is available here: http://xml.resource.org. -->encoding="UTF-8"?> <!DOCTYPE rfc SYSTEM"rfc2629.dtd" [ <!-- One method to get references from the online citation libraries. There has to be one entity for each item to be referenced. An alternate method (rfc include) is described in the references. --><!ENTITY DATAREQ SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-rtcweb-data-channel.xml"> <!ENTITY DCSDPNEG SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mmusic-data-channel-sdpneg.xml"> <!ENTITY SDPSCTP SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mmusic-sctp-sdp.xml"> <!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> <!ENTITY RFC3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3261.xml"> <!ENTITY RFC3264 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3264.xml"> <!ENTITY RFC4566 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4566.xml"> <!ENTITY RFC4960 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4960.xml"> <!ENTITY RFC4975 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4975.xml"> <!ENTITY RFC5547 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5547.xml"> <!ENTITY RFC6135 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6135.xml"> <!ENTITY RFC6714 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6714.xml"> <!ENTITY RFC7092 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7092.xml"> <!ENTITY RFC7977 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7977.xml"> <!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"> ]> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> <!-- used by XSLT processors --> <!-- For a complete list and description of processing instructions (PIs), please see http://xml.resource.org/authoring/README.html. --> <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use. (Here they are set differently than their defaults in xml2rfc v1.32) --> <?rfc strict="yes" ?> <!-- give errors regarding ID-nits and DTD validation --> <!-- control the table of contents (ToC) --> <?rfc toc="yes"?> <!-- generate a ToC --> <?rfc tocdepth="4"?> <!-- the number of levels of subsections in ToC. default: 3 --> <!-- control references --> <?rfc symrefs="yes"?> <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> <?rfc sortrefs="no" ?> <!-- sort the reference entries alphabetically --> <!-- control vertical white space (using these PIs as follows is recommended by the RFC Editor) --> <?rfc compact="yes" ?> <!-- do not start each main section on a new page --> <?rfc subcompact="no" ?> <!-- keep one blank line between list items --> <!-- end of list of popular I-D processing instructions -->"rfc2629-xhtml.ent"> <rfccategory="std"xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-mmusic-msrp-usage-data-channel-24" number="8873" ipr="trust200902"updates="4975"> <!-- category values: std, bcp, info, exp, and historic ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902, or pre5378Trust200902 you can add the attributes updates="NNNN" and obsoletes="NNNN" they will automatically be output with "(if approved)" -->updates="4975" obsoletes="" submissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> <!--***** FRONT MATTER *****xml2rfc v2v3 conversion 3.2.1 --> <front><!-- The abbreviated title is used in the page header - it is only necessary if the full title is longer than 39 characters --><title abbrev="MSRP over Data Channels">MSRPMessage Session Relay Protocol (MSRP) over Data Channels </title><!-- add 'role="editor"' below for the editors if appropriate --> <!-- Another author who claims to be an editor --><seriesInfo name="RFC" value="8873"/> <authorinitials="J. M."initials="JM." surname="Recio" fullname="Jose M. Recio" role="editor"> <organization>Unaffiliated</organization> <address><email>jose@ch3m4.com </email><email>jose@ch3m4.com</email> </address> </author> <author initials="C." surname="Holmberg" fullname="Christer Holmberg"> <organization>Ericsson</organization> <address> <postal> <street>Hirsalantie 11</street><city>Jorvas 02420</city> <region/><city>Jorvas</city> <code> 02420</code> <country>Finland</country> </postal> <email>christer.holmberg@ericsson.com</email> </address> </author> <dateyear="2020"/> <!-- If the month and year are both specified and are the current ones, xml2rfc will fill in the current day for you. If only the current year is specified, xml2rfc will fill in the current day and month for you. If the year is not the current one, it is necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the purpose of calculating the expiry date). With drafts it is normally sufficient to specify just the year. --> <!-- Meta-data Declarations -->year="2021" month="January" /> <area>ART</area> <workgroup>MMUSIC</workgroup><!-- WG name at the upperleft corner of the doc, IETF is fine for individual submissions. If this element is not present, the default is "Network Working Group", which is used by the RFC Editor as a nod to the history of the IETF. --> <!-- Keywords will be incorporated into HTML output files in a meta tag but they have no effect on text or nroff output. If you submit your draft to the RFC Editor, the keywords will be used for the search engine. --><keyword>webrtc</keyword> <abstract> <t> 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:connectingthe connection of two MSRP data channel endpoints; and a gateway configuration,connectingwhich connects an MSRP data channel endpoint with an MSRPoverendpoint that uses either TCP orTLS endpoint.TLS. This document updatesRFC4975. This document updates RFC4975.RFC 4975. </t> </abstract> </front> <middle> <sectiontitle="Introduction" anchor="introduction">anchor="introduction" numbered="true" toc="default"> <name>Introduction</name> <t> The Message Session Relay Protocol (MSRP) <xreftarget="RFC4975"/>target="RFC4975" format="default"/> 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 <xreftarget="RFC4975"/>target="RFC4975" format="default"/> to work over TCP and TLS connections, and over a WebSocket subprotocol specified by <xreftarget="RFC7977"/>.target="RFC7977" format="default"/>. </t> <t> This document specifies how a Web Real-Time Communication (WebRTC) data channel <xreftarget="I-D.ietf-rtcweb-data-channel"/>target="RFC8831" format="default"/> can be used as a transport mechanism forMSRP,MSRP without the TCP and TLS layers, and how the Session Description Protocol (SDP) offer/answer mechanism for data channels <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>target="RFC8864" format="default"/> can be used to negotiate such a data channel. </t> <t> In this document, an MSRP data channel refers to a WebRTC data channel for which the instantiated subprotocol is "msrp" andwherethe data channel is negotiated using the SDP offer/answer mechanism <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.target="RFC8864" format="default"/>. </t> <t>Defining MSRP as a data channel subprotocol has many benefits:<list style="symbols"> <t>provides</t> <ul spacing="normal"> <li>provides to applications a proven protocol enabling instant messaging, file transfer, imagesharing</t> <t>integratessharing</li> <li>integrates those features with other WebRTC voice,videovideo, and datafeatures</t> <t>leveragesfeatures</li> <li>leverages the SDP-based negotiation already defined forMSRP</t> <t>allowsMSRP</li> <li>allows the interworking with MSRP endpoints running on a TCP or TLSconnection</t> </list> </t>connection</li> </ul> <t> Compared toWebSockets,the WebSocket protocol, whichprovideprovides amessage passingmessage-passing protocol to applications with no direct access to TCP or TLS sockets, data channels provide alow latency transport,low-latency transport and leverage NAT-aware connectivity and the security features of WebRTC. </t> <t>ConsideringThis document defines an MSRP data channel endpoint as an MSRP application that uses a WebRTC datachannel, thischannel for MSRP transport. This document describestwoconfigurationswhere the otherfor connecting such endpointis respectively eitherto another MSRPoverdata channelendpoint (e.g., a WebRTC application)endpoint, or to an MSRP endpointusingthat uses either TCP or TLS transport. </t> <t> This document updates <xreftarget="RFC4975"/>target="RFC4975" format="default"/> as described in <xreftarget="updates-to-rfc4975"/>.target="updates-to-rfc4975" format="default"/>. </t> </section> <sectiontitle="Conventions">numbered="true" toc="default"> <name>Conventions</name> <t> The key words"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xreftarget="RFC2119"/><xref target="RFC8174"/>target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as shown here. </t> </section> <sectiontitle="WebRTCnumbered="true" toc="default"> <name>WebRTC Data ChannelConsiderations">Considerations</name> <sectiontitle="MSRPanchor="msrp-data-channel" numbered="true" toc="default"> <name>MSRP DataChannel" anchor="msrp-data-channel">Channel</name> <t>The following WebRTC data channel property values <xreftarget="I-D.ietf-rtcweb-data-channel"/>target="RFC8831" format="default"/> apply to an MSRP data channel:</t><texttable title=""> <ttcol align="left">Property</ttcol> <ttcol align="left">Value</ttcol> <c>Subprotocol Identifier</c> <c>msrp</c> <c>Transmission reliability</c> <c>reliable</c> <c>Transmission order</c> <c>in-order</c> <c>Label</c> <c>See <xref target="use-of-dcmap-attribute"/> </c> </texttable><table align="center"> <thead> <tr> <th align="left">Property</th> <th align="left">Value</th> </tr> </thead> <tbody> <tr> <td align="left">Subprotocol Identifier</td> <td align="left">msrp</td> </tr> <tr> <td align="left">Transmission reliability</td> <td align="left">reliable</td> </tr> <tr> <td align="left">Transmission order</td> <td align="left">in-order</td> </tr> <tr> <td align="left">Label</td> <td align="left">See <xref target="use-of-dcmap-attribute" format="default"/> </td> </tr> </tbody> </table> </section> </section> <sectiontitle="SDP Considerations" anchor="sdp-cons">anchor="sdp-cons" numbered="true" toc="default"> <name>SDP Considerations</name> <t>The generic SDP considerations, including the SDP offer/answer procedures <xreftarget="RFC3264"/>,target="RFC3264" format="default"/>, for negotiating a WebRTC data channel are defined in <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.target="RFC8864" format="default"/>. Thissection,section and itssubsections,subsections define the SDP considerations that are specific to an MSRP data channel, identified by the'subprotocol'"subprotocol" attribute parameter, withaan "msrp" parametervalue,value in the 'dcmap' attribute.</t> <sectiontitle="MSRP URI">numbered="true" toc="default"> <name>MSRP URI</name> <t>This document extends the MSRP URI syntax <xreftarget="RFC4975"/>target="RFC4975" format="default"/> by defining the new transport parameter value "dc" (an abbreviation of data channel):</t><figure align="left" title=""> <artwork align="left"><![CDATA[<sourcecode type="abnf"><![CDATA[ transport /= "dc" ; Add "dc" to existing transports per Section 9 of [RFC4975]]]></artwork> </figure>]]> </sourcecode> <t>MSRP design provides for new transport bindings (seeSection 6 of<xreftarget="RFC4975"/>).target="RFC4975" section="6" sectionFormat="of"/>). 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, asit'sis the case of data channels (<xreftarget="use-of-dcsa-attribute"/>).</t>target="use-of-dcsa-attribute" format="default"/>).</t> </section> <sectiontitle="msrp-scheme">numbered="true" toc="default"> <name>MSRP URI msrp-scheme</name> <t>The msrp-scheme portion of theMSRP-URIMSRP URI that represents an MSRP data channel endpoint (used in the SDPpath'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 <xreftarget="I-D.ietf-rtcweb-data-channel"/>.</t>target="RFC8831" format="default"/>.</t> </section> <sectiontitle="Useanchor="use-of-dcmap-attribute" numbered="true" toc="default"> <name>Use of thedcmap Attribute" anchor="use-of-dcmap-attribute">'dcmap' Attribute</name> <t>An offerer and answererSHALL,<bcp14>SHALL</bcp14>, in each offer and answer, include a 'dcmap' attribute <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>target="RFC8864" format="default"/> in the SDP media description(m=("m=" section) <xreftarget="RFC4566"/>target="RFC4566" format="default"/> describing the SCTP association <xreftarget="RFC4960"/>target="RFC4960" format="default"/> used to realize the MSRP data channel.</t> <t>The attribute includes the following data channel parameters:<list style="symbols"> <t>"label=" labelstring</t> <t>"subprotocol=" "msrp"</t> </list></t> <ul spacing="normal"> <li>"label=" labelstring</li> <li>"subprotocol=" "msrp"</li> </ul> <t>The labelstring is set by the MSRP application according to <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t>target="RFC8864" format="default"/>.</t> <t>The offerer and answererSHALL NOT<bcp14>SHALL NOT</bcp14> include the'max-retr'"max-retr" and the'max-time'"max-time" attribute parameters in the 'dcmap' attribute.</t> <t>The offerer and answererMAY<bcp14>MAY</bcp14> include the'ordered'"ordered" attribute parameter in the 'dcmap' attribute. If included, the attribute parameter valueSHALL<bcp14>SHALL</bcp14> be set to "true".</t> <t>Below is an example of a 'dcmap' attribute for an MSRP session to be negotiated withstream-id=2the "dcmap-stream-id" parameter set to 2 andlabel="chat":</t> <figure align="left" title=""> <artwork align="left"><![CDATA[the "label" parameter set to "chat":</t> <sourcecode type="sdp"><![CDATA[ a=dcmap:2 label="chat";subprotocol="msrp"]]></artwork> </figure>]]></sourcecode> </section> <sectiontitle="Useanchor="use-of-dcsa-attribute" numbered="true" toc="default"> <name>Use of thedcsa Attribute" anchor="use-of-dcsa-attribute">'dcsa' Attribute</name> <t> An offerer and answerer can, in each offer and answer, include one or more'dcsa'data channel subprotocol attributes ('dcsa' attributes) <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>target="RFC8864" format="default"/> in them="m=" section describing the SCTP association used to realize theMSPRMSRP data channel. An SDP attribute included in a 'dcsa' attribute is referred to as adcsa embeddedDCSA-embedded attribute. </t> <t> 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 inSection 6.7 of<xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.target="RFC8864" section="6.7" sectionFormat="of"/>. </t> <t> An offerer and answererSHALL<bcp14>SHALL</bcp14> include a 'dcsa' attribute for each of the following MSRP-specific SDP attributes:<list style="symbols"> <t>defined</t> <ul spacing="normal"> <li>defined in <xreftarget="RFC4975"/>: "path".</t> <t>definedtarget="RFC4975" format="default"/>: 'path'.</li> <li>defined in <xreftarget="RFC6714"/>: "msrp-cema".</t> <t>definedtarget="RFC6714" format="default"/>: 'msrp-cema'.</li> <li>defined in <xreftarget="RFC6135"/>: "setup".target="RFC6135" format="default"/>: 'setup'. See <xreftarget="use-of-setup-attribute"/></t> </list> </t>target="use-of-setup-attribute" format="default"/>.</li> </ul> <t> It is considered a protocol error if one or more of thedcsa embeddedDCSA-embedded attributes listed above are not included in an offer or answer. </t> <t>An offerer and answererMAY<bcp14>MAY</bcp14> include a 'dcsa' attribute for any of the following MSRP-specific SDP attributes, following the procedures defined for each attribute:<list style="symbols"> <t>defined</t> <ul spacing="normal"> <li>defined in <xreftarget="RFC4975"/>: "accept-types", "accept-wrapped-types"target="RFC4975" format="default"/>: 'accept-types', 'accept-wrapped-types', and"max-size"</t> <t>defined'max-size'.</li> <li>defined in <xreftarget="RFC4566"/>: "sendonly", "recvonly", "inactive"target="RFC4566" format="default"/>: 'sendonly', 'recvonly', 'inactive', and"sendrecv"</t> <t>defined'sendrecv'.</li> <li>defined in <xreftarget="RFC5547"/>:target="RFC5547" format="default"/>: all the parameters related to MSRP file transfer. See <xreftarget="file_transfer_sdp"/>.</t> </list> </t>target="file_transfer_sdp" format="default"/>.</li> </ul> <t> A subsequent offer or answerMAY<bcp14>MAY</bcp14> 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 <xreftarget="RFC4975"/>.target="RFC4975" format="default"/>. </t> <t> 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 <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>,target="RFC8864" format="default"/>, and the MSRP messages are then transported on that data channel. This is different from legacy MSRP <xreftarget="RFC4975"/>target="RFC4975" format="default"/> but similar to MSRPCEMAConnection Establishment for Media Anchoring (MSRP CEMA) <xreftarget="RFC6714"/>.target="RFC6714" format="default"/>. Because of this, adcsa embeddedDCSA-embedded 'msrp-cema' attribute is mandated for MSRP sessions over data channels. However, when an endpoint receives an MSRP message over a data channel, itMUST<bcp14>MUST</bcp14> still perform theMSRP-URIMSRP URI comparison procedures defined in <xreftarget="RFC4975"/>.target="RFC4975" format="default"/>. </t> </section> <sectiontitle="Useanchor="use-of-setup-attribute" numbered="true" toc="default"> <name>Use of thedcsa embedded setup Attribute" anchor="use-of-setup-attribute">DCSA-Embedded 'setup' Attribute</name> <t> As described in <xreftarget="use-of-dcsa-attribute"/>,target="use-of-dcsa-attribute" format="default"/>, the usage of adsca embeddedDCSA-embedded 'setup' attribute is mandated for MSRP sessions over data channels. It is used to negotiate which MSRPsessiondata channel endpoint assumes the active role as perSection 4.2.2 of<xreftarget="RFC6135"/>target="RFC6135" section="4.2.2" sectionFormat="of"/> andSection 5.4 of<xreftarget="RFC4975"/>.target="RFC4975" section="5.4" sectionFormat="of"/>. It has no relationship with the DTLS connection establishment roles <xreftarget="I-D.ietf-mmusic-sctp-sdp"/>.target="RFC8841" format="default"/>. </t> <t> Thedcsa embedded setupDCSA-embedded 'setup' attribute is of the form "a=dcsa:x setup:<role>", with x being the data channel's SCTP stream identifier, so thatsuchthe 'setup' attribute is explicitly associated with an MSRP session over a specific data channel. </t> </section> <sectiontitle="Session Closing" anchor="session-closing-sdp">anchor="session-closing-sdp" numbered="true" toc="default"> <name>Session Closing</name> <t>An MSRP session is closed by closing the associated datachannel,channel following the procedures in <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t>target="RFC8864" format="default"/>.</t> <t>The port value for the "m=" lineSHOULD NOT<bcp14>SHOULD NOT</bcp14> be changed(e.g.(e.g., to zero) when closing an MSRP session (unless all data channels are being closed and the SCTP association is no longerneeded),needed) since this would close the SCTP association and impact all of the data channels. In all cases in <xreftarget="RFC4975"/>target="RFC4975" format="default"/> where the procedure calls for setting the port to zeroforin the MSRP "m=" line in an SDP offer for TCP transport, the SDP offerer of an MSRP session with data channel transportSHALL<bcp14>SHALL</bcp14> remove the correspondingdcmap'dcmap' anddcsa'dcsa' attributes.</t> </section> <sectiontitle="Supportanchor="file_transfer_sdp" numbered="true" toc="default"> <name>Support for MSRP File TransferFunction" anchor="file_transfer_sdp">Function</name> <t>SDP attributes specified in <xreftarget="RFC5547"/>target="RFC5547" format="default"/> for a file transfer "m=" line are embedded as subprotocol-specific attributes using the syntax defined in <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t>target="RFC8864" format="default"/>.</t> </section> <sectiontitle="Example" anchor="example-sdp-negotiation">anchor="example-sdp-negotiation" numbered="true" toc="default"> <name>Example</name> <t>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 <xreftarget="RFC4975"/>target="RFC4975" format="default"/> and <xreftarget="RFC5547"/>.</t> <figure align="left" title=""> <artwork align="left"><![CDATA[ Offer:target="RFC5547" format="default"/>.</t> <t>Offer:</t> <sourcecode type="sdp"><![CDATA[ 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-25612: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:AD12: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:1463440hash:sha-256:7C:DF:3E:5D:49:6B:19:E5:12:AB:4A:AD: \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-1463440Answer:]]></sourcecode> <t>Answer:</t> <sourcecode type="sdp"><![CDATA[ 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-2565D: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:5D5D: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]]></artwork> </figure>]]></sourcecode> <t> Note that due to RFC formatting conventions, this document splits SDPacross lines whosecontentwould exceedthat exceeds 72characters. A backslash character marks wherecharacters across lines, marking this line foldinghas taken place.with a backslash character. This backslash and its trailing CRLF and whitespace would not appear in actual SDP content. </t> </section> </section> <sectiontitle="MSRP Considerations" anchor="msrp-cons">anchor="msrp-cons" numbered="true" toc="default"> <name>MSRP Considerations</name> <t>The procedures specified in <xreftarget="RFC4975"/>target="RFC4975" format="default"/> apply except when this document specifies otherwise. This section describes the MSRP considerations specific to an MSRP data channel.</t> <sectiontitle="Session Mapping">numbered="true" toc="default"> <name>Session Mapping</name> <t>In this document, each MSRP session maps to one data channel exactly.</t> </section> <sectiontitle="Session Opening" anchor="session-opening-msrp">anchor="session-opening-msrp" numbered="true" toc="default"> <name>Session Opening</name> <t><xreftarget="use-of-setup-attribute"/>target="use-of-setup-attribute" format="default"/> describes how the active MSRPsessiondata channel endpoint role is negotiated. The active MSRPsessiondata channel endpoint uses the data channel established for this MSRP session by the generic data channel opening procedure defined in <xreftarget="I-D.ietf-mmusic-data-channel-sdpneg"/>.</t>target="RFC8864" format="default"/>.</t> <t>As soon as the WebRTC data channel is opened, the MSRP session is actually opened by the active MSRPsessiondata channel endpoint. In order to dothisthis, the active MSRP data channel endpoint sends an MSRP SEND message (empty or not) to the peer (passive) MSRP data channel endpoint.</t> </section> <sectiontitle="Session Closing" anchor="session-closing">anchor="session-closing" numbered="true" toc="default"> <name>Session Closing</name> <t>The closure of an MSRP sessionSHALL<bcp14>SHALL</bcp14> be signaled via SDP following the requirements in <xreftarget="session-closing-sdp"/></t>target="session-closing-sdp" format="default"/>.</t> <t>If the data channel used to transport the MSRP session fails andgetsis torn down, the MSRP data channel endpointsSHALL<bcp14>SHALL</bcp14> consider the MSRP session failed. An MSRP data channel endpointMAY,<bcp14>MAY</bcp14>, based on local policy, try to negotiate a new MSRP data channel.</t> </section> <sectiontitle="Data Framing" anchor="data-framing">anchor="data-framing" numbered="true" toc="default"> <name>Data Framing</name> <t>Each text-based MSRP message is sent on the corresponding data channel using standard MSRP framing and chunking procedures, as defined in <xreftarget="RFC4975"/>,target="RFC4975" format="default"/>, with each MSRP chunk delivered in a single SCTP user message. Therefore all sent MSRP chunksSHALL<bcp14>SHALL</bcp14> have lengths of less than or equal to the value of the peer's"max-message-size"'max-message-size' attribute <xreftarget="I-D.ietf-mmusic-sctp-sdp"/>target="RFC8841" format="default"/> associated with the SCTP association.</t> </section> <sectiontitle="Datanumbered="true" toc="default"> <name>Data Sending,ReceivingReceiving, andReporting">Reporting</name> <t>Data sending,receivingreceiving, and reporting proceduresSHALL<bcp14>SHALL</bcp14> conform to <xreftarget="RFC4975"/>.</t>target="RFC4975" format="default"/>.</t> </section> <sectiontitle="Supportanchor="file_transfer_msrp" numbered="true" toc="default"> <name>Support for MSRP File TransferFunction" anchor="file_transfer_msrp">Function</name> <t><xreftarget="RFC5547"/>target="RFC5547" format="default"/> 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 MSRPendpoints usingdatachannels,channel endpoints with the following considerations:<list style="symbols"> <t>As</t> <ul spacing="normal"> <li>As an MSRP session maps to one data channel, a file transfer session maps also to one datachannel.</t> <t>SDPchannel.</li> <li>SDP attributes are negotiated as specified in <xreftarget="file_transfer_sdp"/>.</t> <t>Oncetarget="file_transfer_sdp" format="default"/>.</li> <li>Once the file transfer is complete, the same data channelMAY<bcp14>MAY</bcp14> be reused for another filetransfer.</t> </list> </t>transfer.</li> </ul> </section> </section> <sectiontitle="Gateway Considerations" anchor="gateway-cons">anchor="gateway-cons" numbered="true" toc="default"> <name>Gateway Considerations</name> <t>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.</t> <t>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.</t> <t>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.</t> <t>Alternately, the gateway can providetransport leveltransport-level interworking between MSRP endpoints using different transport protocols. In accordance with <xreftarget="use-of-dcsa-attribute"/>, pathtarget="use-of-dcsa-attribute" format="default"/>, 'path' attributesSHALL NOT<bcp14>SHALL NOT</bcp14> be used fortransport leveltransport-level interworking.</t> <t>When the gateway performstransport leveltransport-level interworking between MSRP endpoints, all of the procedures in <xreftarget="msrp-cons"/>target="sdp-cons" format="default"/> and <xreftarget="sdp-cons"/>target="msrp-cons" format="default"/> apply to each peer, with the following additions:<list style="symbols"> <t>The</t> <ul spacing="normal"> <li>The gatewaySHALL<bcp14>SHALL</bcp14> use the MSRP CEMA mechanism <xreftarget="RFC6714"/>target="RFC6714" format="default"/> towards the non-data channelendpoint.</t> <t>Ifendpoint.</li> <li>If the non-data channel endpoint does not support MSRP CEMA,transport leveltransport-level interworking mode is not possible, and the gateway needs to act as an MSRPB2BUA.</t> <t>TheB2BUA.</li> <li>The gatewaySHALL NOT<bcp14>SHALL NOT</bcp14> modify thepath'path' attribute received from data channel or from non-data channelendpoints.</t> <t>Theendpoints.</li> <li>The gatewaySHALL NOT<bcp14>SHALL NOT</bcp14> modify thesetup'setup' value received from data channel or from non-data channelendpoints.</t> <t>Theendpoints.</li> <li>The endpoint establishing an MSRP session using data channel transportSHALL NOT<bcp14>SHALL NOT</bcp14> request inclusion of any relays, although itMAY<bcp14>MAY</bcp14> interoperate with a peer that signals the use ofrelays.</t> </list> </t>relays.</li> </ul> </section> <sectiontitle="Updatesanchor="updates-to-rfc4975" numbered="true" toc="default"> <name>Updates toRFC4975" anchor="updates-to-rfc4975">RFC 4975</name> <t>This document updates <xreftarget="RFC4975"/>,target="RFC4975" format="default"/> by allowing the usage of the "msrps" scheme when the underlying connection is protected with DTLS.</t> </section> <section anchor="Security"title="Security Considerations">numbered="true" toc="default"> <name>Security Considerations</name> <t>MSRP traffic over datachannels is secured,channels, including confidentiality,integrityintegrity, and source authentication, is secured as specified byby<xreftarget="I-D.ietf-rtcweb-data-channel"/>.target="RFC8831" format="default"/>. However, <xreftarget="RFC4975"/>target="RFC4975" format="default"/> allows transport of MSRP traffic overnon-securednonsecured TCPconnections,connections and does not provide a mechanism to guarantee usage of TLSend-to-end.end to end. As described in <xreftarget="RFC4975"/>,target="RFC4975" format="default"/>, even if TLS is used between somehopshops, TCP might still be used between other hops. Operators need toensure thatestablish proper policiesare establishedin order to ensure that the MSRP traffic is protected between endpoints.</t> <t><xreftarget="RFC5547"/>target="RFC5547" format="default"/> specifies security considerations related to the usage of MSRP for file transfer.</t> <t><xreftarget="RFC7092"/>target="RFC7092" format="default"/> specifies security considerations related to B2BUAs.</t> <t>Note that the discussion inSection 14.5 of<xreftarget="RFC4975"/>target="RFC4975" section="14.5" sectionFormat="of"/> on MSRP message attribution to remote identities applies to data channel transport.</t> <t>If the Session Initiation Protocol (SIP) <xreftarget="RFC3261"/>target="RFC3261" format="default"/> is used to implement the offer/answer transactions for establishing the MSRP data channel, the SIP security considerations specified in <xreftarget="RFC3261"/>target="RFC3261" format="default"/> apply.</t> </section> <section anchor="IANA"title="IANA Considerations"> <t>NOTE to RFC Editor: Please replace all instances of all instances of RFCXXXX with the number of this RFC.</t>numbered="true" toc="default"> <name>IANA Considerations</name> <sectiontitle="msrpsanchor="IANA-reg-msrps" numbered="true" toc="default"> <name>"msrps" URIscheme" anchor="IANA-reg-msrps">scheme</name> <t>This document modifies the usage of themsrps"msrps" URI scheme, registered by <xreftarget="RFC4975"/>,target="RFC4975" format="default"/>, by adding DTLS as a protected transport indicated by the URI scheme.</t> <t>A reference toRFCXXXX isRFC 8873 has been added to the URI scheme "msrps" in theUniform"Uniform Resource Identifier (URI)Schemes Registry.</t>Schemes" registry.</t> </section> <sectiontitle="Subprotocolanchor="IANA-reg-MSRP" numbered="true" toc="default"> <name>Subprotocol IdentifierMSRP" anchor="IANA-reg-MSRP">"msrp"</name> <t>A reference toRFCXXXX isRFC 8873 has been added to the subprotocol identifier "msrp" in the "WebSocket Subprotocol NameRegistry"</t>Registry".</t> </section> <sectiontitle="SDP Attributes" anchor="IANA-reg-other-sdp">anchor="IANA-reg-other-sdp" numbered="true" toc="default"> <name>SDP Attributes</name> <t> This document modifies the usage of a set of SDPattributes,attributes if any of those attributes is included in an SDP'dsca''dcsa' attribute associated with an MSRP data channel. The modified usage of the SDP 'setup' attribute is described in <xreftarget="use-of-setup-attribute"/>.target="use-of-setup-attribute" format="default"/>. The usage of the other SDP attributes is described in <xreftarget="use-of-dcsa-attribute"/>. </t> <t> <list style="symbols"> <t>"path"</t> <t>"msrp-cema"</t> <t>"accept-types"</t> <t>"accept-wrapped-types"</t> <t>"max-size"</t> <t>"sendonly"</t> <t>"recvonly"</t> <t>"inactive"</t> <t>"sendrecv"</t> <t>"file-selector"</t> <t>"file-transfer-id"</t> <t>"file-disposition"</t> <t>"file-date"</t> <t>"file-icon"</t> <t>"file-range"</t> </list>target="use-of-dcsa-attribute" format="default"/>. </t> <ul spacing="normal"> <li>'accept-types'</li> <li>'accept-wrapped-types'</li> <li>'file-date'</li> <li>'file-disposition'</li> <li>'file-icon'</li> <li>'file-range'</li> <li>'file-selector'</li> <li>'file-transfer-id'</li> <li>'inactive'</li> <li>'max-size'</li> <li>'msrp-cema'</li> <li>'path'</li> <li>'recvonly'</li> <li>'sendonly'</li> <li>'sendrecv'</li> </ul> <t>The usage level"dcsa(msrp)""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:</t> <dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>accept-types</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Contain the list of media types that the endpoint is willing to receive.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level "dcsa (msrp)" has been added to the registration of the SDP'setup''accept-wrapped-types' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>setup</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Negotiate<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>accept-wrapped-types</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Contain theactive rolelist of media types that the endpoint is willing to receive in an MSRPsession over a data channel as per <xref target="use-of-setup-attribute"/> </c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>message with multipart content.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'path''file-date' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>path</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate an endpoint, but not used for routing, as described<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-date</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate one or more dates related to the file in<xref target="use-of-dcsa-attribute"/></c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>an MSRP file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'msrp-cema''file-disposition' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>msrp-cema</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate that the routing of MSRP messages transported on<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-disposition</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Provide adata channel is more similarsuggestion to theMSRP CEMA mechanism thanother endpoint about thelegacyintended disposition of the file in an MSRProuting mechanism.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'accept-types''file-icon' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>accept-types</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Contain<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-icon</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Contain a pointer to a small preview icon representing thelistcontents ofmedia types thattheendpoint is willing to receive.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>file in an MSRP file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'accept-wrapped-types''file-range' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>accept-wrapped-types</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Contain<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-range</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Contain thelistrange of transferred octets ofmedia types thattheendpoint is willing to receivefile in an MSRPmessage with multipart content.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'max-size''file-selector' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>max-size</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate the largest message<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-selector</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate a file in an MSRPendpoint wishes to accept.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'sendonly''file-transfer-id' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>sendonly</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Negotiate the direction<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>file-transfer-id</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate a unique identifier of themedia flow onfile transfer operation in an MSRPdata channel.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>file transfer negotiation.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'recvonly''inactive' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>recvonly</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Negotiate<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>inactive</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Negotiate the direction of the media flow on an MSRP datachannel.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>channel.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'inactive''max-size' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>inactive</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Negotiate<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>max-size</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate thedirection of the media flow onlargest message an MSRPdata channel.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>endpoint wishes to accept.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'sendrecv''msrp-cema' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>sendrecv</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Negotiate<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>msrp-cema</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate that thedirectionrouting ofthe media flow on anMSRP messages transported on a datachannel.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable> <t>The usage level "dcsa(msrp)"channel isaddedmore similar to theregistration of the SDP 'file-selector' attribute inMSRP CEMA mechanism than theSession Description Protocol (SDP) Parameters "att-field" sub-registry as follows:</t> <texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-selector</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate a file in anlegacy MSRPfile transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>routing mechanism.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'file-transfer-id''path' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-transfer-id</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate a unique identifier of the file transfer operation in<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>path</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Indicate anMSRP file transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>endpoint, but not used for routing, as described in <xref target="use-of-dcsa-attribute" format="default"/>.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'file-disposition''recvonly' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-disposition</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Provide a suggestion to the other endpoint about<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>recvonly</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Negotiate theintended dispositiondirection of thefile inmedia flow on an MSRPfile transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>data channel.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'file-date''sendonly' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-date</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Indicate one or more dates related to<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>sendonly</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Negotiate thefile indirection of the media flow on an MSRPfile transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>data channel.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'file-icon''setup' attribute in theSession Description Protocol (SDP) Parameters"att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-icon</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Contain a pointer to a small preview icon representing<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>setup</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Negotiate thecontentsactive role ofthe file inan MSRPfile transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>session over a data channel as per <xref target="use-of-setup-attribute" format="default"/>. </dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> <t>The usage level"dcsa(msrp)" is"dcsa (msrp)" has been added to the registration of the SDP'file-range''sendrecv' attribute in the Session Description Protocol (SDP) Parameters "att-field"sub-registrysubregistry as follows:</t><texttable title=""> <ttcol align="left" width="35%"/> <ttcol align="left" width="65%"/> <c>Contact name:</c> <c>IESG</c> <c>Contact email:</c> <c>iesg@ietf.org</c> <c>Attribute name:</c> <c>file-range</c> <c>Usage level:</c> <c>dcsa(msrp)</c> <c>Purpose:</c> <c>Contain<dl spacing="compact" indent="18"> <dt>Contact name:</dt> <dd>IESG</dd> <dt>Contact email:</dt> <dd>iesg@ietf.org</dd> <dt>Attribute name:</dt> <dd>sendrecv</dd> <dt>Usage level:</dt> <dd>dcsa (msrp)</dd> <dt>Purpose:</dt> <dd>Negotiate therange of transferred octetsdirection of thefile inmedia flow on an MSRPfile transfer negotiation.</c> <c>Reference:</c> <c>RFCXXXX</c> </texttable>data channel.</dd> <dt>Reference:</dt> <dd>RFC 8873</dd> </dl> </section> </section> </middle> <back> <references> <name>References</name> <references> <name>Normative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <reference anchor="RFC8831" target="https://www.rfc-editor.org/info/rfc8831"> <front> <title>WebRTC Data Channels</title> <author initials="R" surname="Jesup" fullname="Randell Jesup"> <organization/> </author> <author initials="S" surname="Loreto" fullname="Salvatore Loreto"> <organization/> </author> <author initials="M" surname="Tüxen" fullname="Michael Tüxen"> <organization/> </author> <date month='January' year='2021'/> </front> <seriesInfo name="RFC" value="8831"/> <seriesInfo name="DOI" value="10.17487/RFC8831"/> </reference> <reference anchor="RFC8864" target="https://www.rfc-editor.org/info/rfc8864"> <front> <title>Negotiation Data Channels Using the Session Description Protocol (SDP)</title> <author fullname="Keith Drage" initials="K." surname="Drage"> <organization>Unaffiliated</organization> </author> <author fullname="Raju Makaraju" initials="M." surname="Makaraju"> <organization>Nokia</organization> </author> <author fullname="Richard Ejzak" initials="R." surname="Ejzak"> <organization>Unaffiliated</organization> </author> <author fullname="Jerome Marcon" initials="J." surname="Marcon"> <organization>Unaffiliated</organization> </author> <author fullname="Roni Even" initials="R." surname="Even" role="editor"> <organization>Huawei</organization> </author> <date month="January" year="2021"/> </front> <seriesInfo name="RFC" value="8864"/> <seriesInfo name="DOI" value="10.17487/RFC8864"/> </reference> <reference anchor="RFC8841" target="https://www.rfc-editor.org/info/rfc8841"> <front> <title>Session Description Protocol (SDP) Offer/Answer Procedures for Stream Control Transmission Protocol (SCTP) over Datagram Transport Layer Security (DTLS) Transport</title> <author initials="C." surname="Holmberg" fullname="Christer Holmberg"> <organization /> </author> <author initials="R." surname="Shpount" fullname="Roman Shpount"> <organization /> </author> <author initials="S." surname="Loreto" fullname="Salvatore Loreto"> <organization /> </author> <author initials="G." surname="Camarillo" fullname="Gonzalo Camarillo"> <organization /> </author> <date month="January" year="2021" /> </front> <seriesInfo name="RFC" value="8841" /> <seriesInfo name="DOI" value="10.17487/RFC8841"/> </reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3264.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4566.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4960.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4975.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5547.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6135.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6714.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7977.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> </references> <references> <name>Informative References</name> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml"/> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7092.xml"/> </references> </references> <sectiontitle="Acknowledgments">numbered="false" toc="default"> <name>Acknowledgments</name> <t>The authors wish to acknowledge the borrowing of ideas from anotherinternet draftInternet-Draft byPeter Dunkley and Gavin Llewellyn,<contact fullname="Peter Dunkley"/> and <contact fullname="Gavin Llewellyn"/>, and to thankFlemming Andreasen, Christian Groves, Paul Kyzivat, Jonathan Lennox, Uwe Rauschenbach, Albrecht Schwarz, and Keith Drage<contact fullname="Flemming Andreasen"/>, <contact fullname="Christian Groves"/>, <contact fullname="Paul Kyzivat"/>, <contact fullname="Jonathan Lennox"/>, <contact fullname="Uwe Rauschenbach"/>, <contact fullname="Albrecht Schwarz"/>, and <contact fullname="Keith Drage"/> for their invaluable comments.</t><t>Richard Ejzak, Keith Drage and Juergen Stoetzer-Bradler<t><contact fullname="Richard Ejzak"/>, <contact fullname="Keith Drage"/>, and <contact fullname="Juergen Stoetzer-Bradler"/> contributed to an earlierversion,draft version of this document before the draft wasre-adopted.</t> <t>Julien Maisonneuvereadopted.</t> <t><contact fullname="Julien Maisonneuve"/> helped with there-adoptionreadoption ofthe draft,this document, andMaridi<contact fullname="Maridi R. Makaraju(Raju)(Raju)"/> contributed valuable comments after thedraftdocument wasre-adopted.</t>readopted.</t> </section></middle> <!-- *****BACK MATTER ***** --> <back> <!-- References split into informative and normative --> <!-- There are 2 ways to insert reference entries from the citation libraries: 1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown) 2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml") Both are cited textually in the same manner: by using xref elements. If you use the PI option, xml2rfc will, by default, try to find included files in the same directory as the including file. You can also define the XML_LIBRARY environment variable with a value containing a set of directories to search. These can be either in the local filing system or remote ones accessed by http (http://domain/dir/... ).--> <references title="Normative References"> &RFC2119; &DATAREQ; &DCSDPNEG; &SDPSCTP; &RFC3264; &RFC4566; &RFC4960; &RFC4975; &RFC5547; &RFC6135; &RFC6714; &RFC7977; &RFC8174; </references> <references title="Informative References"> &RFC3261; &RFC7092; </references></back> </rfc>