Skip to main content

CLUE Protocol Data Channel
draft-ietf-clue-datachannel-07

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 8850.
Author Christer Holmberg
Last updated 2015-01-30
Replaces draft-holmberg-clue-datachannel
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd Paul Kyzivat
IESG IESG state Became RFC 8850 (Experimental)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-clue-datachannel-07
CLUE Working Group                                           C. Holmberg
Internet-Draft                                                  Ericsson
Intended status: Standards Track                        January 30, 2015
Expires: August 3, 2015

                       CLUE Protocol Data Channel
                     draft-ietf-clue-datachannel-07

Abstract

   This document defines how to use the WebRTC Data Channel mechanism in
   order to realize a data channel, referred to as a CLUE data channel,
   for transporting CLUE protocol messages between two CLUE entities.

   The document defines how to describe the SCTPoDTLS association used
   to realize the CLUE data channel using the Session Description
   Protocol (SDP), and defines usage of SDP-based "SCTP over DTLS" data
   channel negotiation mechanism for establishing a CLUE data channel.

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

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents 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 August 3, 2015.

Copyright Notice

   Copyright (c) 2015 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

Holmberg                 Expires August 3, 2015                 [Page 1]
Internet-Draft              CLUE Data Channel               January 2015

   (http://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 . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  General . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  SDP Considerations  . . . . . . . . . . . . . . . . . . .   4
       3.2.1.  General . . . . . . . . . . . . . . . . . . . . . . .   4
       3.2.2.  SDP dcpmap Attribute  . . . . . . . . . . . . . . . .   5
       3.2.3.  SDP dcsa Attribute  . . . . . . . . . . . . . . . . .   6
       3.2.4.  Example . . . . . . . . . . . . . . . . . . . . . . .   6
     3.3.  SCTP Considerations . . . . . . . . . . . . . . . . . . .   6
       3.3.1.  SCTP Payload Protocol Identifier (PPID) . . . . . . .   6
       3.3.2.  Reliability . . . . . . . . . . . . . . . . . . . . .   6
       3.3.3.  Order . . . . . . . . . . . . . . . . . . . . . . . .   7
       3.3.4.  Stream Reset  . . . . . . . . . . . . . . . . . . . .   7
       3.3.5.  SCTP Multihoming  . . . . . . . . . . . . . . . . . .   7
       3.3.6.  Close CLUE Data Channel . . . . . . . . . . . . . . .   7
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
     5.1.  New WebRTC Data Channel Protocol Value  . . . . . . . . .   7
     5.2.  New SDP dcmap attribute subprotocol value . . . . . . . .   8
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   8
   7.  Change Log  . . . . . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  11
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document defines how to use the WebRTC Data Channel mechanism
   [I-D.ietf-rtcweb-data-channel] in order to realize a data channel,
   referred to as a CLUE data channel, for transporting CLUE protocol
   messages between two CLUE entities.

   The document defines how to describe the SCTPoDTLS association
   [I-D.ietf-tsvwg-sctp-dtls-encaps] used to realize the CLUE data
   channel using the Session Description Protocol (SDP) [RFC4566], and
   defines usage of the SDP-based "SCTP over DTLS" data channel

Holmberg                 Expires August 3, 2015                 [Page 2]
Internet-Draft              CLUE Data Channel               January 2015

   negotiation mechanism [I-D.ejzak-mmusic-data-channel-sdpneg].  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.

   Details and procedures associated with the CLUE protocol, and the SDP
   Offer/Answer [RFC3264] procedures 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] 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", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [RFC2119].

   SCTPoDTLS association refers to an SCTP association carried over an
   DTLS connection [I-D.ietf-tsvwg-sctp-dtls-encaps].

   WebRTC Data Channel refers to a SCTPoDTLS association
   [I-D.ietf-tsvwg-sctp-dtls-encaps] that is used to transport non-media
   data between two entities, according to the procedures in
   [I-D.ietf-rtcweb-data-channel].

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

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

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

   [RFC4960] defines an SCTP stream 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.

   [RFC4960] defines an SCTP identifier as a unsigned integer, which
   identifies a SCTP stream.

Holmberg                 Expires August 3, 2015                 [Page 3]
Internet-Draft              CLUE Data Channel               January 2015

3.  CLUE Data Channel

3.1.  General

   This section describes the realization of a CLUE Data Channel.  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], 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.  SDP Considerations

3.2.1.  General

   This section defines how to construct the SDP Media Description (m-
   line) for describing the SCTPoDTLS association used to realize a
   WebRTC Data Channel.  The section also defines how to construct the
   SDP dcmap attribute, used with the SDP-based "SCTP over DTLS" data
   channel negotiation mechanism for establishing a CLUE Data Channel on
   the SCTPoDTLS association.

   NOTE: Other protocols than SDP for negotiating usage of a SCTPoDTLS
   association for realizing a WebRTC Data Channel are outside the scope
   of this specification.

   [I-D.ietf-clue-signaling] describes the SDP Offer/Answer procedures
   for negotiating a CLUE session, including the CLUE controlled media
   streams and the CLUE Data Channel.

