<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-mmusic-msrp-usage-data-channel-24" indexInclude="true" ipr="trust200902" number="8873" prepTime="2021-01-18T14:32:28" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" updates="4975" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-mmusic-msrp-usage-data-channel-24" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8873" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="MSRP over Data Channels">Message Session Relay Protocol (MSRP) over Data Channels</title>
    <seriesInfo name="RFC" value="8873" stream="IETF"/>
    <author initials="JM." surname="Recio" fullname="Jose M. Recio" role="editor">
      <organization showOnFrontPage="true">Unaffiliated</organization>
      <address>
        <email>jose@ch3m4.com</email>
      </address>
    </author>
    <author initials="C." surname="Holmberg" fullname="Christer Holmberg">
      <organization showOnFrontPage="true">Ericsson</organization>
      <address>
        <postal>
          <street>Hirsalantie 11</street>
          <city>Jorvas</city>
          <code>02420</code>
          <country>Finland</country>
        </postal>
        <email>christer.holmberg@ericsson.com</email>
      </address>
    </author>
    <date month="01" year="2021"/>
    <area>ART</area>
    <workgroup>MMUSIC</workgroup>
    <keyword>webrtc</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
      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.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8873" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-webrtc-data-channel-conside">WebRTC Data Channel Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-msrp-data-channel">MSRP Data Channel</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sdp-considerations">SDP Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-msrp-uri">MSRP URI</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-msrp-uri-msrp-scheme">MSRP URI msrp-scheme</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-the-dcmap-attribute">Use of the 'dcmap' Attribute</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-the-dcsa-attribute">Use of the 'dcsa' Attribute</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.5">
                <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-of-the-dcsa-embedded-se">Use of the DCSA-Embedded 'setup' Attribute</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.6">
                <t indent="0" pn="section-toc.1-1.4.2.6.1"><xref derivedContent="4.6" format="counter" sectionFormat="of" target="section-4.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-closing">Session Closing</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.7">
                <t indent="0" pn="section-toc.1-1.4.2.7.1"><xref derivedContent="4.7" format="counter" sectionFormat="of" target="section-4.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-for-msrp-file-trans">Support for MSRP File Transfer Function</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.8">
                <t indent="0" pn="section-toc.1-1.4.2.8.1"><xref derivedContent="4.8" format="counter" sectionFormat="of" target="section-4.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example">Example</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-msrp-considerations">MSRP Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-mapping">Session Mapping</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-opening">Session Opening</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-session-closing-2">Session Closing</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-framing">Data Framing</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-sending-receiving-and-">Data Sending, Receiving, and Reporting</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-support-for-msrp-file-transf">Support for MSRP File Transfer Function</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-gateway-considerations">Gateway Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updates-to-rfc-4975">Updates to RFC 4975</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-msrps-uri-scheme">"msrps" URI scheme</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-subprotocol-identifier-msrp">Subprotocol Identifier "msrp"</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.3">
                <t indent="0" pn="section-toc.1-1.9.2.3.1"><xref derivedContent="9.3" format="counter" sectionFormat="of" target="section-9.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sdp-attributes">SDP Attributes</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
      The Message Session Relay Protocol (MSRP) <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> to work over
      TCP and TLS connections, and over a WebSocket subprotocol specified by <xref target="RFC7977" format="default" sectionFormat="of" derivedContent="RFC7977"/>.
      </t>
      <t indent="0" pn="section-1-2">
      This document specifies how a Web Real-Time Communication (WebRTC)
      data channel <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/> can be used
      to negotiate such a data channel.
      </t>
      <t indent="0" pn="section-1-3">
      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
      <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>.
      </t>
      <t indent="0" pn="section-1-4">Defining MSRP as a data channel subprotocol has many benefits:
      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-5">
        <li pn="section-1-5.1">provides to applications a proven protocol enabling instant messaging, file transfer, image sharing</li>
        <li pn="section-1-5.2">integrates those features with other WebRTC voice, video, and data features</li>
        <li pn="section-1-5.3">leverages the SDP-based negotiation already defined for MSRP</li>
        <li pn="section-1-5.4">allows the interworking with MSRP endpoints running on a TCP or TLS connection</li>
      </ul>
      <t indent="0" pn="section-1-6">
      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.
      </t>
      <t indent="0" pn="section-1-7">
   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.
      </t>
      <t indent="0" pn="section-1-8">
      This document updates <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> as described in <xref target="updates-to-rfc4975" format="default" sectionFormat="of" derivedContent="Section 7"/>.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-conventions">Conventions</name>
      <t indent="0" pn="section-2-1">
      The key words "<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 "<bcp14>OPTIONAL</bcp14>" in this document are to be 
interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as 
shown here. 
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-webrtc-data-channel-conside">WebRTC Data Channel Considerations</name>
      <section anchor="msrp-data-channel" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-msrp-data-channel">MSRP Data Channel</name>
        <t indent="0" pn="section-3.1-1">The following WebRTC data channel property values 
<xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/> apply to an MSRP data channel:</t>
        <table align="center" pn="table-1">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Property</th>
              <th align="left" colspan="1" rowspan="1">Value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">Subprotocol Identifier</td>
              <td align="left" colspan="1" rowspan="1">msrp</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Transmission reliability</td>
              <td align="left" colspan="1" rowspan="1">reliable</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Transmission order</td>
              <td align="left" colspan="1" rowspan="1">in-order</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Label</td>
              <td align="left" colspan="1" rowspan="1">See 
        <xref target="use-of-dcmap-attribute" format="default" sectionFormat="of" derivedContent="Section 4.3"/>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="sdp-cons" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-sdp-considerations">SDP Considerations</name>
      <t indent="0" pn="section-4-1">The generic SDP considerations, including the SDP offer/answer
        procedures <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/>, for negotiating a WebRTC data channel are
        defined in <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="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.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-msrp-uri">MSRP URI</name>
        <t indent="0" pn="section-4.1-1">This document extends the MSRP URI syntax <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> by defining the new transport parameter value "dc" (an abbreviation of data channel):</t>
        <sourcecode type="abnf" markers="false" pn="section-4.1-2">
    transport  /= "dc"
    ; Add "dc" to existing transports per Section 9 of [RFC4975]
