CLUE Working Group

Internet Engineering Task Force (IETF)                       C. Holmberg
Internet-Draft
Request for Comments: 8850                                      Ericsson
Intended status:
Category: Experimental                             April 24, 2019
Expires: October 26, 2019

                       CLUE                                      January 2021
ISSN: 2070-1721

     Controlling Multiple Streams for Telepresence (CLUE) Protocol data channel
                     draft-ietf-clue-datachannel-18
                              Data Channel

Abstract

   This document defines how to use the WebRTC data channel mechanism to
   realize a data channel, referred to as a CLUE Controlling Multiple Streams
   for Telepresence (CLUE) data channel, for transporting CLUE protocol
   messages between two CLUE entities.

Status of This Memo

   This Internet-Draft document is submitted in full conformance with the
   provisions of BCP 78 not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and BCP 79.

   Internet-Drafts are working documents
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents valid approved by the IESG are candidates for a maximum any level of
   Internet Standard; see Section 2 of RFC 7841.

   Information about the current status of six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on October 26, 2019.
   https://www.rfc-editor.org/info/rfc8850.

Copyright Notice

   Copyright (c) 2019 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info)
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  CLUE data channel . . . . . . . . . . . . . . . . . . . . . .   3 Data Channel
     3.1.  General . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  SCTP Considerations . . . . . . . . . . . . . . . . . . .   4
       3.2.1.  General . . . . . . . . . . . . . . . . . . . . . . .   4
       3.2.2.  SCTP Payload Protocol Identifier (PPID) . . . . . . .   4
       3.2.3.  Reliability . . . . . . . . . . . . . . . . . . . . .   4
       3.2.4.  Order . . . . . . . . . . . . . . . . . . . . . . . .   5
       3.2.5.  Stream Reset  . . . . . . . . . . . . . . . . . . . .   5
       3.2.6.  SCTP Multihoming  . . . . . . . . . . . . . . . . . .   5
       3.2.7.  Closing the CLUE data channel . . . . . . . . . . . .   5 Data Channel
     3.3.  SDP Considerations  . . . . . . . . . . . . . . . . . . .   5
       3.3.1.  General . . . . . . . . . . . . . . . . . . . . . . .   5
       3.3.2.  SDP dcmap Attribute . . . . . . . . . . . . . . . . .   6
       3.3.3.  SDP dcsa Attribute  . . . . . . . . . . . . . . . . .   7
       3.3.4.  Example . . . . . . . . . . . . . . . . . . . . . . .   7
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
     5.1.  New WebRTC data channel Protocol Value  . . . . . . . . .   8  Subprotocol Identifier "clue"
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   8
   7.  Change Log  . . . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     8.1.
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  12
     8.2.
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  13
   Acknowledgements
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   This document defines how to use the WebRTC data channel mechanism
   [I-D.ietf-rtcweb-data-channel]
   [RFC8831] to realize a data channel, referred to as a CLUE Controlling
   Multiple Streams for Telepresence (CLUE) data channel, for
   transporting CLUE protocol
   [I-D.ietf-clue-protocol] messages [RFC8847] between two CLUE
   entities.

   The

   This document also defines how to describe the SCTPoDTLS association
   [RFC8261] (also referred to as "SCTP over DTLS" in this document)
   used to realize the CLUE data channel using the Session Description
   Protocol (SDP) [RFC4566], [RFC4566] and defines usage of the SDP-
   based SDP-based "SCTP
   over DTLS" data channel negotiation mechanism
   [I-D.ietf-mmusic-data-channel-sdpneg]. [RFC8864].  ("SCTP"
   stands for "Stream Control Transmission Protocol".)  This includes
   SCTP considerations specific to a CLUE data channel, the SDP Media
   Description media
   description ("m=" line) values, and usage of SDP attributes specific
   to a CLUE data channel.

   Details and procedures associated with the CLUE protocol, and the SDP
   Offer/Answer [RFC3264] procedures [RFC3264] for negotiating usage of a CLUE
   data channel, are outside the scope of this document.

      |  NOTE: The usage of the Data Channel Establishment Protocol
      |  (DCEP)
   [I-D.ietf-rtcweb-data-protocol] [RFC8832] for establishing a CLUE data channel is
      |  outside the scope of this document.