3.2.1.1.  SDP Media Description Fields

   As defined in [I-D.ietf-mmusic-sctp-sdp], the field values of an m-
   line describing an SCTPoDTLS association are set as following:

Holmberg                 Expires August 3, 2015                 [Page 4]
Internet-Draft              CLUE Data Channel               January 2015

   +---------------+--------------+-----------------+------------------+
   |     media     |     port     |      proto      |       fmt        |
   +---------------+--------------+-----------------+------------------+
   | "application" |   UDP port   | "UDP/DTLS/SCTP" |   application    |
   |               |    value     |                 |      usage       |
   | "application" |   TCP port   | "TCP/DTLS/SCTP" |   application    |
   |               |    value     |                 |      usage       |
   +---------------+--------------+-----------------+------------------+

                     Table 1: SDP "proto" field values

   As defined in [I-D.ietf-mmusic-sctp-sdp], when the SCTPoDTLS
   association is used to realize a WebRTC data channel, the value of
   the application usage part is 'webrtc-datachannel'.

3.2.1.2.  SDP sctp-port Attribute

   As defined in [I-D.ietf-mmusic-sctp-sdp], the SDP sctp-port attribute
   value is set to the SCTP port of the SCTPoDTLS association.

3.2.2.  SDP dcpmap Attribute

   When the SDP-based "SCTP over DTLS" data channel negotiation
   mechanism is used to establish a CLUE data channel, the values of the
   SDP dcmap attribute [I-D.ejzak-mmusic-data-channel-sdpneg],
   associated with the m- line describing the SCTPoDTLS association used
   to realize the WebRTC Data Channel, are set as following:

   +----------+------------+------------+--------+----------+----------+
   | stream-  | subprotoco |   label    | ordere | max-retr | max-time |
   |    id    |     l      |            |   d    |          |          |
   +----------+------------+------------+--------+----------+----------+
   | Value of |   "CLUE"   | Applicatio |  N/A   |   N/A    |   N/A    |
   | the SCTP |            | n specific |        |          |          |
   |  stream  |            |            |        |          |          |
   | used to  |            |            |        |          |          |
   | realize  |            |            |        |          |          |
   | the CLUE |            |            |        |          |          |
   |   data   |            |            |        |          |          |
   | channel  |            |            |        |          |          |
   +----------+------------+------------+--------+----------+----------+

                    Table 2: SDP dcmap attribute values

Holmberg                 Expires August 3, 2015                 [Page 5]
Internet-Draft              CLUE Data Channel               January 2015

3.2.3.  SDP dcsa Attribute

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

3.2.4.  Example

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

          Figure 1: SDP Media Description for a CLUE Data Channel

3.3.  SCTP Considerations

3.3.1.  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], the PPID value
   51 indicates that the SCTP message contains data encoded in a UTF-8
   format.  The PPID value 51 does not indicate what application
   protocol the SCTP message is associated with, only the format in
   which the data is encoded.

                         +----------+------------+
                         | Protocol | PPID Value |
                         +----------+------------+
                         |   CLUE   |     51     |
                         +----------+------------+

                  Table 3: CLUE Data Channel PPID Values

3.3.2.  Reliability

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

   A CLUE entity MUST NOT use the partial reliability and limited
   retransmission extensions defined in [RFC3758].

   NOTE: [I-D.ietf-rtcweb-data-channel] requires the support of the
   partial reliability extension defined in [RFC3758].  This is not
   needed for a CLUE Data Channel, as messages are required to always be
   sent reliably.  [I-D.ietf-rtcweb-data-channel] also mandates support

Holmberg                 Expires August 3, 2015                 [Page 6]
Internet-Draft              CLUE Data Channel               January 2015

   of the limited retransmission policy defined in
   [I-D.ietf-tsvwg-sctp-prpolicies].

3.3.3.  Order

   A CLUE entity MUST use the ordered delivery SCTP service, as
   described in section 6.6 of [RFC4960].

3.3.4.  Stream Reset

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

   The dynamic address reconfiguration extension defined in [RFC5061]
   MUST be used to signal the support of the stream reset extension
   defined in [RFC6525].  Other features of [RFC5061] MUST NOT be used.

3.3.5.  SCTP Multihoming

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

3.3.6.  Close CLUE Data Channel

   As described in [I-D.ietf-rtcweb-data-protocol], in order to close a
   data channel, a SCTP reset message [RFC6525] is sent, in order to
   close the 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 message.