</sourcecode>
        <t indent="0" pn="section-4.1-3">MSRP design provides for new transport bindings (see <xref target="RFC4975" section="6" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4975#section-6" derivedContent="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 (<xref target="use-of-dcsa-attribute" format="default" sectionFormat="of" derivedContent="Section 4.4"/>).</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-msrp-uri-msrp-scheme">MSRP URI msrp-scheme</name>
        <t indent="0" pn="section-4.2-1">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 <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>.</t>
      </section>
      <section anchor="use-of-dcmap-attribute" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-use-of-the-dcmap-attribute">Use of the 'dcmap' Attribute</name>
        <t indent="0" pn="section-4.3-1">An offerer and answerer <bcp14>SHALL</bcp14>, in each offer and answer, 
include a 'dcmap' attribute <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/> in the SDP 
media description ("m=" section) <xref target="RFC4566" format="default" sectionFormat="of" derivedContent="RFC4566"/> describing the SCTP association <xref target="RFC4960" format="default" sectionFormat="of" derivedContent="RFC4960"/> used to realize the MSRP data channel.</t>
        <t indent="0" pn="section-4.3-2">The attribute includes the following data channel parameters:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-3">
          <li pn="section-4.3-3.1">"label=" labelstring</li>
          <li pn="section-4.3-3.2">"subprotocol=" "msrp"</li>
        </ul>
        <t indent="0" pn="section-4.3-4">The labelstring is set by the MSRP application according to <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>.</t>
        <t indent="0" pn="section-4.3-5">The offerer and answerer <bcp14>SHALL NOT</bcp14> include the 
"max-retr" and the "max-time" attribute parameters in the 'dcmap' attribute.</t>
        <t indent="0" pn="section-4.3-6">The offerer and answerer <bcp14>MAY</bcp14> include the "ordered" attribute parameter in the 'dcmap' attribute. If included, the attribute parameter value <bcp14>SHALL</bcp14> be set to "true".</t>
        <t indent="0" pn="section-4.3-7">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":</t>
        <sourcecode type="sdp" markers="false" pn="section-4.3-8">
a=dcmap:2 label="chat";subprotocol="msrp"
</sourcecode>
      </section>
      <section anchor="use-of-dcsa-attribute" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-use-of-the-dcsa-attribute">Use of the 'dcsa' Attribute</name>
        <t indent="0" pn="section-4.4-1">        
        An offerer and answerer can, in each offer and answer, include one or
        more data channel subprotocol attributes ('dcsa' attributes) <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="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.
        </t>
        <t indent="0" pn="section-4.4-2">
        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 <xref target="RFC8864" section="6.7" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8864#section-6.7" derivedContent="RFC8864"/>.
        </t>
        <t indent="0" pn="section-4.4-3">
        An offerer and answerer <bcp14>SHALL</bcp14> include a 'dcsa' attribute for each of the following MSRP-specific SDP attributes:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.4-4">
          <li pn="section-4.4-4.1">defined in <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>: 'path'.</li>
          <li pn="section-4.4-4.2">defined in <xref target="RFC6714" format="default" sectionFormat="of" derivedContent="RFC6714"/>: 'msrp-cema'.</li>
          <li pn="section-4.4-4.3">defined in <xref target="RFC6135" format="default" sectionFormat="of" derivedContent="RFC6135"/>: 'setup'. 
              See <xref target="use-of-setup-attribute" format="default" sectionFormat="of" derivedContent="Section 4.5"/>.</li>
        </ul>
        <t indent="0" pn="section-4.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.
        </t>
        <t indent="0" pn="section-4.4-6">An offerer and answerer <bcp14>MAY</bcp14> include a 'dcsa' attribute for any of the following MSRP-specific SDP attributes, following the procedures defined for each attribute:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.4-7">
          <li pn="section-4.4-7.1">defined in <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>: 'accept-types', 'accept-wrapped-types', and 'max-size'.</li>
          <li pn="section-4.4-7.2">defined in <xref target="RFC4566" format="default" sectionFormat="of" derivedContent="RFC4566"/>: 'sendonly', 'recvonly', 'inactive', and 'sendrecv'.</li>
          <li pn="section-4.4-7.3">defined in <xref target="RFC5547" format="default" sectionFormat="of" derivedContent="RFC5547"/>: all the parameters related to MSRP file transfer. See <xref target="file_transfer_sdp" format="default" sectionFormat="of" derivedContent="Section 4.7"/>.</li>
        </ul>
        <t indent="0" pn="section-4.4-8">
        A subsequent offer or answer <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 <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>.
        </t>
        <t indent="0" pn="section-4.4-9">
        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 <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>, and the MSRP messages are then transported
        on that data channel. This is different from legacy MSRP <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> but similar to
        MSRP Connection Establishment for Media Anchoring  (MSRP CEMA) <xref target="RFC6714" format="default" sectionFormat="of" derivedContent="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 <bcp14>MUST</bcp14> still perform the MSRP URI comparison procedures defined in
        <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>.
        </t>
      </section>
      <section anchor="use-of-setup-attribute" numbered="true" toc="include" removeInRFC="false" pn="section-4.5">
        <name slugifiedName="name-use-of-the-dcsa-embedded-se">Use of the DCSA-Embedded 'setup' Attribute</name>
        <t indent="0" pn="section-4.5-1">
        As described in <xref target="use-of-dcsa-attribute" format="default" sectionFormat="of" derivedContent="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 
        <xref target="RFC6135" section="4.2.2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6135#section-4.2.2" derivedContent="RFC6135"/> and
        <xref target="RFC4975" section="5.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4975#section-5.4" derivedContent="RFC4975"/>. It has no relationship with the DTLS connection establishment roles <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/>.
        </t>
        <t indent="0" pn="section-4.5-2">
        The DCSA-embedded 'setup' attribute is of the form 
        "a=dcsa:x setup:&lt;role&gt;", 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.
        </t>
      </section>
      <section anchor="session-closing-sdp" numbered="true" toc="include" removeInRFC="false" pn="section-4.6">
        <name slugifiedName="name-session-closing">Session Closing</name>
        <t indent="0" pn="section-4.6-1">An MSRP session is closed by closing the associated data channel 
following the procedures in <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>.</t>
        <t indent="0" pn="section-4.6-2">The port value for the "m=" line <bcp14>SHOULD NOT</bcp14> 
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 <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="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 
<bcp14>SHALL</bcp14> remove the corresponding 'dcmap' and 'dcsa' attributes.</t>
      </section>
      <section anchor="file_transfer_sdp" numbered="true" toc="include" removeInRFC="false" pn="section-4.7">
        <name slugifiedName="name-support-for-msrp-file-trans">Support for MSRP File Transfer Function</name>
        <t indent="0" pn="section-4.7-1">SDP attributes specified in <xref target="RFC5547" format="default" sectionFormat="of" derivedContent="RFC5547"/> for a file transfer "m=" line are embedded as subprotocol-specific attributes using the syntax defined in <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>.</t>
      </section>
      <section anchor="example-sdp-negotiation" numbered="true" toc="include" removeInRFC="false" pn="section-4.8">
        <name slugifiedName="name-example">Example</name>
        <t indent="0" pn="section-4.8-1">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 <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> and <xref target="RFC5547" format="default" sectionFormat="of" derivedContent="RFC5547"/>.</t>
        <t indent="0" pn="section-4.8-2">Offer:</t>
        <sourcecode type="sdp" markers="false" pn="section-4.8-3">

   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

</sourcecode>
        <t indent="0" pn="section-4.8-4">Answer:</t>
        <sourcecode type="sdp" markers="false" pn="section-4.8-5">

   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

</sourcecode>
        <t indent="0" pn="section-4.8-6">
   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.
        </t>
      </section>
    </section>
    <section anchor="msrp-cons" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-msrp-considerations">MSRP Considerations</name>
      <t indent="0" pn="section-5-1">The procedures specified in <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/> apply except when this document specifies otherwise. This section describes the MSRP considerations specific to an MSRP data channel.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-session-mapping">Session Mapping</name>
        <t indent="0" pn="section-5.1-1">In this document, each MSRP session maps to one data channel exactly.</t>
      </section>
      <section anchor="session-opening-msrp" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-session-opening">Session Opening</name>
        <t indent="0" pn="section-5.2-1"><xref target="use-of-setup-attribute" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>.</t>
        <t indent="0" pn="section-5.2-2">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.</t>
      </section>
      <section anchor="session-closing" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-session-closing-2">Session Closing</name>
        <t indent="0" pn="section-5.3-1">The closure of an MSRP session <bcp14>SHALL</bcp14> be signaled via 
SDP following the requirements in <xref target="session-closing-sdp" format="default" sectionFormat="of" derivedContent="Section 4.6"/>.</t>
        <t indent="0" pn="section-5.3-2">If the data channel used to transport the MSRP session fails and is torn down, the MSRP data channel endpoints <bcp14>SHALL</bcp14> consider the MSRP session failed. An MSRP data channel endpoint <bcp14>MAY</bcp14>, based on local policy, try to negotiate a new MSRP data channel.</t>
      </section>
      <section anchor="data-framing" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-data-framing">Data Framing</name>
        <t indent="0" pn="section-5.4-1">Each text-based MSRP message is sent on the corresponding data channel using standard MSRP framing and chunking procedures, as defined in <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>, with each MSRP chunk delivered in a single SCTP user message. Therefore all sent MSRP chunks <bcp14>SHALL</bcp14> have lengths of less than or equal to the value of the peer's 'max-message-size' attribute <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/> associated with the SCTP association.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-data-sending-receiving-and-">Data Sending, Receiving, and Reporting</name>
        <t indent="0" pn="section-5.5-1">Data sending, receiving, and reporting procedures <bcp14>SHALL</bcp14> conform to <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>.</t>
      </section>
      <section anchor="file_transfer_msrp" numbered="true" toc="include" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-support-for-msrp-file-transf">Support for MSRP File Transfer Function</name>
        <t indent="0" pn="section-5.6-1"><xref target="RFC5547" format="default" sectionFormat="of" derivedContent="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:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.6-2">
          <li pn="section-5.6-2.1">As an MSRP session maps to one data channel, a file transfer session maps also to one data channel.</li>
          <li pn="section-5.6-2.2">SDP attributes are negotiated as specified in <xref target="file_transfer_sdp" format="default" sectionFormat="of" derivedContent="Section 4.7"/>.</li>
          <li pn="section-5.6-2.3">Once the file transfer is complete, the same data channel <bcp14>MAY</bcp14> be reused for another file transfer.</li>
        </ul>
      </section>
    </section>
    <section anchor="gateway-cons" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-gateway-considerations">Gateway Considerations</name>
      <t indent="0" pn="section-6-1">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 indent="0" pn="section-6-2">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 indent="0" pn="section-6-3">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 indent="0" pn="section-6-4">Alternately, the gateway can provide transport-level interworking between MSRP endpoints using different transport protocols. In accordance with <xref target="use-of-dcsa-attribute" format="default" sectionFormat="of" derivedContent="Section 4.4"/>, 
'path' attributes <bcp14>SHALL NOT</bcp14> be used for transport-level interworking.</t>
      <t indent="0" pn="section-6-5">When the gateway performs transport-level interworking between 
MSRP endpoints, all of the procedures in <xref target="sdp-cons" format="default" sectionFormat="of" derivedContent="Section 4"/> and 
<xref target="msrp-cons" format="default" sectionFormat="of" derivedContent="Section 5"/> apply to each peer, with the following additions:

      </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-6">
        <li pn="section-6-6.1">The gateway <bcp14>SHALL</bcp14> use the MSRP CEMA mechanism <xref target="RFC6714" format="default" sectionFormat="of" derivedContent="RFC6714"/> towards the non-data channel endpoint.</li>
        <li pn="section-6-6.2">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.</li>
        <li pn="section-6-6.3">The gateway <bcp14>SHALL NOT</bcp14> modify the 'path' attribute received from data channel or from non-data channel endpoints.</li>
        <li pn="section-6-6.4">The gateway <bcp14>SHALL NOT</bcp14> modify the 'setup' value 
received from data channel or from non-data channel endpoints.</li>
        <li pn="section-6-6.5">The endpoint establishing an MSRP session using data channel transport <bcp14>SHALL NOT</bcp14> request inclusion of any relays, although it <bcp14>MAY</bcp14> interoperate with a peer that signals the use of relays.</li>
      </ul>
    </section>
    <section anchor="updates-to-rfc4975" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-updates-to-rfc-4975">Updates to RFC 4975</name>
      <t indent="0" pn="section-7-1">This document updates <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>
by allowing the usage of the "msrps" scheme when the underlying connection is protected with DTLS.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">MSRP traffic over data channels, including confidentiality, integrity, and source authentication, 
is secured as specified by <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>.
      However, <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="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.</t>
      <t indent="0" pn="section-8-2"><xref target="RFC5547" format="default" sectionFormat="of" derivedContent="RFC5547"/> specifies security considerations related to the usage of MSRP for file transfer.</t>
      <t indent="0" pn="section-8-3"><xref target="RFC7092" format="default" sectionFormat="of" derivedContent="RFC7092"/> specifies security considerations related to B2BUAs.</t>
      <t indent="0" pn="section-8-4">Note that the discussion in <xref target="RFC4975" section="14.5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4975#section-14.5" derivedContent="RFC4975"/> on MSRP message attribution to remote identities applies to data channel transport.</t>
      <t indent="0" pn="section-8-5">If the Session Initiation Protocol (SIP) <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> is used to implement the offer/answer transactions for establishing the MSRP data channel, the SIP security considerations specified in <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> apply.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="IANA-reg-msrps" numbered="true" toc="include" removeInRFC="false" pn="section-9.1">
        <name slugifiedName="name-msrps-uri-scheme">"msrps" URI scheme</name>
        <t indent="0" pn="section-9.1-1">This document modifies the usage of the "msrps" URI scheme, 
registered by <xref target="RFC4975" format="default" sectionFormat="of" derivedContent="RFC4975"/>, 
by adding DTLS as a protected transport indicated by the URI scheme.</t>
        <t indent="0" pn="section-9.1-2">A reference to RFC 8873 has been added to the URI scheme "msrps" 
in the "Uniform Resource Identifier (URI) Schemes" registry.</t>
      </section>
      <section anchor="IANA-reg-MSRP" numbered="true" toc="include" removeInRFC="false" pn="section-9.2">
        <name slugifiedName="name-subprotocol-identifier-msrp">Subprotocol Identifier "msrp"</name>
        <t indent="0" pn="section-9.2-1">A reference to RFC 8873 has been added to the subprotocol identifier 
"msrp" in the "WebSocket Subprotocol Name Registry".</t>
      </section>
      <section anchor="IANA-reg-other-sdp" numbered="true" toc="include" removeInRFC="false" pn="section-9.3">
        <name slugifiedName="name-sdp-attributes">SDP Attributes</name>
        <t indent="0" pn="section-9.3-1">
      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 <xref target="use-of-setup-attribute" format="default" sectionFormat="of" derivedContent="Section 4.5"/>. The usage of the other
      SDP attributes is described in <xref target="use-of-dcsa-attribute" format="default" sectionFormat="of" derivedContent="Section 4.4"/>.
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9.3-2">
          <li pn="section-9.3-2.1">'accept-types'</li>
          <li pn="section-9.3-2.2">'accept-wrapped-types'</li>
          <li pn="section-9.3-2.3">'file-date'</li>
          <li pn="section-9.3-2.4">'file-disposition'</li>
          <li pn="section-9.3-2.5">'file-icon'</li>
          <li pn="section-9.3-2.6">'file-range'</li>
          <li pn="section-9.3-2.7">'file-selector'</li>
          <li pn="section-9.3-2.8">'file-transfer-id'</li>
          <li pn="section-9.3-2.9">'inactive'</li>
          <li pn="section-9.3-2.10">'max-size'</li>
          <li pn="section-9.3-2.11">'msrp-cema'</li>
          <li pn="section-9.3-2.12">'path'</li>
          <li pn="section-9.3-2.13">'recvonly'</li>
          <li pn="section-9.3-2.14">'sendonly'</li>
          <li pn="section-9.3-2.15">'sendrecv'</li>
        </ul>
        <t indent="0" pn="section-9.3-3">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-4">
          <dt pn="section-9.3-4.1">Contact name:</dt>
          <dd pn="section-9.3-4.2">IESG</dd>
          <dt pn="section-9.3-4.3">Contact email:</dt>
          <dd pn="section-9.3-4.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-4.5">Attribute name:</dt>
          <dd pn="section-9.3-4.6">accept-types</dd>
          <dt pn="section-9.3-4.7">Usage level:</dt>
          <dd pn="section-9.3-4.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-4.9">Purpose:</dt>
          <dd pn="section-9.3-4.10">Contain the list of media types that the endpoint is willing to receive.</dd>
          <dt pn="section-9.3-4.11">Reference:</dt>
          <dd pn="section-9.3-4.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-5">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-6">
          <dt pn="section-9.3-6.1">Contact name:</dt>
          <dd pn="section-9.3-6.2">IESG</dd>
          <dt pn="section-9.3-6.3">Contact email:</dt>
          <dd pn="section-9.3-6.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-6.5">Attribute name:</dt>
          <dd pn="section-9.3-6.6">accept-wrapped-types</dd>
          <dt pn="section-9.3-6.7">Usage level:</dt>
          <dd pn="section-9.3-6.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-6.9">Purpose:</dt>
          <dd pn="section-9.3-6.10">Contain the list of media types that the endpoint is willing to receive in an MSRP message with multipart content.</dd>
          <dt pn="section-9.3-6.11">Reference:</dt>
          <dd pn="section-9.3-6.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-7">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-8">
          <dt pn="section-9.3-8.1">Contact name:</dt>
          <dd pn="section-9.3-8.2">IESG</dd>
          <dt pn="section-9.3-8.3">Contact email:</dt>
          <dd pn="section-9.3-8.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-8.5">Attribute name:</dt>
          <dd pn="section-9.3-8.6">file-date</dd>
          <dt pn="section-9.3-8.7">Usage level:</dt>
          <dd pn="section-9.3-8.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-8.9">Purpose:</dt>
          <dd pn="section-9.3-8.10">Indicate one or more dates related to the file in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-8.11">Reference:</dt>
          <dd pn="section-9.3-8.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-9">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-10">
          <dt pn="section-9.3-10.1">Contact name:</dt>
          <dd pn="section-9.3-10.2">IESG</dd>
          <dt pn="section-9.3-10.3">Contact email:</dt>
          <dd pn="section-9.3-10.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-10.5">Attribute name:</dt>
          <dd pn="section-9.3-10.6">file-disposition</dd>
          <dt pn="section-9.3-10.7">Usage level:</dt>
          <dd pn="section-9.3-10.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-10.9">Purpose:</dt>
          <dd pn="section-9.3-10.10">Provide a suggestion to the other endpoint about the intended disposition of the file in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-10.11">Reference:</dt>
          <dd pn="section-9.3-10.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-11">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-12">
          <dt pn="section-9.3-12.1">Contact name:</dt>
          <dd pn="section-9.3-12.2">IESG</dd>
          <dt pn="section-9.3-12.3">Contact email:</dt>
          <dd pn="section-9.3-12.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-12.5">Attribute name:</dt>
          <dd pn="section-9.3-12.6">file-icon</dd>
          <dt pn="section-9.3-12.7">Usage level:</dt>
          <dd pn="section-9.3-12.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-12.9">Purpose:</dt>
          <dd pn="section-9.3-12.10">Contain a pointer to a small preview icon representing the contents of the file in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-12.11">Reference:</dt>
          <dd pn="section-9.3-12.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-13">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-14">
          <dt pn="section-9.3-14.1">Contact name:</dt>
          <dd pn="section-9.3-14.2">IESG</dd>
          <dt pn="section-9.3-14.3">Contact email:</dt>
          <dd pn="section-9.3-14.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-14.5">Attribute name:</dt>
          <dd pn="section-9.3-14.6">file-range</dd>
          <dt pn="section-9.3-14.7">Usage level:</dt>
          <dd pn="section-9.3-14.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-14.9">Purpose:</dt>
          <dd pn="section-9.3-14.10">Contain the range of transferred octets of the file in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-14.11">Reference:</dt>
          <dd pn="section-9.3-14.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-15">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-16">
          <dt pn="section-9.3-16.1">Contact name:</dt>
          <dd pn="section-9.3-16.2">IESG</dd>
          <dt pn="section-9.3-16.3">Contact email:</dt>
          <dd pn="section-9.3-16.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-16.5">Attribute name:</dt>
          <dd pn="section-9.3-16.6">file-selector</dd>
          <dt pn="section-9.3-16.7">Usage level:</dt>
          <dd pn="section-9.3-16.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-16.9">Purpose:</dt>
          <dd pn="section-9.3-16.10">Indicate a file in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-16.11">Reference:</dt>
          <dd pn="section-9.3-16.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-17">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-18">
          <dt pn="section-9.3-18.1">Contact name:</dt>
          <dd pn="section-9.3-18.2">IESG</dd>
          <dt pn="section-9.3-18.3">Contact email:</dt>
          <dd pn="section-9.3-18.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-18.5">Attribute name:</dt>
          <dd pn="section-9.3-18.6">file-transfer-id</dd>
          <dt pn="section-9.3-18.7">Usage level:</dt>
          <dd pn="section-9.3-18.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-18.9">Purpose:</dt>
          <dd pn="section-9.3-18.10">Indicate a unique identifier of the file transfer operation in an MSRP file transfer negotiation.</dd>
          <dt pn="section-9.3-18.11">Reference:</dt>
          <dd pn="section-9.3-18.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-19">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-20">
          <dt pn="section-9.3-20.1">Contact name:</dt>
          <dd pn="section-9.3-20.2">IESG</dd>
          <dt pn="section-9.3-20.3">Contact email:</dt>
          <dd pn="section-9.3-20.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-20.5">Attribute name:</dt>
          <dd pn="section-9.3-20.6">inactive</dd>
          <dt pn="section-9.3-20.7">Usage level:</dt>
          <dd pn="section-9.3-20.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-20.9">Purpose:</dt>
          <dd pn="section-9.3-20.10">Negotiate the direction of the media flow on an MSRP data channel.</dd>
          <dt pn="section-9.3-20.11">Reference:</dt>
          <dd pn="section-9.3-20.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-21">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-22">
          <dt pn="section-9.3-22.1">Contact name:</dt>
          <dd pn="section-9.3-22.2">IESG</dd>
          <dt pn="section-9.3-22.3">Contact email:</dt>
          <dd pn="section-9.3-22.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-22.5">Attribute name:</dt>
          <dd pn="section-9.3-22.6">max-size</dd>
          <dt pn="section-9.3-22.7">Usage level:</dt>
          <dd pn="section-9.3-22.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-22.9">Purpose:</dt>
          <dd pn="section-9.3-22.10">Indicate the largest message an MSRP endpoint wishes to accept.</dd>
          <dt pn="section-9.3-22.11">Reference:</dt>
          <dd pn="section-9.3-22.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-23">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-24">
          <dt pn="section-9.3-24.1">Contact name:</dt>
          <dd pn="section-9.3-24.2">IESG</dd>
          <dt pn="section-9.3-24.3">Contact email:</dt>
          <dd pn="section-9.3-24.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-24.5">Attribute name:</dt>
          <dd pn="section-9.3-24.6">msrp-cema</dd>
          <dt pn="section-9.3-24.7">Usage level:</dt>
          <dd pn="section-9.3-24.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-24.9">Purpose:</dt>
          <dd pn="section-9.3-24.10">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.</dd>
          <dt pn="section-9.3-24.11">Reference:</dt>
          <dd pn="section-9.3-24.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-25">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-26">
          <dt pn="section-9.3-26.1">Contact name:</dt>
          <dd pn="section-9.3-26.2">IESG</dd>
          <dt pn="section-9.3-26.3">Contact email:</dt>
          <dd pn="section-9.3-26.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-26.5">Attribute name:</dt>
          <dd pn="section-9.3-26.6">path</dd>
          <dt pn="section-9.3-26.7">Usage level:</dt>
          <dd pn="section-9.3-26.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-26.9">Purpose:</dt>
          <dd pn="section-9.3-26.10">Indicate an endpoint, but not used for routing, as described in 
<xref target="use-of-dcsa-attribute" format="default" sectionFormat="of" derivedContent="Section 4.4"/>.</dd>
          <dt pn="section-9.3-26.11">Reference:</dt>
          <dd pn="section-9.3-26.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-27">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-28">
          <dt pn="section-9.3-28.1">Contact name:</dt>
          <dd pn="section-9.3-28.2">IESG</dd>
          <dt pn="section-9.3-28.3">Contact email:</dt>
          <dd pn="section-9.3-28.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-28.5">Attribute name:</dt>
          <dd pn="section-9.3-28.6">recvonly</dd>
          <dt pn="section-9.3-28.7">Usage level:</dt>
          <dd pn="section-9.3-28.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-28.9">Purpose:</dt>
          <dd pn="section-9.3-28.10">Negotiate the direction of the media flow on an MSRP data channel.</dd>
          <dt pn="section-9.3-28.11">Reference:</dt>
          <dd pn="section-9.3-28.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-29">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-30">
          <dt pn="section-9.3-30.1">Contact name:</dt>
          <dd pn="section-9.3-30.2">IESG</dd>
          <dt pn="section-9.3-30.3">Contact email:</dt>
          <dd pn="section-9.3-30.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-30.5">Attribute name:</dt>
          <dd pn="section-9.3-30.6">sendonly</dd>
          <dt pn="section-9.3-30.7">Usage level:</dt>
          <dd pn="section-9.3-30.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-30.9">Purpose:</dt>
          <dd pn="section-9.3-30.10">Negotiate the direction of the media flow on an MSRP data channel.</dd>
          <dt pn="section-9.3-30.11">Reference:</dt>
          <dd pn="section-9.3-30.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-31">The usage level "dcsa (msrp)" has been added to the registration of the SDP 
'setup' attribute in the "att-field" subregistry as follows:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-32">
          <dt pn="section-9.3-32.1">Contact name:</dt>
          <dd pn="section-9.3-32.2">IESG</dd>
          <dt pn="section-9.3-32.3">Contact email:</dt>
          <dd pn="section-9.3-32.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-32.5">Attribute name:</dt>
          <dd pn="section-9.3-32.6">setup</dd>
          <dt pn="section-9.3-32.7">Usage level:</dt>
          <dd pn="section-9.3-32.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-32.9">Purpose:</dt>
          <dd pn="section-9.3-32.10">Negotiate the active role of an MSRP session over a data channel as per 
       <xref target="use-of-setup-attribute" format="default" sectionFormat="of" derivedContent="Section 4.5"/>.
              </dd>
          <dt pn="section-9.3-32.11">Reference:</dt>
          <dd pn="section-9.3-32.12">RFC 8873</dd>
        </dl>
        <t indent="0" pn="section-9.3-33">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:</t>
        <dl spacing="compact" indent="18" newline="false" pn="section-9.3-34">
          <dt pn="section-9.3-34.1">Contact name:</dt>
          <dd pn="section-9.3-34.2">IESG</dd>
          <dt pn="section-9.3-34.3">Contact email:</dt>
          <dd pn="section-9.3-34.4">iesg@ietf.org</dd>
          <dt pn="section-9.3-34.5">Attribute name:</dt>
          <dd pn="section-9.3-34.6">sendrecv</dd>
          <dt pn="section-9.3-34.7">Usage level:</dt>
          <dd pn="section-9.3-34.8">dcsa (msrp)</dd>
          <dt pn="section-9.3-34.9">Purpose:</dt>
          <dd pn="section-9.3-34.10">Negotiate the direction of the media flow on an MSRP data channel.</dd>
          <dt pn="section-9.3-34.11">Reference:</dt>
          <dd pn="section-9.3-34.12">RFC 8873</dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3264" target="https://www.rfc-editor.org/info/rfc3264" quoteTitle="true" derivedAnchor="RFC3264">
          <front>
            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="June"/>
            <abstract>
              <t indent="0">This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them.  In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective.  This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session.  The offer/answer model is used by protocols like the Session Initiation Protocol (SIP).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3264"/>
          <seriesInfo name="DOI" value="10.17487/RFC3264"/>
        </reference>
        <reference anchor="RFC4566" target="https://www.rfc-editor.org/info/rfc4566" quoteTitle="true" derivedAnchor="RFC4566">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Perkins" fullname="C. Perkins">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="July"/>
            <abstract>
              <t indent="0">This memo defines the Session Description Protocol (SDP).  SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4566"/>
          <seriesInfo name="DOI" value="10.17487/RFC4566"/>
        </reference>
        <reference anchor="RFC4960" target="https://www.rfc-editor.org/info/rfc4960" quoteTitle="true" derivedAnchor="RFC4960">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t indent="0">This document obsoletes RFC 2960 and RFC 3309.  It describes the Stream Control Transmission Protocol (SCTP).  SCTP is designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks, but is capable of broader applications.</t>
              <t indent="0">SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP.  It offers the following services to its users:</t>
              <t indent="0">--  acknowledged error-free non-duplicated transfer of user data,</t>
              <t indent="0">--  data fragmentation to conform to discovered path MTU size,</t>
              <t indent="0">--  sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages,</t>
              <t indent="0">--  optional bundling of multiple user messages into a single SCTP packet, and</t>
              <t indent="0">--  network-level fault tolerance through supporting of multi-homing at either or both ends of an association.</t>
              <t indent="0"> The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4960"/>
          <seriesInfo name="DOI" value="10.17487/RFC4960"/>
        </reference>
        <reference anchor="RFC4975" target="https://www.rfc-editor.org/info/rfc4975" quoteTitle="true" derivedAnchor="RFC4975">
          <front>
            <title>The Message Session Relay Protocol (MSRP)</title>
            <author initials="B." surname="Campbell" fullname="B. Campbell" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Mahy" fullname="R. Mahy" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jennings" fullname="C. Jennings" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t indent="0">This document describes the Message Session Relay Protocol, a protocol for transmitting a series of related instant messages in the context of a session.  Message sessions are treated like any other media stream when set up via a rendezvous or session creation protocol such as the Session Initiation Protocol.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4975"/>
          <seriesInfo name="DOI" value="10.17487/RFC4975"/>
        </reference>
        <reference anchor="RFC5547" target="https://www.rfc-editor.org/info/rfc5547" quoteTitle="true" derivedAnchor="RFC5547">
          <front>
            <title>A Session Description Protocol (SDP) Offer/Answer Mechanism to Enable File Transfer</title>
            <author initials="M." surname="Garcia-Martin" fullname="M. Garcia-Martin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Isomaki" fullname="M. Isomaki">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Camarillo" fullname="G. Camarillo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Loreto" fullname="S. Loreto">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Kyzivat" fullname="P. Kyzivat">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="May"/>
            <abstract>
              <t indent="0">This document provides a mechanism to negotiate the transfer of one or more files between two endpoints by using the Session Description Protocol (SDP) offer/answer model specified in RFC 3264.  SDP is extended to describe the attributes of the files to be transferred. The offerer can describe either the files it wants to send or the files it would like to receive.  The answerer can either accept or reject the offer separately for each individual file.  The transfer of one or more files is initiated after a successful negotiation. The Message Session Relay Protocol (MSRP) is defined as the default mechanism to actually carry the files between the endpoints.  The conventions on how to use MSRP for file transfer are also provided in this document.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5547"/>
          <seriesInfo name="DOI" value="10.17487/RFC5547"/>
        </reference>
        <reference anchor="RFC6135" target="https://www.rfc-editor.org/info/rfc6135" quoteTitle="true" derivedAnchor="RFC6135">
          <front>
            <title>An Alternative Connection Model for the Message Session Relay Protocol (MSRP)</title>
            <author initials="C." surname="Holmberg" fullname="C. Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Blau" fullname="S. Blau">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="February"/>
            <abstract>
              <t indent="0">This document defines an alternative connection model for Message Session Relay Protocol (MSRP) User Agents (UAs); this model uses the connection-oriented media (COMEDIA) mechanism in order to create the MSRP transport connection.  The model allows MSRP UAs behind Network Address Translators (NATs) to negotiate which endpoint initiates the establishment of the Transmission Control Protocol (TCP) connection, in order for MSRP messages to traverse the NAT.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6135"/>
          <seriesInfo name="DOI" value="10.17487/RFC6135"/>
        </reference>
        <reference anchor="RFC6714" target="https://www.rfc-editor.org/info/rfc6714" quoteTitle="true" derivedAnchor="RFC6714">
          <front>
            <title>Connection Establishment for Media Anchoring (CEMA) for the Message Session Relay Protocol (MSRP)</title>
            <author initials="C." surname="Holmberg" fullname="C. Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Blau" fullname="S. Blau">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Burger" fullname="E. Burger">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="August"/>
            <abstract>
              <t indent="0">This document defines a Message Session Relay Protocol (MSRP) extension, Connection Establishment for Media Anchoring (CEMA). Support of this extension is OPTIONAL.  The extension allows middleboxes to anchor the MSRP connection, without the need for middleboxes to modify the MSRP messages; thus, it also enables secure end-to-end MSRP communication in networks where such middleboxes are deployed.  This document also defines a Session Description Protocol (SDP) attribute, 'msrp-cema', that MSRP endpoints use to indicate support of the CEMA extension.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6714"/>
          <seriesInfo name="DOI" value="10.17487/RFC6714"/>
        </reference>
        <reference anchor="RFC7977" target="https://www.rfc-editor.org/info/rfc7977" quoteTitle="true" derivedAnchor="RFC7977">
          <front>
            <title>The WebSocket Protocol as a Transport for the Message Session Relay Protocol (MSRP)</title>
            <author initials="P." surname="Dunkley" fullname="P. Dunkley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Llewellyn" fullname="G. Llewellyn">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Pascual" fullname="V. Pascual">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Salgueiro" fullname="G. Salgueiro">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Ravindranath" fullname="R. Ravindranath">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="September"/>
            <abstract>
              <t indent="0">The WebSocket protocol enables two-way real-time communication between clients and servers in situations where direct access to TCP and UDP is not available (for example, from within JavaScript in a web browser).  This document specifies a new WebSocket subprotocol as a reliable transport mechanism between Message Session Relay Protocol (MSRP) clients and relays to enable usage of MSRP in new scenarios. This document normatively updates RFCs 4975 and 4976.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7977"/>
          <seriesInfo name="DOI" value="10.17487/RFC7977"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8831" target="https://www.rfc-editor.org/info/rfc8831" quoteTitle="true" derivedAnchor="RFC8831">
          <front>
            <title>WebRTC Data Channels</title>
            <author initials="R" surname="Jesup" fullname="Randell Jesup">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Loreto" fullname="Salvatore Loreto">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Tüxen" fullname="Michael Tüxen">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8831"/>
          <seriesInfo name="DOI" value="10.17487/RFC8831"/>
        </reference>
        <reference anchor="RFC8841" target="https://www.rfc-editor.org/info/rfc8841" quoteTitle="true" derivedAnchor="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 showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Shpount" fullname="Roman Shpount">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Loreto" fullname="Salvatore Loreto">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Camarillo" fullname="Gonzalo Camarillo">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8841"/>
          <seriesInfo name="DOI" value="10.17487/RFC8841"/>
        </reference>
        <reference anchor="RFC8864" target="https://www.rfc-editor.org/info/rfc8864" quoteTitle="true" derivedAnchor="RFC8864">
          <front>
            <title>Negotiation Data Channels Using the Session Description Protocol (SDP)</title>
            <author fullname="Keith Drage" initials="K." surname="Drage">
              <organization showOnFrontPage="true">Unaffiliated</organization>
            </author>
            <author fullname="Raju Makaraju" initials="M." surname="Makaraju">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Richard Ejzak" initials="R." surname="Ejzak">
              <organization showOnFrontPage="true">Unaffiliated</organization>
            </author>
            <author fullname="Jerome Marcon" initials="J." surname="Marcon">
              <organization showOnFrontPage="true">Unaffiliated</organization>
            </author>
            <author fullname="Roni Even" initials="R." surname="Even" role="editor">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8864"/>
          <seriesInfo name="DOI" value="10.17487/RFC8864"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" quoteTitle="true" derivedAnchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Camarillo" fullname="G. Camarillo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Johnston" fullname="A. Johnston">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Sparks" fullname="R. Sparks">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Schooler" fullname="E. Schooler">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="June"/>
            <abstract>
              <t indent="0">This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants.  These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC7092" target="https://www.rfc-editor.org/info/rfc7092" quoteTitle="true" derivedAnchor="RFC7092">
          <front>
            <title>A Taxonomy of Session Initiation Protocol (SIP) Back-to-Back User Agents</title>
            <author initials="H." surname="Kaplan" fullname="H. Kaplan">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Pascual" fullname="V. Pascual">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="December"/>
            <abstract>
              <t indent="0">In many SIP deployments, SIP entities exist in the SIP signaling path between the originating and final terminating endpoints, which go beyond the definition of a SIP proxy, performing functions not defined in Standards Track RFCs.  The only term for such devices provided in RFC 3261 is for a Back-to-Back User Agent (B2BUA), which is defined as the logical concatenation of a SIP User Agent Server (UAS) and User Agent Client (UAC).</t>
              <t indent="0">There are numerous types of SIP B2BUAs performing different roles in different ways; for example, IP Private Branch Exchanges (IPBXs), Session Border Controllers (SBCs), and Application Servers (ASs). This document identifies several common B2BUA roles in order to provide taxonomy other documents can use and reference.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7092"/>
          <seriesInfo name="DOI" value="10.17487/RFC7092"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">The authors wish to acknowledge the borrowing of ideas from
      another Internet-Draft by <contact fullname="Peter Dunkley"/> and
      <contact fullname="Gavin Llewellyn"/>, and to thank 
      <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 indent="0" pn="section-appendix.a-2"><contact fullname="Richard Ejzak"/>, <contact fullname="Keith Drage"/>, and 
      <contact fullname="Juergen Stoetzer-Bradler"/> contributed to an earlier draft version
      of this document before the draft was readopted.</t>
      <t indent="0" pn="section-appendix.a-3"><contact fullname="Julien Maisonneuve"/> helped with the readoption of this document, and  
      <contact fullname="Maridi R. Makaraju (Raju)"/> contributed valuable comments 
      after the document was readopted.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="JM." surname="Recio" fullname="Jose M. Recio" role="editor">
        <organization showOnFrontPage="true">Unaffiliated</organization>
        <address>
          <email>jose@ch3m4.com</email>
        </address>
      </author>
      <author initials="C." surname="Holmberg" fullname="Christer Holmberg">
        <organization showOnFrontPage="true">Ericsson</organization>
        <address>
          <postal>
            <street>Hirsalantie 11</street>
            <city>Jorvas</city>
            <code>02420</code>
            <country>Finland</country>
          </postal>
          <email>christer.holmberg@ericsson.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
