draft-ietf-mmusic-sctp-sdp-10.txt   draft-ietf-mmusic-sctp-sdp-11.txt 
MMUSIC C. Holmberg MMUSIC C. Holmberg
Internet-Draft S. Loreto Internet-Draft S. Loreto
Intended status: Standards Track G. Camarillo Intended status: Standards Track G. Camarillo
Expires: June 22, 2015 Ericsson Expires: June 22, 2015 Ericsson
December 19, 2014 December 19, 2014
Stream Control Transmission Protocol (SCTP)-Based Media Transport in the Stream Control Transmission Protocol (SCTP)-Based Media Transport in the
Session Description Protocol (SDP) Session Description Protocol (SDP)
draft-ietf-mmusic-sctp-sdp-10 draft-ietf-mmusic-sctp-sdp-11
Abstract Abstract
SCTP (Stream Control Transmission Protocol) is a transport protocol SCTP (Stream Control Transmission Protocol) is a transport protocol
used to establish associations between two endpoints. used to establish associations between two endpoints.
This specification describes how to describe SCTP associations using This specification describes how to describe SCTP associations using
the Session Description Protocol (SDP), and defines the following new the Session Description Protocol (SDP), and defines the following new
SDP Media Description protocol identifiers (proto values):'SCTP', SDP Media Description protocol identifiers (proto values):'SCTP',
'SCTP/DTLS', 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP'. 'SCTP/DTLS', 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP'.
skipping to change at page 2, line 33 skipping to change at page 2, line 33
4.3. Media Format Management . . . . . . . . . . . . . . . . . 5 4.3. Media Format Management . . . . . . . . . . . . . . . . . 5
4.4. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.4. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.5. Example . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.5. Example . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. SDP 'sctp-port' Attribute . . . . . . . . . . . . . . . . . . 6 5. SDP 'sctp-port' Attribute . . . . . . . . . . . . . . . . . . 6
5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. SDP 'max-message-size' Attribute . . . . . . . . . . . . . . 7 6. SDP 'max-message-size' Attribute . . . . . . . . . . . . . . 7
6.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 7
7. SDP 'fmtp' Attribute . . . . . . . . . . . . . . . . . . . . 7 7. SDP 'fmtp' Attribute . . . . . . . . . . . . . . . . . . . . 7
7.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. UDP/DTLS/SCTP Transport Realization . . . . . . . . . . . . . 7
7.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 8
8. UDP/DTLS/SCTP Transport Realization . . . . . . . . . . . . . 8
9. TCP/DTLS/SCTP Transport Realization . . . . . . . . . . . . . 8 9. TCP/DTLS/SCTP Transport Realization . . . . . . . . . . . . . 8
10. SCTP Association Management . . . . . . . . . . . . . . . . . 8 10. SCTP Association Management . . . . . . . . . . . . . . . . . 8
10.1. General . . . . . . . . . . . . . . . . . . . . . . . . 8 10.1. General . . . . . . . . . . . . . . . . . . . . . . . . 8
10.2. SDP sendrecv/sendonly/sendrecv/inactive Attribute . . . 9 10.2. SDP sendrecv/sendonly/sendrecv/inactive Attribute . . . 8
10.3. SDP setup Attribute . . . . . . . . . . . . . . . . . . 9 10.3. SDP setup Attribute . . . . . . . . . . . . . . . . . . 8
10.3.1. General . . . . . . . . . . . . . . . . . . . . . . 9 10.3.1. General . . . . . . . . . . . . . . . . . . . . . . 8
10.3.2. SCTP Association Initiation . . . . . . . . . . . . 9 10.3.2. SCTP Association Initiation . . . . . . . . . . . . 9
10.3.3. TLS Role Determination . . . . . . . . . . . . . . . 9 10.3.3. TLS Role Determination . . . . . . . . . . . . . . . 9
10.4. SDP connection Attribute . . . . . . . . . . . . . . . . 10 10.4. SDP connection Attribute . . . . . . . . . . . . . . . . 9
11. SDP Offer/Answer Procedures . . . . . . . . . . . . . . . . . 10 11. SDP Offer/Answer Procedures . . . . . . . . . . . . . . . . . 10
11.1. General . . . . . . . . . . . . . . . . . . . . . . . . 10 11.1. General . . . . . . . . . . . . . . . . . . . . . . . . 10
11.2. Generating the Initial SDP Offer . . . . . . . . . . . . 11 11.2. Generating the Initial SDP Offer . . . . . . . . . . . . 10
11.3. Generating the SDP Answer . . . . . . . . . . . . . . . 11 11.3. Generating the SDP Answer . . . . . . . . . . . . . . . 11
11.4. Offerer Processing of the SDP Answer . . . . . . . . . . 12 11.4. Offerer Processing of the SDP Answer . . . . . . . . . . 12
11.5. Modifying the Session . . . . . . . . . . . . . . . . . 13 11.5. Modifying the Session . . . . . . . . . . . . . . . . . 12
12. Multihoming Considerations . . . . . . . . . . . . . . . . . 13 12. Multihoming Considerations . . . . . . . . . . . . . . . . . 13
13. NAT Considerations . . . . . . . . . . . . . . . . . . . . . 14 13. NAT Considerations . . . . . . . . . . . . . . . . . . . . . 13
13.1. General . . . . . . . . . . . . . . . . . . . . . . . . 14 13.1. General . . . . . . . . . . . . . . . . . . . . . . . . 13
13.2. ICE Considerations . . . . . . . . . . . . . . . . . . . 14 13.2. ICE Considerations . . . . . . . . . . . . . . . . . . . 14
14. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 14
15. Security Considerations . . . . . . . . . . . . . . . . . . . 14 15. Security Considerations . . . . . . . . . . . . . . . . . . . 14
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
16.1. New SDP proto values . . . . . . . . . . . . . . . . . . 14 16.1. New SDP proto values . . . . . . . . . . . . . . . . . . 14
16.2. New SDP Attribute . . . . . . . . . . . . . . . . . . . 15 16.2. New SDP Attributes . . . . . . . . . . . . . . . . . . . 15
16.3. association-usage Name Registry . . . . . . . . . . . . 15 16.2.1. sctp-port . . . . . . . . . . . . . . . . . . . . . 15
16.2.2. max-message-size . . . . . . . . . . . . . . . . . . 15
16.3. association-usage Name Registry . . . . . . . . . . . . 16
17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
18. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 16 18. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 17
19. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
19.1. Normative References . . . . . . . . . . . . . . . . . . 17 19.1. Normative References . . . . . . . . . . . . . . . . . . 17
19.2. Informative References . . . . . . . . . . . . . . . . . 18 19.2. Informative References . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
SDP (Session Description Protocol) [RFC4566] provides a general- SDP (Session Description Protocol) [RFC4566] provides a general-
purpose format for describing multimedia sessions in announcements or purpose format for describing multimedia sessions in announcements or
invitations. TCP-Based Media Transport in the Session Description invitations. TCP-Based Media Transport in the Session Description
Protocol (SDP) [RFC4145] specifies a general mechanism for describing Protocol (SDP) [RFC4145] specifies a general mechanism for describing
and establishing TCP (Transmission Control Protocol) [RFC5246] and establishing TCP (Transmission Control Protocol) [RFC5246]
streams. Connection-Oriented Media Transport over the Transport streams. Connection-Oriented Media Transport over the Transport
skipping to change at page 6, line 7 skipping to change at page 6, line 7
specification. The "fmt" namespace associated with those proto specification. The "fmt" namespace associated with those proto
values describes the generic application usage of the entire SCTP values describes the generic application usage of the entire SCTP
association, including the associated SCTP streams. association, including the associated SCTP streams.
NOTE: A mechanism on how to describe, and manage, individual SCTP NOTE: A mechanism on how to describe, and manage, individual SCTP
streams within an SCTP association, is outside the scope of this streams within an SCTP association, is outside the scope of this
specification. specification.
4.4. Syntax 4.4. Syntax
sctp-m-line = %x6d "=" sctp-m-line = %x6d "="
("application" SP sctp-port SP "SCTP" SP sctp-fmt CRLF) / ("application" SP sctp-port SP "SCTP" SP fmt CRLF) /
("application" SP sctp-port SP "SCTP/DTLS" SP sctp-fmt CRLF) / ("application" SP sctp-port SP "SCTP/DTLS" SP fmt CRLF) /
("application" SP udp-port SP "UDP/DTLS/SCTP" SP sctp-fmt CRLF) / ("application" SP udp-port SP "UDP/DTLS/SCTP" SP fmt CRLF) /
("application" SP udp-port SP "TCP/DTLS/SCTP" SP sctp-fmt CRLF) ("application" SP tcp-port SP "TCP/DTLS/SCTP" SP fmt CRLF)
sctp-port = port sctp-port = port
udp-port = port udp-port = port
sctp-fmt = association-usage tcp-port = port
association-usage = token fmt = association-usage
association-usage = token
4.5. Example 4.5. Example
m=application 12345 UDP/DTLS/SCTP webrtc-datachannel m=application 12345 UDP/DTLS/SCTP webrtc-datachannel
a=max-message-size: 100000 a=max-message-size: 100000
5. SDP 'sctp-port' Attribute 5. SDP 'sctp-port' Attribute
5.1. General 5.1. General
skipping to change at page 7, line 26 skipping to change at page 7, line 26
behavior in case a message that exceeds the maximum size needs to be behavior in case a message that exceeds the maximum size needs to be
sent. sent.
If the SDP 'max-message-size' attribute contains a maximum message If the SDP 'max-message-size' attribute contains a maximum message
size value of zero, it indicates the SCTP endpoint will handle size value of zero, it indicates the SCTP endpoint will handle
messages of any size, subject to memory capacity etc. messages of any size, subject to memory capacity etc.
If the SDP 'max-message-size' attribute is not present, the default If the SDP 'max-message-size' attribute is not present, the default
value is 64K. value is 64K.
NOTE: This specification only defines the usage of the SDP 'max-
message-size' attribute when associated with an m- line containing
one of the following proto values: 'SCTP', 'SCTP/DTLS', 'UDP/DTLS/
SCTP' or 'TCP/DTLS/SCTP'. Usage of the attribute with other proto
values needs to be defined in a separate specification.
6.2. Syntax 6.2. Syntax
max-message-size-attr = "a=max-message-size:" max-message-size max-message-size-attr = "a=max-message-size:" max-message-size
max-message-size = 1*DIGIT max-message-size = 1*DIGIT
7. SDP 'fmtp' Attribute 7. SDP 'fmtp' Attribute
7.1. General The SDP 'fmtp' attribute [RFC4566] can be used to carry association-
usage specific parameters. If the attribute is used with a specific
The SDP 'fmtp' attribute can be used with an m- line, associated with association-usage, the usage and detailed syntax MUST be defined in
an SCTP association, to indicate the maximum message size that an that association-usage specification.
SCTP endpoint is willing to receive, for a particular SCTP
association usage, on that SCTP association.
The remote peer MUST assume that larger messages will be rejected by
the SCTP endpoint. SCTP endpoints need to decide on appropriate
behavior in case a message that exceeds the maximum size needs to be
sent.
If the SDP 'fmtp' attribute contains a maximum message size value of
zero, it indicates the SCTP endpoint will handle messages of any
size, subject to memory capacity etc.
If the SDP 'fmtp' attribute is not present, the default value is 64K.
NOTE: This specification only defines the usage of the SDP 'max-
message-size' attribute when associated with an m- line containing
one of the following proto field values: 'SCTP', 'SCTP/DTLS',
'UDP/DTLS/SCTP' or 'TCP/DTLS/SCTP'. Usage of the attribute with
other proto values needs to be defined in a separate specification.
7.2. Syntax
sctpmap-attr = "a=fmtp:" association-usage [max-message-size]
max-message-size = "max-message-size" EQUALS 1*DIGIT
8. UDP/DTLS/SCTP Transport Realization 8. UDP/DTLS/SCTP Transport Realization
The UDP/DTLS/SCTP transport is realized as described below: The UDP/DTLS/SCTP transport is realized as described below:
o SCTP on top of DTLS is realized according to the procedures o SCTP on top of DTLS is realized according to the procedures
defined in [I-D.ietf-tsvwg-sctp-dtls-encaps]; and defined in [I-D.ietf-tsvwg-sctp-dtls-encaps]; and
o DTLS on top of UDP is realized according to the procedures in o DTLS on top of UDP is realized according to the procedures in
defined in [RFC6347]. defined in [RFC6347].
skipping to change at page 11, line 32 skipping to change at page 11, line 16
or 'TCP/DTLS/SCTP', associate an SDP setup attribute or 'TCP/DTLS/SCTP', associate an SDP setup attribute
[Section 10.3], with an 'actpass' value, with the m- line; [Section 10.3], with an 'actpass' value, with the m- line;
o MUST, if the m- line proto is 'UDP/DTLS/SCTP' or 'TCP/DTLS/SCTP', o MUST, if the m- line proto is 'UDP/DTLS/SCTP' or 'TCP/DTLS/SCTP',
associate an SDP 'sctp-port' attribute [Section 5] with the m- associate an SDP 'sctp-port' attribute [Section 5] with the m-
line; line;
o MUST associate an SDP 'connection' attribute [Section 10.4], with o MUST associate an SDP 'connection' attribute [Section 10.4], with
a 'new' value, with the m- line; and a 'new' value, with the m- line; and
o MAY associate an SDP 'max-message-size' attribute [Section 7] with o MAY associate an SDP 'max-message-size' attribute [Section 6] with
the m- line. the m- line.
11.3. Generating the SDP Answer 11.3. Generating the SDP Answer
When the answerer receives an offer, which contains an m- line When the answerer receives an offer, which contains an m- line
describing an SCTP association, if the answerer accepts the m- line describing an SCTP association, if the answerer accepts the m- line
it: it:
o MUST insert a corresponding m- line in the answer, with an o MUST insert a corresponding m- line in the answer, with an
identical m- line proto value [RFC3264]; identical m- line proto value [RFC3264];
o MUST, if the m- line proto value is 'SCTP/DTLS', 'UDP/DTLS/SCTP' o MUST, if the m- line proto value is 'SCTP/DTLS', 'UDP/DTLS/SCTP'
or 'TCP/DTLS/SCTP', associate an SDP 'setup' attribute or 'TCP/DTLS/SCTP', associate an SDP 'setup' attribute
[Section 10.3], with an 'active' or 'passive' value, with the m- [Section 10.3], with an 'active' or 'passive' value, with the m-
line; line;
o MUST, if the m- line proto is 'UDP/DTLS/SCTP' or 'TCP/DTLS/SCTP', o MUST, if the m- line proto is 'UDP/DTLS/SCTP' or 'TCP/DTLS/SCTP',
associate an SDP 'sctp-port' attribute[Section 5] with the m- associate an SDP 'sctp-port' attribute[Section 5] with the m-
line; and line; and
o MAY associate an SDP 'max-message-size' attribute [Section 7] with o MAY associate an SDP 'max-message-size' attribute [Section 6] with
the m- line. the m- line.
Once the answerer has sent the answer, the answerer: Once the answerer has sent the answer, the answerer:
o MUST, if an SCTP association associated with the m- line has yet o MUST, if an SCTP association associated with the m- line has yet
not been established, or if an existing SCTP association is to be not been established, or if an existing SCTP association is to be
re-established, initiate the establishing of the SCTP association; re-established, initiate the establishing of the SCTP association;
and and
o MUST, if the answerer is the 'active' endpoint, and if an DTLS o MUST, if the answerer is the 'active' endpoint, and if an DTLS
skipping to change at page 15, line 4 skipping to change at page 14, line 36
This specification does not introduce new security considerations in This specification does not introduce new security considerations in
addition to those defined in the specifications listed above. addition to those defined in the specifications listed above.
16. IANA Considerations 16. IANA Considerations
16.1. New SDP proto values 16.1. New SDP proto values
[RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this [RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this
document.] document.]
This document updates the "Session Description Protocol (SDP) This document updates the "Session Description Protocol (SDP)
Parameters" registry, following the procedures in [RFC4566], by Parameters" registry, following the procedures in [RFC4566], by
adding the following values to the table in the SDP "proto" field adding the following values to the table in the SDP "proto" field
registry: registry:
+---------------+---------------+-----------+ +-------+---------------+-----------+
| Type | SDP Name | Reference | | Type | SDP Name | Reference |
+---------------+---------------+-----------+ +-------+---------------+-----------+
| proto | SCTP | [RFCXXXX] | | proto | SCTP | [RFCXXXX] |
| proto | SCTP/DTLS | [RFCXXXX] | | proto | SCTP/DTLS | [RFCXXXX] |
| proto | UDP/DTLS/SCTP | [RFCXXXX] | | proto | UDP/DTLS/SCTP | [RFCXXXX] |
| TCP/DTLS/SCTP | [RFCXXXX] | | proto | TCP/DTLS/SCTP | [RFCXXXX] |
+---------------+---------------+-----------+ +-------+---------------+-----------+
Table 1: SDP "proto" field values Table 1: SDP "proto" field values
16.2. New SDP Attribute 16.2. New SDP Attributes
16.2.1. sctp-port
[RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this [RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this
document.] document.]
This document defines a new SDP media-level attribute,'sctp-port', as This document defines a new SDP media-level attribute,'sctp-port', as
follows: follows:
Attribute name: sctp-port Attribute name: sctp-port
Type of attribute: media Type of attribute: media
Subject to charset: No Subject to charset: No
Purpose: Indicate the SCTP port value associated Purpose: Indicate the SCTP port value associated
with the SDP Media Description. with the SDP Media Description.
Appropriate values: Integer Appropriate values: Integer
Contact name: Christer Holmberg Contact name: Christer Holmberg
Contact e-mail: christer.holmberg@ericsson.com Contact e-mail: christer.holmberg@ericsson.com
Reference: RFCXXXX Reference: RFCXXXX
16.2.2. max-message-size
[RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this
document.]
This document defines a new SDP media-level attribute,'max-message-
size', as follows:
Attribute name: max-message-size
Type of attribute: media
Subject to charset: No
Purpose: Indicate the maximum message size that
an SCTP endpoint is willing to receive
on the SCTP association associated
with the SDP Media Description.
Appropriate values: Integer
Contact name: Christer Holmberg
Contact e-mail: christer.holmberg@ericsson.com
Reference: RFCXXXX
16.3. association-usage Name Registry 16.3. association-usage Name Registry
[RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this [RFC EDITOR NOTE: Please replace RFCXXXX with the RFC number of this
document.] document.]
This specification creates a new IANA registry, following the This specification creates a new IANA registry, following the
procedures in [RFC5226], for the "fmt" namespace associated with the procedures in [RFC5226], for the "fmt" namespace associated with the
'SCTP', 'SCTP/DTLS', 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP' protocol 'SCTP', 'SCTP/DTLS', 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP' protocol
identifiers. Each "fmt" value describes the usage of an entire SCTP identifiers. Each "fmt" value describes the usage of an entire SCTP
association, including all SCTP streams associated with the SCTP association, including all SCTP streams associated with the SCTP
association. association.
NOTE: Usage indication of individual SCTP streams is outside the NOTE: Usage indication of individual SCTP streams is outside the
scope of this specification. scope of this specification.
The "fmt" value, "association-usage", used with these "proto" is The "fmt" value, "association-usage", used with these "proto" is
required. It is defined in [Section 4]. required. It is defined in [Section 4].
As part of this registry, IANA maintains the following information: As part of this registry, IANA maintains the following information:
association-usage Name: .The identifier of the subprotocol, as will association-usage name: .The identifier of the subprotocol, as will
be used in the <sctp-fmtp> subfield. be used as the "fmt" value.
association-usage reference: A reference to the document in which association-usage reference: A reference to the document in which
the association usage is defined. the association-usage is defined.
association-usage names are to be subject to the "First Come First association-usage names are to be subject to the "First Come First
Served" IANA registration policy [RFC5226]. Served" IANA registration policy [RFC5226].
IANA is asked to add initial values to the registry. IANA is asked to add initial values to the registry.
| name | Reference | | name | Reference |
-+--------------------+-------------------------------------+ -+--------------------+-------------------------------------+
| webrtc-datachannel | draft-ietf-rtcweb-data-protocol-xx | | webrtc-datachannel | draft-ietf-rtcweb-data-protocol-xx |
-+----------------------------------------------------------| -+----------------------------------------------------------|
skipping to change at page 16, line 40 skipping to change at page 17, line 9
17. Acknowledgments 17. Acknowledgments
The authors wish to thank Harald Alvestrand, Randell Jesup, Paul The authors wish to thank Harald Alvestrand, Randell Jesup, Paul
Kyzivat, Michael Tuexen for their comments and useful feedback. Kyzivat, Michael Tuexen for their comments and useful feedback.
18. Change Log 18. Change Log
[RFC EDITOR NOTE: Please remove this section when publishing] [RFC EDITOR NOTE: Please remove this section when publishing]
Changes from draft-ietf-mmusic-sctp-sdp-10
o SDP max-message-size attribute added to IANA considerations.
o Changes based on comments from Paul Kyzivat:
o - Text about max message size removed from fmtp attribute section.
Changes from draft-ietf-mmusic-sctp-sdp-09 Changes from draft-ietf-mmusic-sctp-sdp-09
o 'DTLS/SCTP' split into 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP' o 'DTLS/SCTP' split into 'UDP/DTLS/SCTP' and 'TCP/DTLS/SCTP'
o Procedures for realizing UDP/DTLS/SCTP- and TCP/DTLS/SCTP o Procedures for realizing UDP/DTLS/SCTP- and TCP/DTLS/SCTP
transports added. transports added.
Changes from draft-ietf-mmusic-sctp-sdp-08 Changes from draft-ietf-mmusic-sctp-sdp-08
o Default SCTP port removed: o Default SCTP port removed:
 End of changes. 27 change blocks. 
67 lines changed or deleted 83 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/