2.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   SCTPoDTLS association refers
      Refers to an SCTP association carried over an a DTLS connection
      [RFC8261].

   WebRTC data channel refers
      Refers to a pair of SCTP streams over a an SCTPoDTLS association
      that is used to transport non-media data between two entities, as
      defined in [I-D.ietf-rtcweb-data-channel]. [RFC8831].

   CLUE data channel refers
      Refers to a WebRTC data channel
   [I-D.ietf-rtcweb-data-channel] realization, realization [RFC8831], with a
      specific set of SCTP characteristics, with the purpose of
      transporting CLUE protocol
   [I-D.ietf-clue-protocol] messages [RFC8847] between two CLUE
      entities.

   CLUE entity refers
      Refers to a SIP User Agent (UA) [RFC3261] that supports the CLUE
      data channel and the CLUE protocol.

   CLUE session refers
      Refers to a SIP session [RFC3261] between two SIP UAs, where a
      CLUE data channel, associated with the SIP session, has been
      established between the SIP UAs.

   SCTP stream is defined
      Defined in [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.

   SCTP stream identifier is defined
      Defined in [RFC4960] as an unsigned integer, which
   identifies integer.  Identifies an SCTP
      stream.

3.  CLUE data channel Data Channel

3.1.  General

   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.

   As described in [I-D.ietf-rtcweb-data-channel], [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.

   Within a given CLUE session, a CLUE entity MUST use a single CLUE
   data channel for transport of all CLUE messages towards its peer.

3.2.  SCTP Considerations

3.2.1.  General

   As described in [I-D.ietf-rtcweb-data-channel], [RFC8831], different SCTP options (e.g., regarding
   ordered delivery ), delivery) can be used for a data channel.  This section
   describes the SCTP options used for a CLUE data channel.  Section 3.3
   describes how SCTP options are signaled using SDP.

   NOTE: While SCTP allows SCTP options to be applied per SCTP message,
   [I-D.ietf-rtcweb-data-channel] mandates that, for a given data
   channel, the same SCTP options are applied to each SCTP message
   associated with that data channel.

3.2.2.  SCTP Payload Protocol Identifier (PPID)

   A CLUE entity MUST use the PPID value 51 when sending a CLUE message
   on a CLUE data channel.

      |  NOTE: As described in [I-D.ietf-rtcweb-data-channel], [RFC8831], the PPID value 51 indicates
      |  that the SCTP message contains data encoded in a UTF-8 format.
      |  The PPID value 51 does not indicate which application protocol
      |  the SCTP message is associated with, with -- only the format in which
      |  the data is encoded.

3.2.3.  Reliability

   The usage of SCTP for the CLUE data channel ensures reliable
   transport of CLUE protocol [I-D.ietf-clue-protocol] messages.

   [I-D.ietf-rtcweb-data-channel] messages [RFC8847].

   [RFC8831] requires the support of the partial reliability extension
   defined in [RFC3758] and the limited retransmission policy defined in
   [RFC7496].  A CLUE entity MUST NOT use these extensions, as messages
   are required to always be sent reliably.  A CLUE entity MUST
   terminate the session if it detects that the peer entity uses any of
   the extensions.

3.2.4.  Order

   A CLUE entity MUST use the ordered delivery SCTP service, as
   described in [RFC4960], for the CLUE data channel.

3.2.5.  Stream Reset

   A CLUE entity MUST support the stream reset extension defined in
   [RFC6525].

   As defined in [I-D.ietf-rtcweb-data-channel],

   Per [RFC8831], the dynamic address reconfiguration extension
   parameter ('Supported Extensions Parameter'
   parameter) Parameter') defined in [RFC5061]
   must be used to signal the support of the stream reset extension
   defined in [RFC6525].  Other features of defined in [RFC5061] MUST NOT
   be used for CLUE data channels.

3.2.6.  SCTP Multihoming

   SCTP multi-homing multihoming is not supported for SCTPoDTLS associations, associations and
   can
   therefore not cannot be used for a CLUE data channel.

3.2.7.  Closing the CLUE data channel Data Channel

   As described in [I-D.ietf-rtcweb-data-channel], [RFC8831], to close a data channel, an entity sends
   an SCTP reset message [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.

3.3.  SDP Considerations

3.3.1.  General

   This section defines how to (1) construct the SDP Media Description media description
   ("m=" line) for describing the SCTPoDTLS association used to realize
   a CLUE data channel.  The section also defines how to channel and (2) use the SDP-based "SCTP over DTLS" data
   channel negotiation mechanism
   [I-D.ietf-mmusic-data-channel-sdpneg] [RFC8864] for establishing a CLUE data
   channel on the SCTPoDTLS association.

      |  NOTE: Other protocols Protocols other than SDP for negotiating usage of an
      |  SCTPoDTLS association for realizing a CLUE data channel are
      |  outside the scope of this specification.

   [I-D.ietf-clue-signaling]

   [RFC8848] describes the SDP Offer/Answer procedures for negotiating a
   CLUE session, including the CLUE controlled CLUE-controlled media streams and the
   CLUE data channel.

3.3.1.1.  SDP Media Description Fields

   [I-D.ietf-mmusic-sctp-sdp]

   [RFC8841] defines how to set the values of an "m=" line describing an
   SCTPoDTLS association.  As defined in
   [I-D.ietf-mmusic-sctp-sdp], [RFC8841], for a CLUE data
   channel the values are set as following:

   +---------------+----------+-----------------+----------------------+ follows:

     +===============+==========+============+======================+
     |     media     |   port   |   proto    |         fmt          |
   +---------------+----------+-----------------+----------------------+
     +===============+==========+============+======================+
     | "application" | UDP port | "UDP/DTLS/SCTP" "UDP/DTLS/ | "webrtc-datachannel" |
     |               |  value   |   SCTP"    |                      |
     +---------------+----------+------------+----------------------+
     | "application" | TCP port | "TCP/DTLS/SCTP" "TCP/DTLS/ | "webrtc-datachannel" |
     |               |  value   |   SCTP"    |                      |
   +---------------+----------+-----------------+----------------------+
     +---------------+----------+------------+----------------------+

                    Table 1: SDP "proto" field values Field Values

   CLUE entities SHOULD NOT 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 [RFC8445] is used and the ICE procedures determine that TCP
   transport is required).

3.3.1.2.  SDP sctp-port Attribute

   As defined in [I-D.ietf-mmusic-sctp-sdp], [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
   [I-D.ietf-mmusic-sctp-sdp]. [RFC8841].

3.3.2.  SDP dcmap Attribute

   The values of the SDP dcmap attribute
   [I-D.ietf-mmusic-data-channel-sdpneg], [RFC8864], associated with the
   "m=" line describing the SCTPoDTLS association used to realize the
   WebRTC data channel, are set as following:

   +----------+------------+------------+--------+----------+----------+ follows:

   +===========+=============+=============+=======+========+==========+
   | stream- stream-id |    sub- subprotocol |    label    | ordere | max-retr |    |ordered|max-retr| max-time |
   +===========+=============+=============+=======+========+==========+
   |    id  Value of |  protocol    "CLUE"   | Application |   d    |          |          |
   +----------+------------+------------+--------+----------+----------+
   | Value of |   "CLUE"   |   Appli-   | "true" | "true"|  N/A   |   N/A    |
   |  the SCTP |             |   cation   |        |          |          |
   |  stream  |            |   specific  |       |        |          |
   | used to  |
   |stream used|             |             |       |        |          |
   | realize  | to realize|             |             |       |        |          |
   |  the CLUE |             |             |       |        |          |
   |    data   |             |             |       |        |          |
   |  channel  |             |             |       |        |          |
   +----------+------------+------------+--------+----------+----------+
   +-----------+-------------+-------------+-------+--------+----------+

                    Table 2: SDP dcmap attribute values Attribute Values

      |  NOTE: As CLUE entities are required to use ordered SCTP message
      |  delivery, with full reliability, according to the procedures in
   [I-D.ietf-mmusic-data-channel-sdpneg]
      |  [RFC8864] the max-retr and max-time attribute parameters are
      |  not used when negotiating CLUE data channels.

3.3.3.  SDP dcsa Attribute

   The SDP dcsa attribute [I-D.ietf-mmusic-data-channel-sdpneg] [RFC8864] is not used when establishing a CLUE
   data channel.

3.3.4.  Example

   The example in Figure 1 shows an SDP media description for a CLUE
   data channel.  Examples of complete  Complete SDP examples can be found in
   [I-D.ietf-clue-signaling]. [RFC8848].

            m=application 54111 UDP/DTLS/SCTP webrtc-datachannel
            a=sctp-port: 5000
            a=dcmap:2 subprotocol="CLUE";ordered=true

          Figure 1: SDP Media Description for a CLUE data channel

4.  Security Considerations

   This specification relies on the security properties of the WebRTC
   data channel described in [I-D.ietf-rtcweb-data-channel], 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 [RFC3261] for session establishment prior to
   establishing the data channel.

5.  IANA Considerations

5.1.  New WebRTC data channel Protocol Value

   [RFC EDITOR NOTE: Please replace RFC-XXXX with the RFC number of this
   document.]

   This document adds the 'CLUE' value to the "WebSocket Subprotocol
   Name Registry" as follows:

           Subprotocl Identifier:          CLUE
           Subprotocol Common Name:        CLUE
           Subprotocol Definition:         RFC-XXXX
       Reference:                  RFC-XXXX

6.  Acknowledgments

   Thanks to Paul Kyzivat, Christian Groves and Mark Duckworth for
   comments on the document.

7.  Change Log

   [RFC EDITOR NOTE: Please remove this section when publishing]

   Changes from draft-ietf-clue-datachannel-17

   o  Editorial changes to Tables based on TSV-ART review.

   Changes from draft-ietf-clue-datachannel-16

   o  Category changed to Experimental.

   Changes from draft-ietf-clue-datachannel-15

   o  Updates based on IESG review by Roman Danyliw.
   o  Make CLUE references Informative, as they are going to be
      published as Experimental RFCs.

   Changes from draft-ietf-clue-datachannel-14

   o  ICE reference update.
   o  Reference draft versions updates.

   Changes from draft-ietf-clue-datachannel-13

   o  Editorial changes based on Gen-ART review from Brian Carpenter.

   Changes from draft-ietf-clue-datachannel-12

   o  Changes based on AD comments from Alissa Cooper
      (https://www.ietf.org/mail-archive/web/clue/current/
      msg04911.html):
   o  - DCEP reference removed from security considerations.
   o  - Editorial fixes.
   o  - NOTE: Comment regarding the Security Considerations is still
      pending.

   Changes from draft-ietf-clue-datachannel-11

   o  Changes based on WGLC comments from Juergen Stoetzer-Bradler and
      Christian groves:
   o  - Reference updates.
   o  - 'Reference' added to IANA registration data.

   Changes from draft-ietf-clue-datachannel-10

   o  Security Considerations modified and enhanced, based on comments
      provided by Alissa Cooper.

   Changes from draft-ietf-clue-datachannel-09

   o  Reference updates:
   o  - draft-ietf-tsvwg-sctp-prpolicies published as RFC 7496
   o  - Reference update of draft versions

   Changes from draft-ietf-clue-datachannel-08

   o  Changes based on WGLC comments from Daniel Burnett:
   o  - Editorial corrections.
   o  Changes based on WGLC comments from Paul Kyzivat:
   o  - Editorial corrections.

   Changes from draft-ietf-clue-datachannel-07

   o  Changes based on WGLC comments from Christian Groves:
   o  - IANA considerations for dcmap attribute removed.
   o  - Explicit clarification that the dcmap attribute max-time and
      max-retr parameters are not used with ordered/reliable
      transmission of SCTP messages.
   o  - Indication that TCP transport should only be used if ICE is
      used, and if usage of TCP is required by ICE.

   o  - Informative reference to ICE added.
   o  - Editorial corrections.
   o  Changes based on WGLC comments from Mark Duckworth:
   o  - Make it more clear that the rules regarding usage of partial
      reliability and ordered reliability apply to CLUE data channels.
   o  Changes based on WGLC comments from Paul Kyzivat:
   o  - Clarify that same SCTP options are applied to each SCTP message
      associated with a given data channel.
   o  - Switched location of sections 3.2 and 3.3.
   o  - PPID table removed.  Not needed, since only one value is used.
   o  - Editorial corrections.

   Changes from draft-ietf-clue-datachannel-06

   o  Usage of DCEP removed.

   Changes from draft-ietf-clue-datachannel-05

   o  "DTLS/SCTP" split into "UDP/DTLS/SCTP" and "TCP/DTLS/SCTP".
   o  Removed note regarding optionality of including the SDP sctp-port
      attribute.
   o  Added defintion of 'SCTPoDTLS association' to the Conventions.
   o  Reference to RFC 4566 (SDP) added.

   Changes from draft-ietf-clue-datachannel-04

   o  Defines DCEP and external SDP negotiation as two separate
      mechanisms for negotiating a CLUE data channel.
   o  Updates based on technical changes in referenced specifications.
   o  Reference to draft-ietf-mmusic-sctp-sdp added.

   Changes from draft-ietf-clue-datachannel-03

   o  IANA considerations added.
   o  Editorial changes based on comments from Christian Groves.

   Changes from draft-ietf-clue-datachannel-02

   o  SDP "m=" line example fixed.
   o  OPEN ISSUE #1 closed.
   o  - It was agreed (IETF#91) to use draft-ejzak-mmusic-data-channel-
      sdpneg, as it was adopted as a WG item in MMUSIC.
   o  - Details for draft-ejzak-mmusic-data-channel-sdpneg usage added.
   o  SDP Offer/Answer procedures removed, as they will be defined in
      the CLUE protocol draft.
   o  References updated.

   Changes from draft-ietf-clue-datachannel-01
   o  Support of interleaving "MUST"->"SHOULD".
   o  Example updated.
   o  Reference update.

   Changes from draft-ietf-clue-datachannel-00

   o  SDP Offer/Answer procedures structures according to RFC 3264.
   o  Reference update.

   Changes from draft-holmberg-clue-datachannel-04

   o  Draft submitted as draft-ietf-clue-data-channel-00.
   o  Editorial nits fixed.
   o  Changes based on comments from Paul Kyzivat (http://www.ietf.org/
      mail-archive/web/clue/current/msg03559.html).
   o  - Proto value fixed.
   o  - Explicit text that the partial reliability and limited
      retransmission policies MUST NOT be used.
   o  - Added open issue on whether the DCEP 'protocol' field value for
      CLUE should contain a version number.
   o  - Removed paragraph saying that an offerer must not insert more
      than one "m=" line describing an SCTPoDTLS association to be used
      to realize a CLUE data channel, as the draft already states that
      only one CLUE data channel per Description for a CLUE session shall be opened.
   o  - Added reference to draft-ietf-rtcweb-data-protocol regarding
      details Data Channel

4.  Security Considerations

   This specification relies on reseting SCTP streams.
   o  - Added text saying that the value security properties of the DCEP 'channel type' MUST
      be DATA_CHANNEL_RELIABLE.
   o  - Clarified that DCEP must be supported, and used WebRTC
   data channel described in the absence
      of another mechanism for opening a [RFC8831], including reliance on DTLS.
   Since CLUE sessions are established using SIP/SDP, protecting the
   data channel.

   Changes from draft-holmberg-clue-datachannel-03

   o  Procedures updated, based on WG agreement (IETF#89) to channel against message modification and recovery requires the
   use DCEP of SIP authentication and authorization mechanisms described in
   [RFC3261] for session establishment prior to establishing the CLUE data
   channel.
   o  Procedures updated, based on WG agreement (IETF#89) that offerer
      is responsible for sending DCEP DATA_CHANNEL_OPEN.
   o  Editorial changes, and alignments caused by changes in referenced
      specifications.

   Changes from draft-holmberg-clue-datachannel-02

   o  PPID value for

5.  IANA Considerations

5.1.  Subprotocol Identifier "clue"

   This document adds the subprotocol identifier "clue" to the
   "WebSocket Subprotocol Name Registry" as follows:

                  +-------------------------+----------+
                  | Subprotocol Identifier  | clue     |
                  +-------------------------+----------+
                  | Subprotocol Common Name | CLUE messages added
   o  References updated

   Changes from draft-holmberg-clue-datachannel-01

   o  More text added
   Changes from draft-holmberg-clue-datachannel-00

   o  Editorial corrections based on comments from Paul K

8.     |
                  +-------------------------+----------+
                  | Subprotocol Definition  | RFC 8850 |
                  +-------------------------+----------+
                  | Reference               | RFC 8850 |
                  +-------------------------+----------+

                  Table 3: Registration of 'clue' Value

6.  References

8.1.

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
              editor.org/info/rfc2119>.
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              DOI 10.17487/RFC3261, June 2002, <https://www.rfc-
              editor.org/info/rfc3261>.
              <https://www.rfc-editor.org/info/rfc3261>.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264,
              DOI 10.17487/RFC3264, June 2002, <https://www.rfc-
              editor.org/info/rfc3264>.
              <https://www.rfc-editor.org/info/rfc3264>.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
              July 2006, <https://www.rfc-editor.org/info/rfc4566>.

   [RFC4960]  Stewart, R., Ed., "Stream Control Transmission Protocol",
              RFC 4960, DOI 10.17487/RFC4960, September 2007,
              <https://www.rfc-editor.org/info/rfc4960>.

   [RFC5061]  Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M.
              Kozuka, "Stream Control Transmission Protocol (SCTP)
              Dynamic Address Reconfiguration", RFC 5061,
              DOI 10.17487/RFC5061, September 2007, <https://www.rfc-
              editor.org/info/rfc5061>.
              <https://www.rfc-editor.org/info/rfc5061>.

   [RFC6525]  Stewart, R., Tuexen, M., and P. Lei, "Stream Control
              Transmission Protocol (SCTP) Stream Reconfiguration",
              RFC 6525, DOI 10.17487/RFC6525, February 2012,
              <https://www.rfc-editor.org/info/rfc6525>.

   [RFC7496]  Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto,
              "Additional Policies for the Partially Reliable Stream
              Control Transmission Protocol Extension", RFC 7496,
              DOI 10.17487/RFC7496, April 2015, <https://www.rfc-
              editor.org/info/rfc7496>.
              <https://www.rfc-editor.org/info/rfc7496>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8261]  Tuexen, M., Stewart, R., Jesup, R., and S. Loreto,
              "Datagram Transport Layer Security (DTLS) Encapsulation of
              SCTP Packets", RFC 8261, DOI 10.17487/RFC8261, November
              2017, <https://www.rfc-editor.org/info/rfc8261>.

   [I-D.ietf-mmusic-sctp-sdp]

   [RFC8831]  Jesup, R., Loreto, S., and M. Tüxen, "WebRTC Data
              Channels", RFC 8831, DOI 10.17487/RFC8831, January 2021,
              <https://www.rfc-editor.org/info/rfc8831>.

   [RFC8841]  Holmberg, C., Shpount, R., Loreto, S., and G. Camarillo, "Stream
              "Session Description Protocol (SDP) Offer/Answer
              Procedures for Stream Control Transmission Protocol (SCTP)-Based Media (SCTP)
              over Datagram Transport
              in the Session Description Protocol (SDP)", draft-ietf-
              mmusic-sctp-sdp-26.txt (work in progress), April 2017.

   [I-D.ietf-rtcweb-data-channel]
              Jesup, R., Loreto, S., and M. Tuexen, "WebRTC data
              channels", draft-ietf-rtcweb-data-channel-13.txt (work in
              progress), Layer Security (DTLS) Transport",
              RFC 8841, DOI 10.17487/RFC8841, January 2015.

   [I-D.ietf-mmusic-data-channel-sdpneg] 2021,
              <https://www.rfc-editor.org/info/rfc8841>.

   [RFC8864]  Drage, K., Makaraju, R., Stoetzer-Bradler, J., M., Ejzak, R.,
              and J. Marcon, "SDP-based "SCTP over DTLS" data channel
              negotiation", draft-ietf-mmusic-data-channel-sdpneg-26.txt
              (work in progress), April 2019.

8.2. J., and R.
              Even, Ed., "Negotiation Data Channels Using the Session
              Description Protocol (SDP)", RFC 8864,
              DOI 10.17487/RFC8864, January 2021,
              <https://www.rfc-editor.org/info/rfc8864>.

6.2.  Informative References

   [RFC3758]  Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
              Conrad, "Stream Control Transmission Protocol (SCTP)
              Partial Reliability Extension", RFC 3758,
              DOI 10.17487/RFC3758, May 2004, <https://www.rfc-
              editor.org/info/rfc3758>.
              <https://www.rfc-editor.org/info/rfc3758>.

   [RFC8445]  Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
              Connectivity Establishment (ICE): A Protocol for Network
              Address Translator (NAT) Traversal", RFC 8445,
              DOI 10.17487/RFC8445, July 2018, <https://www.rfc-
              editor.org/info/rfc8445>.

   [I-D.ietf-rtcweb-data-protocol]
              <https://www.rfc-editor.org/info/rfc8445>.

   [RFC8832]  Jesup, R., Loreto, S., and M. Tuexen, Tüxen, "WebRTC data channel Data Channel
              Establishment Protocol", draft-ietf-rtcweb-data-protocol-
              09.txt (work in progress), RFC 8832, DOI 10.17487/RFC8832,
              January 2015.

   [I-D.ietf-clue-protocol] 2021, <https://www.rfc-editor.org/info/rfc8832>.

   [RFC8847]  Presta, R. and S. S P. Romano, "CLUE protocol", draft-ietf-
              clue-protocol-17.txt (work in progress), September 2018.

   [I-D.ietf-clue-signaling] "Protocol for Controlling
              Multiple Streams for Telepresence (CLUE)", RFC 8847,
              DOI 10.17487/RFC8847, January 2021,
              <https://www.rfc-editor.org/info/rfc8847>.

   [RFC8848]  Hanton, R., Kyzivat, P., Xiao, L., and C. Groves, "Session
              Signaling for Controlling Multiple Streams for
              Telepresence (CLUE)", RFC 8848, DOI 10.17487/RFC8848,
              January 2021, <https://www.rfc-editor.org/info/rfc8848>.

Acknowledgements

   Thanks to Paul Kyzivat, Christian Groves, C., and S. Romano, "CLUE
              Signaling", draft-ietf-clue-signaling-14.txt (work in
              progress), October 2018. Mark Duckworth for
   comments on this document.

Author's Address

   Christer Holmberg
   Ericsson
   Hirsalantie 11
   FI-02420 Jorvas  02420
   Finland

   Email: christer.holmberg@ericsson.com