Internet DRAFT - draft-greevenbosch-hitchhikersguide-sdp
draft-greevenbosch-hitchhikersguide-sdp
mmusic B. Greevenbosch
Internet-Draft Huawei Technologies
Intended status: Informational March 2, 2012
Expires: September 3, 2012
Hitchhiker's guide to the Session Description Protocol (SDP)
draft-greevenbosch-hitchhikersguide-sdp-00
Abstract
The Session Initiation Protocol (SDP) is the subject of numerous
specifications that have been produced by the IETF. It can be
difficult to locate the right document, or even to determine the set
of Request for Comments (RFC) about SDP. This specification serves
as a guide to the SDP RFC series. It lists a current snapshot of the
specifications under the SDP umbrella, briefly summarises each, and
groups them into categories.
Greevenbosch Expires September 3, 2012 [Page 1]
Internet-Draft Hitchhiker's guide to SDP March 2012
Note
Discussion and suggestions for improvement are requested, and should
be sent to mmusic@ietf.org.
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 September 3, 2012.
Copyright Notice
Copyright (c) 2012 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) 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.
Greevenbosch Expires September 3, 2012 [Page 2]
Internet-Draft Hitchhiker's guide to SDP March 2012
Table of Contents
1. Requirements notation . . . . . . . . . . . . . . . . . . . . 4
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Core SDP specifications . . . . . . . . . . . . . . . . . . . 7
4. General purpose infrastructure extensions . . . . . . . . . . 8
5. NAT Traversal . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Minor extensions . . . . . . . . . . . . . . . . . . . . . . . 10
7. Security mechanisms . . . . . . . . . . . . . . . . . . . . . 11
8. Conferencing . . . . . . . . . . . . . . . . . . . . . . . . . 12
9. Documents left to handle . . . . . . . . . . . . . . . . . . . 13
9.1. RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.2. Working group drafts . . . . . . . . . . . . . . . . . . . 13
9.3. Individual drafts . . . . . . . . . . . . . . . . . . . . 13
10. Security Considerations . . . . . . . . . . . . . . . . . . . 14
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
12. Normative References . . . . . . . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
Greevenbosch Expires September 3, 2012 [Page 3]
Internet-Draft Hitchhiker's guide to SDP March 2012
1. Requirements notation
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 [RFC2119].
Greevenbosch Expires September 3, 2012 [Page 4]
Internet-Draft Hitchhiker's guide to SDP March 2012
2. Introduction
The Session Description Protocol (SDP) [RFC4566] is the subject of
numerous specifications that have been produced by the IETF. It can
be difficult to locate the right document, or even to determine the
set of Request for Comments (RFC) about SDP.
This specification serves as a guide to the SDP RFC series. It is a
current snapshot of the specifications under the SDP umbrella at the
time of publication. It is anticipated that this document itself
will be regularly updated as SDP specifications mature. Furthermore,
it references many specifications, which, at the time of publication
of this document, were not yet finalised, and may eventually be
completed or abandoned. Therefore, the enumeration of specifications
here is a work-in-progress and subject to change.
For each specification, a paragraph or so description is included
that summarises the purpose of the specification. Each specification
also includes a letter that designates its category in the Standards
Track [RFC2026]. These values are:
S: Standards Track (Proposed Standard, Draft Standard, or
Standard)
E: Experimental
B: Best Current Practice
I: Informational
The specifications are grouped together by topic. The topics are:
Core: The SDP specifications that are expected to be utilised for
each session or registration an endpoint participates in.
General Purpose Infrastructure: General purpose extensions to SDP,
but the ones that are not expected to always be used.
NAT Traversal: Specifications to deal with firewall and NAT
traversal.
Quality of Service: Specifications related to multimedia quality of
service (QoS).
Operations and Management: Specifications related to configuration
and monitoring of SDP deployments.
Greevenbosch Expires September 3, 2012 [Page 5]
Internet-Draft Hitchhiker's guide to SDP March 2012
Minor Extensions: Specifications that solve a narrow problem space
or provide an optimisation.
Security Mechanisms: Specifications providing security functionality
for SDP.
Conferencing: Specifications for multimedia conferencing.
Typically, SDP extensions fit naturally into topic areas, and
implementors interested in a particular topic often implement many or
all of the specifications in that area. There are some
specifications that fall into multiple topic areas, but generally
they will be listed only once.
This document itself is not an update to [RFC4566] or an extension to
SDP. It is an informational document, meant to guide newcomers,
implementers, and deployers to the many specifications associated
with SDP.
Greevenbosch Expires September 3, 2012 [Page 6]
Internet-Draft Hitchhiker's guide to SDP March 2012
3. Core SDP specifications
RFC 2327, Session Description Protocol (S): [RFC2327] defines the
original SDP protocol. The RFC has been obsoleted by its
successor [RFC4566].
RFC 3264, An Offer/Answer Model with the Session Description
Protocol (S): [RFC3264] defines how SDP is used with SIP [RFC3261]
to negotiate the parameters of a media session. It is in
widespread usage and an integral part of the behaviour of SIP.
RFC 4566, Session Description Protocol (S): [RFC4566] defines a
format for representing multimedia sessions. SDP objects are
carried in the body of SIP messages and, based on the offer/answer
model, are used to negotiate the media characteristics of a
session between users.
Greevenbosch Expires September 3, 2012 [Page 7]
Internet-Draft Hitchhiker's guide to SDP March 2012
4. General purpose infrastructure extensions
RFC 3266, Support for IPv6 in Session Description Protocol (SDP)
(S): [RFC3266] describes the use of Internet Protocol Version 6
(IPv6) addresses in conjunction with the Session Description
Protocol (SDP). The document clarifies existing text in SDP in
regard to the syntax of IPv6 addresses.
RFC 3388, Grouping of Media Lines in the Session Description
Protocol (S): [RFC3388] defines a framework for grouping together
media streams in an SDP message. Such a grouping allows
relationships between these streams, such as which stream is the
audio for a particular video feed, to be expressed.
RFC 4091, The Alternative Network Address Types (ANAT) Semantics for
the Session Description Protocol (SDP) Grouping Framework (S):
[RFC4091] defines a mechanism for including both IPv4 and IPv6
addresses to establish a media stream. This mechanism has been
deprecated in favor of ICE [ICE].
RFC 4145, TCP-Based Media Transport in the Session Description
Protocol (SDP) (S): [RFC4145] defines an extension to SDP for
setting up TCP-based sessions between user agents. It defines who
sets up the connection and how its lifecycle is managed. It has
seen relatively little usage due to the small number of media
types to date that use TCP.
Greevenbosch Expires September 3, 2012 [Page 8]
Internet-Draft Hitchhiker's guide to SDP March 2012
5. NAT Traversal
RFC3605, Real Time Control Protocol (RTCP) Attribute in the Session
Description Protocol (SDP) (S): [RFC3605] defines a way to
explicitly signal, within an SDP message, the IP address and port
for RTCP, rather than using the port+1 rule in the Real Time
Transport Protocol (RTP) [RFC3550]. It is needed for devices
behind NAT, and the specification is required by ICE.
Greevenbosch Expires September 3, 2012 [Page 9]
Internet-Draft Hitchhiker's guide to SDP March 2012
6. Minor extensions
RFC3890, A Transport Independent Bandwidth Modifier for the Session
Description Protocol (SDP) (S): [RFC3890] specifies an SDP
extension that allows for the description of the bandwidth for a
media session that is independent of the underlying transport
mechanism.
RFC 4796, The SDP (Session Description Protocol) Content Attribute
(S): [RFC4796] defines an SDP attribute for describing the purpose
of a media stream. Examples include a slide view, the speaker, a
sign language feed, and so on.
Greevenbosch Expires September 3, 2012 [Page 10]
Internet-Draft Hitchhiker's guide to SDP March 2012
7. Security mechanisms
RFC4567, Key Management Extensions for Session Description Protocol
(SDP) and Real Time Streaming Protocol (RTSP) (S): [RFC4567]
defines extensions to SDP that allow tunneling of a key management
protocol, namely MIKEY [RFC3830], through offer/answer exchanges.
This mechanism is one of three Secure Realtime Transport Protocol
(SRTP) keying techniques specified for SIP, with Datagram
Transport Layer Security (DTLS)-SRTP [RFC5683] having been
selected as the final solution.
RFC4568, Session Description Protocol (SDP) Security Descriptions
for Media Streams (S): [RFC4568] defines extensions to SDP that
allow for the negotiation of keying material directly through
offer/answer, without a separate key management protocol. This
mechanism, sometimes called sdescriptions, has the drawback that
the media keys are available to any entity that has visibility to
the SDP. It is one of three SRTP keying techniques specified for
SIP, with DTLS-SRTP [RFC5683] having been selected as the final
solution.
RFC4572, Connection-Oriented Media Transport over the Transport
Layer Security (TLS) Protocol in the Session Description Protocol
(SDP) (S): [RFC4572] specifies a mechanism for signaling TLS-
based media streams between endpoints. It expands the TCP-based
media signaling parameters defined in [RFC4145] to include
fingerprint information for TLS streams so that TLS can operate
between end hosts using self-signed certificates.
RFC5027, Security Preconditions for Session Description Protocol
Media Streams (S): [RFC5027] defines a precondition for use with
the preconditions framework [RFC3312]. The security precondition
prevents a session from being established until a security media
stream is set up.
Greevenbosch Expires September 3, 2012 [Page 11]
Internet-Draft Hitchhiker's guide to SDP March 2012
8. Conferencing
RFC4574, The SDP (Session Description Protocol) Label Attribute (S):
[RFC4574] defines an SDP attribute for providing an opaque label
for media streams. These labels can be referred to by external
documents, and in particular, by conference policy documents.
This allows a UA to tie together documents it may obtain through
conferencing mechanisms to media streams to which they refer.
RFC4583, Session Description Protocol (SDP) Format for Binary Floor
Control Protocol (BFCP) Streams (S): [RFC4583] defines a mechanism
in SDP to signal floor control streams that use BFCP. It is used
for push-to-talk and conference floor control.
Greevenbosch Expires September 3, 2012 [Page 12]
Internet-Draft Hitchhiker's guide to SDP March 2012
9. Documents left to handle
9.1. RFCs
3108, 3890, 4317, 4570, 4583, 4585, 5104, 5432, 5547, 5576, 5583,
5888, 5898, 5939, 6236.
9.2. Working group drafts
draft-ietf-mmusic-media-loopback-16,
draft-ietf-mmusic-parallax-attribute-00,
draft-ietf-mmusic-rfc4566bis-04, draft-ietf-mmusic-sdp-cs-09,
draft-ietf-mmusic-sdp-media-capabilities-12,
draft-ietf-mmusic-traffic-class-for-sdp-00,
draft-ietf-mmusic-signal-3d-format-00, draft-ietf-payload-rtp-mvc.
9.3. Individual drafts
draft-boucadair-mmusic-altc-04,
draft-boucadair-mmusic-ipv6-use-cases-00,
draft-boulton-mmusic-sdp-control-package-attribute-07,
draft-holmberg-mmusic-sdp-bundle-negotiation-00,
draft-lennox-mmusic-sdp-source-selection-03,
draft-petithuguenin-mmusic-ice-attributes-level-02,
draft-westerlund-mmusic-sdp-bw-attribute-00.
Greevenbosch Expires September 3, 2012 [Page 13]
Internet-Draft Hitchhiker's guide to SDP March 2012
10. Security Considerations
This specification is an overview of existing specifications and does
not introduce any security considerations on its own.
Greevenbosch Expires September 3, 2012 [Page 14]
Internet-Draft Hitchhiker's guide to SDP March 2012
11. Acknowledgements
The author would like to thank Jonathan Rosenberg, the author of "A
Hitchhiker's guide to the Session Initiation Protocol (SIP)"
[RFC5411], which served as basis for this document, and from which
much text was copied.
Greevenbosch Expires September 3, 2012 [Page 15]
Internet-Draft Hitchhiker's guide to SDP March 2012
12. Normative References
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2327] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998.
[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.
[RFC3266] Olson, S., Camarillo, G., and A. Roach, "Support for IPv6
in Session Description Protocol (SDP)", RFC 3266,
June 2002.
[RFC3312] Camarillo, G., Marshall, W., and J. Rosenberg,
"Integration of Resource Management and Session Initiation
Protocol (SIP)", RFC 3312, October 2002.
[RFC3388] Camarillo, G., Eriksson, G., Holler, J., and H.
Schulzrinne, "Grouping of Media Lines in the Session
Description Protocol (SDP)", RFC 3388, December 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute
in Session Description Protocol (SDP)", RFC 3605,
October 2003.
[RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K.
Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830,
August 2004.
[RFC3890] Westerlund, M., "A Transport Independent Bandwidth
Modifier for the Session Description Protocol (SDP)",
RFC 3890, September 2004.
Greevenbosch Expires September 3, 2012 [Page 16]
Internet-Draft Hitchhiker's guide to SDP March 2012
[RFC4091] Camarillo, G. and J. Rosenberg, "The Alternative Network
Address Types (ANAT) Semantics for the Session Description
Protocol (SDP) Grouping Framework", RFC 4091, June 2005.
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in
the Session Description Protocol (SDP)", RFC 4145,
September 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E.
Carrara, "Key Management Extensions for Session
Description Protocol (SDP) and Real Time Streaming
Protocol (RTSP)", RFC 4567, July 2006.
[RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session
Description Protocol (SDP) Security Descriptions for Media
Streams", RFC 4568, July 2006.
[RFC4572] Lennox, J., "Connection-Oriented Media Transport over the
Transport Layer Security (TLS) Protocol in the Session
Description Protocol (SDP)", RFC 4572, July 2006.
[RFC4574] Levin, O. and G. Camarillo, "The Session Description
Protocol (SDP) Label Attribute", RFC 4574, August 2006.
[RFC4583] Camarillo, G., "Session Description Protocol (SDP) Format
for Binary Floor Control Protocol (BFCP) Streams",
RFC 4583, November 2006.
[RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description
Protocol (SDP) Content Attribute", RFC 4796,
February 2007.
[RFC5027] Andreasen, F. and D. Wing, "Security Preconditions for
Session Description Protocol (SDP) Media Streams",
RFC 5027, October 2007.
[RFC5411] Rosenberg, J., "A Hitchhiker's Guide to the Session
Initiation Protocol (SIP)", RFC 5411, February 2009.
[RFC5683] Brusilovsky, A., Faynberg, I., Zeltsan, Z., and S. Patel,
"Password-Authenticated Key (PAK) Diffie-Hellman
Exchange", RFC 5683, February 2010.
Greevenbosch Expires September 3, 2012 [Page 17]
Internet-Draft Hitchhiker's guide to SDP March 2012
Author's Address
Bert Greevenbosch
Huawei Technologies Co., Ltd.
Huawei Industrial Base
Bantian, Longgang District
Shenzhen 518129
P.R. China
Phone: +86-755-28978088
Email: bert.greevenbosch@huawei.com
Greevenbosch Expires September 3, 2012 [Page 18]