draft-ietf-mmusic-sctp-sdp-04.txt   draft-ietf-mmusic-sctp-sdp-05.txt 
MMUSIC S. Loreto MMUSIC S. Loreto
Internet-Draft G. Camarillo Internet-Draft G. Camarillo
Intended status: Standards Track Ericsson Intended status: Standards Track Ericsson
Expires: January 1, 2014 June 30, 2013 Expires: April 24, 2014 October 21, 2013
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-04 draft-ietf-mmusic-sctp-sdp-05
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. This document used to establish associations between two endpoints. This document
describes how to express media transport over SCTP in SDP (Session describes how to express media transport over SCTP in SDP (Session
Description Protocol). This document defines the 'SCTP', 'SCTP/DTLS' Description Protocol). This document defines the 'SCTP', 'SCTP/DTLS'
and 'DTLS/SCTP' protocol identifiers for SDP. and 'DTLS/SCTP' protocol identifiers for SDP.
Status of this Memo Status of this Memo
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 1, 2014. This Internet-Draft will expire on April 24, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 16 skipping to change at page 2, line 16
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Protocol Identifier . . . . . . . . . . . . . . . . . . . . . 4 3. Protocol Identifier . . . . . . . . . . . . . . . . . . . . . 4
4. Media Formats . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Media Formats . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Media Descriptions . . . . . . . . . . . . . . . . . . . . 5 4.1. Media Descriptions . . . . . . . . . . . . . . . . . . . . 5
5. Media attributes . . . . . . . . . . . . . . . . . . . . . . . 6 5. Media attributes . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. sctpmap Attribute . . . . . . . . . . . . . . . . . . . . 6 5.1. sctpmap Attribute . . . . . . . . . . . . . . . . . . . . 6
6. The Setup and Connection Attributes and Association 6. The Setup and Connection Attributes and Association
Management . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Management . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7. Multihoming . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. Multihoming . . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Network Address Translation (NAT) Considerations . . . . . . . 7 8. Network Address Translation (NAT) Considerations . . . . . . . 8
9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.1. Actpass/Passive . . . . . . . . . . . . . . . . . . . . . 8 9.1. Actpass/Passive . . . . . . . . . . . . . . . . . . . . . 8
9.2. Existing Connection Reuse . . . . . . . . . . . . . . . . 9 9.2. Existing Connection Reuse . . . . . . . . . . . . . . . . 9
9.3. SDP description for SCTP over DTLS Connection . . . . . . 9 9.3. SDP description for SCTP over DTLS Connection . . . . . . 10
10. Security Considerations . . . . . . . . . . . . . . . . . . . 10 10. Security Considerations . . . . . . . . . . . . . . . . . . . 10
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11
12.1. Normative References . . . . . . . . . . . . . . . . . . . 10 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
12.2. Informative References . . . . . . . . . . . . . . . . . . 11 13.1. Normative References . . . . . . . . . . . . . . . . . . . 11
13.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12
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) streams. and establishing TCP (Transmission Control Protocol) streams.
Connection-Oriented Media Transport over the Transport Layer Security Connection-Oriented Media Transport over the Transport Layer Security
skipping to change at page 5, line 32 skipping to change at page 5, line 32
If the <proto> sub-field is 'SCTP' or 'SCTP/DTLS' If the <proto> sub-field is 'SCTP' or 'SCTP/DTLS'
the <port> is the SCTP transport port and follows the same active/ the <port> is the SCTP transport port and follows the same active/
passive offer/answer model described in Section 4.1 of [RFC4145]; passive offer/answer model described in Section 4.1 of [RFC4145];
the <fmt> sub-field carries the same port number value specified the <fmt> sub-field carries the same port number value specified
in the <port> and the mandatory "a=sctpmap:" attribute contains in the <port> and the mandatory "a=sctpmap:" attribute contains
the actual media format within the protocol parameter. the actual media format within the protocol parameter.
m=application 54111 SCTP/DTLS 54111 m=application 54111 SCTP/DTLS 54111
a=sctpmap:54111 t38 1 a=sctpmap:54111 webrtc-datachannel 1
Running SCTP over DTLS make possible to have multiple SCTP Running SCTP over DTLS make possible to have multiple SCTP
associations on top of the same DTLS connection; each SCTP associations on top of the same DTLS connection; each SCTP
association make use of a distinct port number that is mainly used to association make use of a distinct port number that is mainly used to
demultiplex the associations. demultiplex the associations.
If the <proto> sub-field is 'DTLS/SCTP' If the <proto> sub-field is 'DTLS/SCTP'
the <port> is the UDP transport port; the <port> is the UDP transport port;
the <fmt> sub-field carries the SCTP port number and the mandatory the <fmt> sub-field carries the SCTP port number and the mandatory
"a=sctpmap:" attribute contains the actual media format within the "a=sctpmap:" attribute contains the actual media format within the
protocol parameter. protocol parameter. The SCTP port number is the UA chosen port to
use on the DTLS channel.
When a list of port number identifiers is given, this implies that When a list of SCTP port number identifiers is given, this implies
all of these associations MUST run on top of the same DTLS that all of these associations MUST run on top of the same DTLS
connection. For the payload type assignments the "a=sctpmap:" connection. For the payload type assignments the "a=sctpmap:"
attribute (see Section 5.1) SHOULD be used to map from a port number attribute (see Section 5.1) SHOULD be used to map from a port number
to a media encoding name that identifies the payload format to a media encoding name that identifies the payload format
transported by the association or the actual application protocol transported by the association or the actual application protocol
running on top of it. running on top of it.
m=application 54111 DTLS/SCTP 5000 5001 5002 m=application 54111 DTLS/SCTP 5000 5001 5002
c=IN IP4 79.97.215.79 c=IN IP4 79.97.215.79
a=sctpmap:5000 webrtc-datachannel 16 a=sctpmap:5000 webrtc-datachannel 16
a=sctpmap:5001 bfcp 2 a=sctpmap:5001 bfcp 2
a=sctpmap:5002 t38 1 a=sctpmap:5002 t38 1
5. Media attributes 5. Media attributes
5.1. sctpmap Attribute 5.1. sctpmap Attribute
The sctpmap attribute maps from a port number (as used in an "m=" The sctpmap attribute maps from a port number (as used in an "m="
line) to an encoding name denoting the payload format to be used on line) to an encoding name denoting the payload format to be used on
top of the SCTP association or the actual protocol running on top of top of the SCTP association or the actual protocol running on top of
it. It also can provide the number of streams to be supported by the it. It also can provide the number of incoming streams to be
association. If this attribute is not present, the implementation supported by each side of the association. If this attribute is not
should provide a default, with a suggested value of 16. present, the implementation should provide a default, with a
suggested value of 16.
sctpmap-attr = "a=sctpmap:" sctpmap-number protocol [streams] sctpmap-attr = "a=sctpmap:" sctpmap-number media-subtypes [streams]
sctpmap-number = 1*DIGIT sctpmap-number = 1*DIGIT
protocol = labelstring protocol = labelstring
labelstring = text labelstring = text
text = byte-string text = byte-string
streams = 1*DIGIT streams = 1*DIGIT
For each "a=sctpmap:" attribute line in the offer, there MUST be a
corresponding "a=sctpmap:" attribute line in the answer. The answer
MUST contain exactly the same number of "a=sctpmap:" attribute lines
as the offer. This allows for SCTP associations to be matched up
based on their order.
Any offered association MAY be rejected in the answer, for any
reason. If an association offer is rejected, the offerer and
answerer MUST NOT establish an SCTP association for it. To reject an
SCTP association, the SCTP port number in the corresponding
"a=sctpmap:" attribute line in the answer MUST be set to zero.
Any offered association with an "a=sctpmap:" attribute line providing
an incoming stream number of zero or larger than 65535 MUST be
rejected in the answer. An offered association answered with an
"a=sctpmap:" attribute line providing an incoming stream number of
zero or larger than 65535 MUST NOT be established.
6. The Setup and Connection Attributes and Association Management 6. The Setup and Connection Attributes and Association Management
The use of the 'setup' and 'connection' attributes in the context of The use of the 'setup' and 'connection' attributes in the context of
an SCTP association is identical to the use of these attributes in an SCTP association is identical to the use of these attributes in
the context of a TCP connection. That is, SCTP endpoints MUST follow the context of a TCP connection. That is, SCTP endpoints MUST follow
the rules in Sections 4 and 5 of RFC 4145 [RFC4145] when it comes to the rules in Sections 4 and 5 of RFC 4145 [RFC4145] when it comes to
the use of the 'setup' and 'connection' attributes in offer/answer the use of the 'setup' and 'connection' attributes in offer/answer
[RFC3264] exchanges. [RFC3264] exchanges.
skipping to change at page 8, line 44 skipping to change at page 9, line 16
m=application 54111 SCTP 54111 m=application 54111 SCTP 54111
c=IN IP4 192.0.2.2 c=IN IP4 192.0.2.2
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
a=sctpmap:54111 t38 1 a=sctpmap:54111 t38 1
Figure 1 Figure 1
The endpoint at 192.0.2.1 responds with the following description: The endpoint at 192.0.2.1 responds with the following description:
m=image 54321 SCTP 54321 m=application 54321 SCTP 54321
c=IN IP4 192.0.2.1 c=IN IP4 192.0.2.1
a=setup:passive a=setup:passive
a=connection:new a=connection:new
a=sctpmap:t54321 t38 1 a=sctpmap:t54321 t38 1
Figure 2 Figure 2
This will cause the offerer (at 192.0.2.2) to initiate an SCTP This will cause the offerer (at 192.0.2.2) to initiate an SCTP
association to port 54321 at 192.0.2.1. association to port 54321 at 192.0.2.1.
skipping to change at page 9, line 39 skipping to change at page 10, line 10
Figure 4 Figure 4
The existing SCTP association between 192.0.2.2 and 192.0.2.1 will be The existing SCTP association between 192.0.2.2 and 192.0.2.1 will be
reused. reused.
9.3. SDP description for SCTP over DTLS Connection 9.3. SDP description for SCTP over DTLS Connection
This example shows the usage of SCTP over DTLS. This example shows the usage of SCTP over DTLS.
An offerer at 192.0.2.2 signals the availability of a T.38 fax An offerer at 192.0.2.2 signals the availability of a webrtc-
session over SCTP/DTLS. The DTLS connection runs on top of port DataChannel session over SCTP/DTLS. The DTLS connection runs on top
54111. of port 54111.
m=image 54111 DTLS/SCTP 5000 m=application 54111 DTLS/SCTP 5000
c=IN IP4 192.0.2.2 c=IN IP4 192.0.2.2
a=setup:actpass a=setup:actpass
a=connection:new a=connection:new
a=fingerprint:SHA-1 \ a=fingerprint:SHA-1 \
4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB
a=sctpmap:5000 webrtc-DataChannel 16 a=sctpmap:5000 webrtc-DataChannel 16
a=webrtc-DataChannel:5000 stream:1;label="channel 1";subprotocol="chat";
a=webrtc-DataChannel:5000 stream:2;label="channel 2";subprotocol="file transfer"
Figure 5 Figure 5
The endpoint at 192.0.2.1 responds with the following description:
m=application 62442 DTLS/SCTP 5001
c=IN IP4 192.0.2.1
a=setup:actpass
a=connection:new
a=fingerprint:SHA-1 \
4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB
a=sctpmap:5001 webrtc-DataChannel 16
Figure 6
10. Security Considerations 10. Security Considerations
See RFC 4566 [RFC4566] for security considerations on the use of SDP See RFC 4566 [RFC4566] for security considerations on the use of SDP
in general. See RFC 3264 [RFC3264], RFC 4145 [RFC4145] and RFC 4572 in general. See RFC 3264 [RFC3264], RFC 4145 [RFC4145] and RFC 4572
[RFC4572] for security considerations on establishing media streams [RFC4572] for security considerations on establishing media streams
using offer/answer exchanges. See RFC 4960 [RFC4960] for security using offer/answer exchanges. See RFC 4960 [RFC4960] for security
considerations on SCTP in general and [RFC6083] for security considerations on SCTP in general and [RFC6083] for security
consideration using DTLS on top of SCTP. This specification does not consideration using DTLS on top of SCTP. This specification does not
introduce any new security consideration in addition to the ones introduce any new security consideration in addition to the ones
discussed in those specifications. discussed in those specifications.
11. IANA Considerations 11. IANA Considerations
This document defines three new proto values: 'SCTP', 'SCTP/DTLS' and This document defines three new proto values: 'SCTP', 'SCTP/DTLS' and
'DTLS/SCTP'. Their formats are defined in Section 3. These proto 'DTLS/SCTP'. Their formats are defined in Section 3. These proto
values should be registered by the IANA under "Session Description values should be registered by the IANA under "Session Description
Protocol (SDP) Parameters" under "proto". Protocol (SDP) Parameters" under "proto".
This document defines two SDP session and media-level attributes: This document defines a new SDP session and media-level attribute:
'sctpmap'. Its format is defined in Section 5.1. This attribute 'sctpmap'. Its format is defined in Section 5.1. This attribute
should be registered by IANA under "Session Description Protocol should be registered by IANA under "Session Description Protocol
(SDP) Parameters" under "att-field" (both session and media (SDP) Parameters" under "att-field" (both session and media
level)". level)".
12. References 12. Acknowledgments
12.1. Normative References The authors wish to thank Harald Alvestrand, Randell Jesup, Paul
Kyzivat, Michael Tuexen for their comments and useful feedback.
13. References
13.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, with Session Description Protocol (SDP)", RFC 3264,
June 2002. June 2002.
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in
the Session Description Protocol (SDP)", RFC 4145, the Session Description Protocol (SDP)", RFC 4145,
skipping to change at page 11, line 36 skipping to change at page 12, line 26
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008. (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[I-D.tuexen-tsvwg-sctp-dtls-encaps] [I-D.tuexen-tsvwg-sctp-dtls-encaps]
Jesup, R., Loreto, S., Stewart, R., and M. Tuexen, "DTLS Jesup, R., Loreto, S., Stewart, R., and M. Tuexen, "DTLS
Encapsulation of SCTP Packets for RTCWEB", Encapsulation of SCTP Packets for RTCWEB",
draft-tuexen-tsvwg-sctp-dtls-encaps-01 (work in progress), draft-tuexen-tsvwg-sctp-dtls-encaps-01 (work in progress),
July 2012. July 2012.
12.2. Informative References 13.2. Informative References
[RFC3436] Jungmaier, A., Rescorla, E., and M. Tuexen, "Transport [RFC3436] Jungmaier, A., Rescorla, E., and M. Tuexen, "Transport
Layer Security over Stream Control Transmission Protocol", Layer Security over Stream Control Transmission Protocol",
RFC 3436, December 2002. RFC 3436, December 2002.
[RFC6083] Tuexen, M., Seggelmann, R., and E. Rescorla, "Datagram [RFC6083] Tuexen, M., Seggelmann, R., and E. Rescorla, "Datagram
Transport Layer Security (DTLS) for Stream Control Transport Layer Security (DTLS) for Stream Control
Transmission Protocol (SCTP)", RFC 6083, January 2011. Transmission Protocol (SCTP)", RFC 6083, January 2011.
[RFC5768] Rosenberg, J., "Indicating Support for Interactive [RFC5768] Rosenberg, J., "Indicating Support for Interactive
 End of changes. 21 change blocks. 
34 lines changed or deleted 71 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/