4.  Security Considerations

   This specification does not introduce new security considerations, in
   addition to those defined in [I-D.ietf-rtcweb-data-channel] and
   [I-D.ietf-rtcweb-data-protocol].  Security considerations associated
   with the CLUE protocol are defined in [I-D.ietf-clue-protocol].

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:

Holmberg                 Expires August 3, 2015                 [Page 7]
Internet-Draft              CLUE Data Channel               January 2015

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

5.2.  New SDP dcmap attribute subprotocol value

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

   OPEN ISSUE: [I-D.ejzak-mmusic-data-channel-sdpneg] has not yet
   created a registry for new subprotocol values.

6.  Acknowledgments

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

7.  Change Log

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

   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

Holmberg                 Expires August 3, 2015                 [Page 8]
Internet-Draft              CLUE Data Channel               January 2015

   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 CLUE session shall be opened.
   o  - Added reference to draft-ietf-rtcweb-data-protocol regarding
      details on reseting SCTP streams.
   o  - Added text saying that the value of the DCEP 'channel type' MUST
      be DATA_CHANNEL_RELIABLE.
   o  - Clarified that DCEP must be supported, and used in the absence
      of another mechanism for opening a CLUE Data Channel.

   Changes from draft-holmberg-clue-datachannel-03

   o  Procedures updated, based on WG agreement (IETF#89) to use DCEP
      for the CLUE data channel.
   o  Procedures updated, based on WG agreement (IETF#89) that offerer
      is responsible for sending DCEP DATA_CHANNEL_OPEN.

Holmberg                 Expires August 3, 2015                 [Page 9]
Internet-Draft              CLUE Data Channel               January 2015

   o  Editorial changes, and alignments caused by changes in referenced
      specifications.

   Changes from draft-holmberg-clue-datachannel-02

   o  PPID value for 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.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264, June
              2002.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, July 2006.

   [RFC4960]  Stewart, R., "Stream Control Transmission Protocol", RFC
              4960, September 2007.

   [RFC5061]  Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M.
              Kozuka, "Stream Control Transmission Protocol (SCTP)
              Dynamic Address Reconfiguration", RFC 5061, September
              2007.

   [RFC6525]  Stewart, R., Tuexen, M., and P. Lei, "Stream Control
              Transmission Protocol (SCTP) Stream Reconfiguration", RFC
              6525, February 2012.

Holmberg                 Expires August 3, 2015                [Page 10]
Internet-Draft              CLUE Data Channel               January 2015

   [I-D.ietf-clue-protocol]
              Presta, R. and S. Romano, "CLUE protocol", draft-ietf-
              clue-protocol-02.txt (work in progress), October 2014.

   [I-D.ietf-clue-signaling]
              Kyzivat, P., Xiao, L., Groves, C., and S. Romano, "CLUE
              Signaling", draft-ietf-clue-signaling-04.txt (work in
              progress), October 2014.

   [I-D.ietf-tsvwg-sctp-dtls-encaps]
              Tuexen, M., Stewart, R., Jesup, R., and S. Loreto, "DTLS
              Encapsulation of SCTP Packets", draft-ietf-tsvwg-sctp-
              dtls-encaps-08.txt (work in progress), January 2015.

   [I-D.ietf-mmusic-sctp-sdp]
              Holmberg, C., Loreto, S., and G. Camarillo, "Stream
              Control Transmission Protocol (SCTP)-Based Media Transport
              in the Session Description Protocol (SDP)", draft-ietf-
              mmusic-sctp-sdp-12.txt (work in progress), January 2015.

   [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), January 2015.

   [I-D.ietf-tsvwg-sctp-prpolicies]
              Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto,
              "Additional Policies for the Partial Reliability Extension
              of the Stream Control Transmission Protocol", draft-ietf-
              tsvwg-sctp-prpolicies-06.txt (work in progress), December
              2014.

   [I-D.ejzak-mmusic-data-channel-sdpneg]
              Drage, K., Makaraju, R., Stoetzer-Bradler, J., Ejzak, R.,
              and J. Marcon, "SDP-based "SCTP over DTLS" data channel
              negotiation", draft-ietf-mmusic-data-channel-sdpneg-00.txt
              (work in progress), January 2015.

8.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, May 2004.

   [I-D.ietf-rtcweb-data-protocol]
              Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data Channel
              Establishment Protocol", draft-ietf-rtcweb-data-protocol-
              09.txt (work in progress), January 2015.

Holmberg                 Expires August 3, 2015                [Page 11]
Internet-Draft              CLUE Data Channel               January 2015

Author's Address

   Christer Holmberg
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: christer.holmberg@ericsson.com

Holmberg                 Expires August 3, 2015                [Page 12]