<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="true" docName="draft-ietf-clue-datachannel-18" indexInclude="true" ipr="trust200902" number="8850" prepTime="2021-01-17T22:41:47" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-clue-datachannel-18" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8850" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="CLUE Data Channel">Controlling Multiple Streams for Telepresence (CLUE) Protocol Data Channel</title>
    <seriesInfo name="RFC" value="8850" stream="IETF"/>
    <author initials="C." surname="Holmberg" fullname="Christer Holmberg">
      <organization showOnFrontPage="true">Ericsson</organization>
      <address>
        <postal>
          <street>Hirsalantie 11</street>
          <code>02420</code>
          <city>Jorvas</city>
          <country>Finland</country>
        </postal>
        <email>christer.holmberg@ericsson.com</email>
      </address>
    </author>
    <date month="01" year="2021"/>
    <keyword>SIP</keyword>
    <keyword>SDP</keyword>
    <keyword>DTLS</keyword>
    <keyword>SCTP</keyword>
    <keyword>DATA</keyword>
    <keyword>CHANNEL</keyword>
    <keyword>DCEP</keyword>
    <keyword>DATA_CHANNEL_OPEN</keyword>
    <keyword>DATA_CHANNEL_ACK</keyword>
    <keyword>PPID</keyword>
    <keyword>TELEPRESENCE</keyword>
    <keyword>RTCWEB</keyword>
    <keyword>WEBRTC</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
        This document defines how to use the WebRTC data channel
        mechanism to realize a data channel, referred to
        as a Controlling Multiple Streams for Telepresence (CLUE) data channel, for transporting CLUE protocol
        messages between two CLUE entities.
      </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 document is not an Internet Standards Track specification; it is
            published for examination, experimental implementation, and
            evaluation.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document defines an Experimental Protocol for the Internet
            community.  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).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see 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/rfc8850" 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-clue-data-channel">CLUE Data Channel</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-general">General</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sctp-considerations">SCTP Considerations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-2">General</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sctp-payload-protocol-ident">SCTP Payload Protocol Identifier (PPID)</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.3.1"><xref derivedContent="3.2.3" format="counter" sectionFormat="of" target="section-3.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reliability">Reliability</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.4.1"><xref derivedContent="3.2.4" format="counter" sectionFormat="of" target="section-3.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-order">Order</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.5">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.5.1"><xref derivedContent="3.2.5" format="counter" sectionFormat="of" target="section-3.2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-stream-reset">Stream Reset</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.6">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.6.1"><xref derivedContent="3.2.6" format="counter" sectionFormat="of" target="section-3.2.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sctp-multihoming">SCTP Multihoming</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.7">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.7.1"><xref derivedContent="3.2.7" format="counter" sectionFormat="of" target="section-3.2.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-closing-the-clue-data-chann">Closing the CLUE Data Channel</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <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.3.2.3.2">
                  <li pn="section-toc.1-1.3.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.3.2.1.1"><xref derivedContent="3.3.1" format="counter" sectionFormat="of" target="section-3.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-general-3">General</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.3.2.2.1"><xref derivedContent="3.3.2" format="counter" sectionFormat="of" target="section-3.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sdp-dcmap-attribute">SDP dcmap Attribute</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.3.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.3.2.3.1"><xref derivedContent="3.3.3" format="counter" sectionFormat="of" target="section-3.3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sdp-dcsa-attribute">SDP dcsa Attribute</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.3.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.3.2.4.1"><xref derivedContent="3.3.4" format="counter" sectionFormat="of" target="section-3.3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example">Example</xref></t>
                  </li>
                </ul>
              </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-security-considerations">Security Considerations</xref></t>
          </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-iana-considerations">IANA 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-subprotocol-identifier-clue">Subprotocol Identifier "clue"</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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
        This document defines how to use the WebRTC data channel
        mechanism <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/> to realize a
        data channel, referred to as a Controlling Multiple Streams for
	Telepresence (CLUE) data channel, for
        transporting CLUE protocol messages <xref target="RFC8847" format="default" sectionFormat="of" derivedContent="RFC8847"/> between two CLUE entities.
      </t>
      <t indent="0" pn="section-1-2">
        This document also defines how to describe the SCTPoDTLS association
        <xref target="RFC8261" format="default" sectionFormat="of" derivedContent="RFC8261"/> (also referred to as
        "SCTP over DTLS" in this document) used to 
                realize the CLUE data channel using the Session Description Protocol (SDP) 
                <xref target="RFC4566" format="default" sectionFormat="of" derivedContent="RFC4566"/> and defines usage of the
        SDP-based "SCTP over DTLS" data channel negotiation mechanism
        <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>. ("SCTP" stands for "Stream
	Control Transmission Protocol".) This includes SCTP
        considerations specific to a CLUE data channel, the SDP media
        description ("m=" line) values, and usage of SDP attributes specific
        to a CLUE data channel.
      </t>
      <t indent="0" pn="section-1-3">
        Details and procedures associated with the CLUE protocol, and the
        SDP Offer/Answer procedures <xref target="RFC3264" format="default" sectionFormat="of" derivedContent="RFC3264"/>
        for negotiating usage of a CLUE data channel, are outside
        the scope of this document.
      </t>
      <aside pn="section-1-4">
        <t indent="0" pn="section-1-4.1">NOTE: The usage of the Data Channel Establishment Protocol (DCEP)
        <xref target="RFC8832" format="default" sectionFormat="of" derivedContent="RFC8832"/>
        for establishing a CLUE data channel is outside the scope of this document.</t>
      </aside>
    </section>
    <section toc="include" numbered="true" 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>
      <dl newline="true" spacing="normal" indent="3" pn="section-2-2">
        <dt pn="section-2-2.1">SCTPoDTLS association</dt>
        <dd pn="section-2-2.2">Refers to an SCTP association carried over a DTLS connection <xref target="RFC8261" format="default" sectionFormat="of" derivedContent="RFC8261"/>.</dd>
        <dt pn="section-2-2.3">WebRTC data channel</dt>
        <dd pn="section-2-2.4">Refers to a pair of SCTP streams over an
SCTPoDTLS association that is used to transport non-media
data between two entities, as defined in <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>.</dd>
        <dt pn="section-2-2.5">CLUE data channel</dt>
        <dd pn="section-2-2.6">Refers to a WebRTC data channel realization <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, with a specific set of
SCTP characteristics, with the purpose of transporting CLUE
protocol messages <xref target="RFC8847" format="default" sectionFormat="of" derivedContent="RFC8847"/> between two CLUE entities.</dd>
        <dt pn="section-2-2.7">CLUE entity</dt>
        <dd pn="section-2-2.8">Refers to a SIP User Agent (UA) <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> that supports the CLUE data channel
and the CLUE protocol.</dd>
        <dt pn="section-2-2.9">CLUE session</dt>
        <dd pn="section-2-2.10">Refers to a SIP session <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/> between two SIP UAs, where a
CLUE data channel, associated with the SIP session, has been
established between the SIP UAs.</dd>
        <dt pn="section-2-2.11">SCTP stream</dt>
        <dd pn="section-2-2.12">Defined in <xref target="RFC4960" format="default" sectionFormat="of" derivedContent="RFC4960"/> as a unidirectional logical channel
established from one to another associated SCTP endpoint,
within which all user messages are delivered in sequence except
for those submitted to the unordered delivery service.</dd>
        <dt pn="section-2-2.13">SCTP stream identifier</dt>
        <dd pn="section-2-2.14">Defined in <xref target="RFC4960" format="default" sectionFormat="of" derivedContent="RFC4960"/> as an unsigned
    integer.  Identifies an SCTP stream.</dd>
      </dl>
    </section>
    <section anchor="section.dtls" toc="include" numbered="true" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-clue-data-channel">CLUE Data Channel</name>
      <section anchor="section.cdc.gen" toc="include" numbered="true" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-general">General</name>
        <t indent="0" pn="section-3.1-1">
        This section describes the realization of a CLUE data channel,
        using the WebRTC data channel mechanism.
        This includes a set of SCTP characteristics specific to a
        CLUE data channel, the values of the "m=" line describing
        the SCTPoDTLS association associated with the WebRTC
        data channel, and the usage of the SDP-based "SCTP
        over DTLS" data channel negotiation mechanism for creating the
        CLUE data channel.
        </t>
        <t indent="0" pn="section-3.1-2">
        As described in <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, the SCTP streams realizing
        a WebRTC data channel must be associated with the same SCTP association.
        In addition, both SCTP streams realizing the WebRTC data channel must
        use the same SCTP stream identifier value. These rules also apply to
        a CLUE data channel.
        </t>
        <t indent="0" pn="section-3.1-3">
        Within a given CLUE session, a CLUE entity <bcp14>MUST</bcp14> use a single CLUE
        data channel for transport of all CLUE messages towards its peer.
        </t>
      </section>
      <section anchor="section.cdc.sctp" toc="include" numbered="true" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-sctp-considerations">SCTP Considerations</name>
        <section anchor="section.cdc.sctp.gen" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-general-2">General</name>
          <t indent="0" pn="section-3.2.1-1">
                As described in <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, different SCTP options
                (e.g., regarding ordered delivery) can be used for a
                data channel. This section describes the SCTP options
                used for a CLUE data channel. <xref target="section.oa" format="default" sectionFormat="of" derivedContent="Section 3.3"/> describes how SCTP options are signaled using SDP.
          </t>
        </section>
        <section anchor="section.cdc.sctp.ppid" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-sctp-payload-protocol-ident">SCTP Payload Protocol Identifier (PPID)</name>
          <t indent="0" pn="section-3.2.2-1">
                A CLUE entity <bcp14>MUST</bcp14> use the PPID value 51 when sending a CLUE message
                on a CLUE data channel.
          </t>
          <aside pn="section-3.2.2-2">
            <t indent="0" pn="section-3.2.2-2.1">
                   NOTE: As described in <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, the PPID value 51 indicates that
                the SCTP message contains data encoded in UTF-8 format. The PPID
                value 51 does not indicate which application protocol the SCTP message
                is associated with -- only the format in which the data is encoded.
            </t>
          </aside>
        </section>
        <section anchor="section.cdc.sctp.reliability" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.3">
          <name slugifiedName="name-reliability">Reliability</name>
          <t indent="0" pn="section-3.2.3-1">
                The usage of SCTP for the CLUE data channel ensures reliable transport of 
                CLUE protocol messages <xref target="RFC8847" format="default" sectionFormat="of" derivedContent="RFC8847"/>.</t>
          <t indent="0" pn="section-3.2.3-2">
                <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>
           	requires the support of the partial reliability extension defined in <xref target="RFC3758" format="default" sectionFormat="of" derivedContent="RFC3758"/> and the limited retransmission policy defined in
           	<xref target="RFC7496" format="default" sectionFormat="of" derivedContent="RFC7496"/>. A CLUE entity <bcp14>MUST NOT</bcp14> use 
                these extensions, as messages are required to always be sent reliably. A CLUE entity <bcp14>MUST</bcp14> 
                terminate the session if it detects that the peer entity uses any of the extensions.
          </t>
        </section>
        <section anchor="section.cdc.sctp.order" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.4">
          <name slugifiedName="name-order">Order</name>
          <t indent="0" pn="section-3.2.4-1">
                A CLUE entity <bcp14>MUST</bcp14> use the ordered delivery SCTP service, as
                described in <xref target="RFC4960" format="default" sectionFormat="of" derivedContent="RFC4960"/>,
                for the CLUE data channel.
          </t>
        </section>
        <section anchor="section.cdc.sctp.streamreset" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.5">
          <name slugifiedName="name-stream-reset">Stream Reset</name>
          <t indent="0" pn="section-3.2.5-1">
                A CLUE entity <bcp14>MUST</bcp14> support the stream reset extension defined in <xref target="RFC6525" format="default" sectionFormat="of" derivedContent="RFC6525"/>.
          </t>
          <t indent="0" pn="section-3.2.5-2">
                Per <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>,
                the dynamic address reconfiguration extension parameter ('Supported Extensions Parameter')
                defined in <xref target="RFC5061" format="default" sectionFormat="of" derivedContent="RFC5061"/> must be used to signal the
            support of the stream reset extension defined in <xref target="RFC6525" format="default" sectionFormat="of" derivedContent="RFC6525"/>.
 Other features defined in <xref target="RFC5061" format="default" sectionFormat="of" derivedContent="RFC5061"/>
            <bcp14>MUST NOT</bcp14> be used for CLUE data channels.
          </t>
        </section>
        <section anchor="section.cdc.sctp.multihome" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.6">
          <name slugifiedName="name-sctp-multihoming">SCTP Multihoming</name>
          <t indent="0" pn="section-3.2.6-1">
                SCTP multihoming is not supported for SCTPoDTLS associations
		and therefore cannot be used for a CLUE data channel.
          </t>
        </section>
        <section anchor="section.cdcp.proc.close" toc="include" numbered="true" removeInRFC="false" pn="section-3.2.7">
          <name slugifiedName="name-closing-the-clue-data-chann">Closing the CLUE Data Channel</name>
          <t indent="0" pn="section-3.2.7-1">
                As described in <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, to close a data channel, an entity sends an SCTP reset
                message <xref target="RFC6525" format="default" sectionFormat="of" derivedContent="RFC6525"/> on its outgoing
                SCTP stream associated with the data channel. When the remote peer receives the reset
                message, it also sends (unless already sent) a reset message on its outgoing SCTP
                stream associated with the data channel. The SCTPoDTLS association, and other data channels
                established on the same association, are not affected by the SCTP reset messages.
          </t>
        </section>
      </section>
      <section anchor="section.oa" toc="include" numbered="true" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-sdp-considerations">SDP Considerations</name>
        <section anchor="section.oa.gen" toc="include" numbered="true" removeInRFC="false" pn="section-3.3.1">
          <name slugifiedName="name-general-3">General</name>
          <t indent="0" pn="section-3.3.1-1">This section defines how to (1) construct the SDP media description
          ("m=" line) for describing the SCTPoDTLS association used to realize
          a CLUE data channel and (2) use the
          SDP-based "SCTP over DTLS" data  channel negotiation mechanism
          <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/> for establishing
          a CLUE data channel on the SCTPoDTLS association.</t>
          <aside pn="section-3.3.1-2">
            <t indent="0" pn="section-3.3.1-2.1">
                NOTE: Protocols other than SDP for negotiating usage of an SCTPoDTLS
                association for realizing a CLUE data channel are outside the scope
                of this specification.
            </t>
          </aside>
          <t indent="0" pn="section-3.3.1-3">
                <xref target="RFC8848" format="default" sectionFormat="of" derivedContent="RFC8848"/>
                describes the SDP Offer/Answer procedures for negotiating a CLUE session,
                including the CLUE-controlled media streams and the CLUE data channel.
          </t>
          <section anchor="section.oa.mediadesc" toc="exclude" numbered="true" removeInRFC="false" pn="section-3.3.1.1">
            <name slugifiedName="name-sdp-media-description-field">SDP Media Description Fields</name>
            <t indent="0" pn="section-3.3.1.1-1">
                    <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/> defines how
                to set the values of an "m=" line describing an SCTPoDTLS association. As defined in
                <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/>, for a 
                CLUE data channel the values are set as follows:
            </t>
            <table anchor="table_SDP_mediadesc" align="center" pn="table-1">
              <name slugifiedName="name-sdp-proto-field-values">SDP "proto" Field Values</name>
              <thead>
                <tr>
                  <th align="center" colspan="1" rowspan="1">media</th>
                  <th align="center" colspan="1" rowspan="1">port</th>
                  <th align="center" colspan="1" rowspan="1">proto</th>
                  <th align="center" colspan="1" rowspan="1">fmt</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="center" colspan="1" rowspan="1">"application"</td>
                  <td align="center" colspan="1" rowspan="1">UDP port value</td>
                  <td align="center" colspan="1" rowspan="1">"UDP/DTLS/SCTP"</td>
                  <td align="center" colspan="1" rowspan="1">"webrtc-datachannel"</td>
                </tr>
                <tr>
                  <td align="center" colspan="1" rowspan="1">"application"</td>
                  <td align="center" colspan="1" rowspan="1">TCP port value</td>
                  <td align="center" colspan="1" rowspan="1">"TCP/DTLS/SCTP"</td>
                  <td align="center" colspan="1" rowspan="1">"webrtc-datachannel"</td>
                </tr>
              </tbody>
            </table>
            <t indent="0" pn="section-3.3.1.1-3">
                CLUE entities <bcp14>SHOULD NOT</bcp14> transport the SCTPoDTLS association used to
                realize the CLUE data channel over TCP (using the "TCP/DTLS/SCTP"
                proto value), unless it is known that UDP/DTLS/SCTP will not work
                (for instance, when the Interactive Connectivity Establishment
                (ICE) mechanism <xref format="default" target="RFC8445" sectionFormat="of" derivedContent="RFC8445"/>
                is used and the ICE procedures determine that TCP transport is required).
            </t>
          </section>
          <section anchor="section.oa.sctpport" toc="exclude" numbered="true" removeInRFC="false" pn="section-3.3.1.2">
            <name slugifiedName="name-sdp-sctp-port-attribute">SDP sctp-port Attribute</name>
            <t indent="0" pn="section-3.3.1.2-1">
                As defined in <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/>,
                the SDP sctp-port attribute value is set to the SCTP port of the SCTPoDTLS association. A
                CLUE entity can choose any valid SCTP port value <xref target="RFC8841" format="default" sectionFormat="of" derivedContent="RFC8841"/>.
            </t>
          </section>
        </section>
        <section anchor="section.oa.dcmap" toc="include" numbered="true" removeInRFC="false" pn="section-3.3.2">
          <name slugifiedName="name-sdp-dcmap-attribute">SDP dcmap Attribute</name>
          <t indent="0" pn="section-3.3.2-1">
                The values of the SDP dcmap attribute <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/>, associated with the "m=" line describing the SCTPoDTLS
                association used to realize the WebRTC data channel, are set as follows:
          </t>
          <table anchor="table_SDP_dcmap" align="center" pn="table-2">
            <name slugifiedName="name-sdp-dcmap-attribute-values">SDP dcmap Attribute Values</name>
            <thead>
              <tr>
                <th align="center" colspan="1" rowspan="1">stream-id</th>
                <th align="center" colspan="1" rowspan="1">subprotocol</th>
                <th align="center" colspan="1" rowspan="1">label</th>
                <th align="center" colspan="1" rowspan="1">ordered</th>
                <th align="center" colspan="1" rowspan="1">max-retr</th>
                <th align="center" colspan="1" rowspan="1">max-time</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center" colspan="1" rowspan="1">Value of the SCTP stream used to realize the CLUE data channel</td>
                <td align="center" colspan="1" rowspan="1">"CLUE"</td>
                <td align="center" colspan="1" rowspan="1">Application specific</td>
                <td align="center" colspan="1" rowspan="1">"true"</td>
                <td align="center" colspan="1" rowspan="1">N/A</td>
                <td align="center" colspan="1" rowspan="1">N/A</td>
              </tr>
            </tbody>
          </table>
          <aside pn="section-3.3.2-3">
            <t indent="0" pn="section-3.3.2-3.1">
                NOTE: As CLUE entities are required to use ordered SCTP message delivery,
                with full reliability, according to the procedures in
                <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/> the max-retr and max-time attribute parameters
                are not used when negotiating CLUE data channels.
            </t>
          </aside>
        </section>
        <section anchor="section.oa.dcsa" toc="include" numbered="true" removeInRFC="false" pn="section-3.3.3">
          <name slugifiedName="name-sdp-dcsa-attribute">SDP dcsa Attribute</name>
          <t indent="0" pn="section-3.3.3-1">
                The SDP dcsa attribute <xref target="RFC8864" format="default" sectionFormat="of" derivedContent="RFC8864"/> is not used when establishing a CLUE data channel.
          </t>
        </section>
        <section anchor="section.oa.example" toc="include" numbered="true" removeInRFC="false" pn="section-3.3.4">
          <name slugifiedName="name-example">Example</name>
          <t indent="0" pn="section-3.3.4-1">
                The example in <xref target="figure_SDP_example" format="default" sectionFormat="of" derivedContent="Figure 1"/> shows 
                an SDP media description for a CLUE data channel. Complete SDP examples can be found 
                in <xref target="RFC8848" format="default" sectionFormat="of" derivedContent="RFC8848"/>.
          </t>
          <figure anchor="figure_SDP_example" align="left" suppress-title="false" pn="figure-1">
            <name slugifiedName="name-sdp-media-description-for-a">SDP Media Description for a CLUE Data Channel</name>
            <sourcecode name="sdp-1" type="sdp" markers="false" pn="section-3.3.4-2.1">
         m=application 54111 UDP/DTLS/SCTP webrtc-datachannel
         a=sctp-port: 5000
         a=dcmap:2 subprotocol="CLUE";ordered=true</sourcecode>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="section.sec" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-1">
                This specification relies on the security properties of the WebRTC data channel described in
                <xref target="RFC8831" format="default" sectionFormat="of" derivedContent="RFC8831"/>, including
                reliance on DTLS. Since CLUE sessions are established using SIP/SDP, protecting the data
                channel against message modification and recovery requires the use of SIP authentication
                and authorization mechanisms described in <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/>
                for session establishment prior to establishing the data channel.
      </t>
    </section>
    <section anchor="section.iana" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="section.iana.dc" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-subprotocol-identifier-clue">Subprotocol Identifier "clue"</name>
        <t indent="0" pn="section-5.1-1">
        This document adds the subprotocol identifier "clue" to the "WebSocket Subprotocol Name Registry"
        as follows:
        </t>
        <table anchor="clue-reg" align="center" pn="table-3">
          <name slugifiedName="name-registration-of-clue-value">Registration of 'clue' Value</name>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">Subprotocol Identifier</td>
              <td align="left" colspan="1" rowspan="1">clue</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Subprotocol Common Name</td>
              <td align="left" colspan="1" rowspan="1">CLUE</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Subprotocol Definition</td>
              <td align="left" colspan="1" rowspan="1">RFC 8850</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Reference</td>
              <td align="left" colspan="1" rowspan="1">RFC 8850</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.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="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="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="RFC5061" target="https://www.rfc-editor.org/info/rfc5061" quoteTitle="true" derivedAnchor="RFC5061">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Xie" fullname="Q. Xie">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Maruyama" fullname="S. Maruyama">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Kozuka" fullname="M. Kozuka">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t indent="0">A local host may have multiple points of attachment to the Internet, giving it a degree of fault tolerance from hardware failures.  Stream Control Transmission Protocol (SCTP) (RFC 4960) was developed to take full advantage of such a multi-homed host to provide a fast failover and association survivability in the face of such hardware failures. This document describes an extension to SCTP that will allow an SCTP stack to dynamically add an IP address to an SCTP association, dynamically delete an IP address from an SCTP association, and to request to set the primary address the peer will use when sending to an endpoint.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5061"/>
          <seriesInfo name="DOI" value="10.17487/RFC5061"/>
        </reference>
        <reference anchor="RFC6525" target="https://www.rfc-editor.org/info/rfc6525" quoteTitle="true" derivedAnchor="RFC6525">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Stream Reconfiguration</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Lei" fullname="P. Lei">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="February"/>
            <abstract>
              <t indent="0">Many applications that use the Stream Control Transmission Protocol (SCTP) want the ability to "reset" a stream.  The intention of resetting a stream is to set the numbering sequence of the stream back to 'zero' with a corresponding notification to the application layer that the reset has been performed.  Applications requiring this feature want it so that they can "reuse" streams for different purposes but still utilize the stream sequence number so that the application can track the message flows.  Thus, without this feature, a new use of an old stream would result in message numbers greater than expected, unless there is a protocol mechanism to "reset the streams back to zero".  This document also includes methods for resetting the transmission sequence numbers, adding additional streams, and resetting all stream sequence numbers.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6525"/>
          <seriesInfo name="DOI" value="10.17487/RFC6525"/>
        </reference>
        <reference anchor="RFC7496" target="https://www.rfc-editor.org/info/rfc7496" quoteTitle="true" derivedAnchor="RFC7496">
          <front>
            <title>Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension</title>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Seggelmann" fullname="R. Seggelmann">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Loreto" fullname="S. Loreto">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="April"/>
            <abstract>
              <t indent="0">This document defines two additional policies for the Partially Reliable Stream Control Transmission Protocol (PR-SCTP) extension. These policies allow limitation of the number of retransmissions and prioritization of user messages for more efficient usage of the send buffer.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7496"/>
          <seriesInfo name="DOI" value="10.17487/RFC7496"/>
        </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="RFC8261" target="https://www.rfc-editor.org/info/rfc8261" quoteTitle="true" derivedAnchor="RFC8261">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Encapsulation of SCTP Packets</title>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Jesup" fullname="R. Jesup">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Loreto" fullname="S. Loreto">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="November"/>
            <abstract>
              <t indent="0">The Stream Control Transmission Protocol (SCTP) is a transport protocol originally defined to run on top of the network protocols IPv4 or IPv6.  This document specifies how SCTP can be used on top of the Datagram Transport Layer Security (DTLS) protocol.  Using the encapsulation method described in this document, SCTP is unaware of the protocols being used below DTLS; hence, explicit IP addresses cannot be used in the SCTP control chunks.  As a consequence, the SCTP associations carried over DTLS can only be single-homed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8261"/>
          <seriesInfo name="DOI" value="10.17487/RFC8261"/>
        </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-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC3758" target="https://www.rfc-editor.org/info/rfc3758" quoteTitle="true" derivedAnchor="RFC3758">
          <front>
            <title>Stream Control Transmission Protocol (SCTP) Partial Reliability Extension</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Ramalho" fullname="M. Ramalho">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Xie" fullname="Q. Xie">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Tuexen" fullname="M. Tuexen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Conrad" fullname="P. Conrad">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="May"/>
            <abstract>
              <t indent="0">This memo describes an extension to the Stream Control Transmission Protocol (SCTP) that allows an SCTP endpoint to signal to its peer that it should move the cumulative ack point forward.  When both sides of an SCTP association support this extension, it can be used by an SCTP implementation to provide partially reliable data transmission service to an upper layer protocol.  This memo describes the protocol extensions, which consist of a new parameter for INIT and INIT ACK, and a new FORWARD TSN chunk type, and provides one example of a partially reliable service that can be provided to the upper layer via this mechanism.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3758"/>
          <seriesInfo name="DOI" value="10.17487/RFC3758"/>
        </reference>
        <reference anchor="RFC8445" target="https://www.rfc-editor.org/info/rfc8445" quoteTitle="true" derivedAnchor="RFC8445">
          <front>
            <title>Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal</title>
            <author initials="A." surname="Keranen" fullname="A. Keranen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Holmberg" fullname="C. Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <abstract>
              <t indent="0">This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based communication.  This protocol is called Interactive Connectivity Establishment (ICE).  ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN).</t>
              <t indent="0">This document obsoletes RFC 5245.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8445"/>
          <seriesInfo name="DOI" value="10.17487/RFC8445"/>
        </reference>
        <reference anchor="RFC8832" target="https://www.rfc-editor.org/info/rfc8832" quoteTitle="true" derivedAnchor="RFC8832">
          <front>
            <title>WebRTC Data Channel Establishment Protocol</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="8832"/>
          <seriesInfo name="DOI" value="10.17487/RFC8832"/>
        </reference>
        <reference anchor="RFC8847" target="https://www.rfc-editor.org/info/rfc8847" quoteTitle="true" derivedAnchor="RFC8847">
          <front>
            <title>Protocol for Controlling Multiple Streams for Telepresence (CLUE)</title>
            <author initials="R" surname="Presta" fullname="Roberta Presta">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S P." surname="Romano" fullname="Simon Pietro Romano">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8847"/>
          <seriesInfo name="DOI" value="10.17487/RFC8847"/>
        </reference>
        <reference anchor="RFC8848" target="https://www.rfc-editor.org/info/rfc8848" quoteTitle="true" derivedAnchor="RFC8848">
          <front>
            <title>Session Signaling for Controlling Multiple Streams for Telepresence (CLUE)</title>
            <author fullname="Robert Hanton" initials="R." surname="Hanton">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <author fullname="Paul Kyzivat" initials="P." surname="Kyzivat">
  	    </author>
            <author fullname="Lennard Xiao" initials="L." surname="Xiao">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Christian Groves" initials="C." surname="Groves">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8848"/>
          <seriesInfo name="DOI" value="10.17487/RFC8848"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
        Thanks to <contact fullname="Paul Kyzivat"/>,
        <contact fullname="Christian Groves"/>, and
        <contact fullname="Mark Duckworth"/> for comments
        on this document.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="C." surname="Holmberg" fullname="Christer Holmberg">
        <organization showOnFrontPage="true">Ericsson</organization>
        <address>
          <postal>
            <street>Hirsalantie 11</street>
            <code>02420</code>
            <city>Jorvas</city>
            <country>Finland</country>
          </postal>
          <email>christer.holmberg@ericsson.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
