draft-ietf-mmusic-sdp-media-content-00.txt   draft-ietf-mmusic-sdp-media-content-01.txt 
MMUSIC Working Group J. Hautakorpi MMUSIC Working Group J. Hautakorpi
Internet-Draft G. Camarillo Internet-Draft G. Camarillo
Expires: March 5, 2006 Ericsson Expires: August 20, 2006 Ericsson
September 2005 February 16, 2006
The SDP (Session Description Protocol) Content Attribute The SDP (Session Description Protocol) Content Attribute
draft-ietf-mmusic-sdp-media-content-00.txt draft-ietf-mmusic-sdp-media-content-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 5, 2006. This Internet-Draft will expire on August 20, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document defines a new Session Description Protocol (SDP) media- This document defines a new Session Description Protocol (SDP) media-
level attribute, 'content'. The 'content' attribute defines the level attribute, 'content'. The 'content' attribute defines the
content of the media stream in more detailed level than the media content of the media stream in more detailed level than the media
description line. The sender of an SDP session description can description line. The sender of an SDP session description can
attach the 'content' attribute to one or more media streams. The attach the 'content' attribute to one or more media streams. The
receiving application can then treat each media stream differently receiving application can then treat each media stream differently
(e.g., show it on a big screen or small screen) based on their (e.g., show it on a big screen or small screen) based on their
content. content.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Related Techniques . . . . . . . . . . . . . . . . . . . . . . 3 3. Related Techniques . . . . . . . . . . . . . . . . . . . . . . 3
4. Motivation for the New Content Attribute . . . . . . . . . . . 4 4. Motivation for the New Content Attribute . . . . . . . . . . . 4
5. The Content Attribute . . . . . . . . . . . . . . . . . . . . 5 5. The Content Attribute . . . . . . . . . . . . . . . . . . . . 5
6. The Content Attribute in the Offer/Answer Model . . . . . . . 6 6. The Content Attribute in the Offer/Answer Model . . . . . . . 6
7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
8. Operation with SMIL . . . . . . . . . . . . . . . . . . . . . 7 8. Operation with SMIL . . . . . . . . . . . . . . . . . . . . . 7
9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
11. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 8 11. Acknowledges . . . . . . . . . . . . . . . . . . . . . . . . . 8
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
12.1. Normative References . . . . . . . . . . . . . . . . . . 8 12.1. Normative References . . . . . . . . . . . . . . . . . . 9
12.2. Informational References . . . . . . . . . . . . . . . . 9 12.2. Informational References . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
Intellectual Property and Copyright Statements . . . . . . . . . . 11 Intellectual Property and Copyright Statements . . . . . . . . . . 11
1. Introduction 1. Introduction
SDP [1] is a protocol that is intended for describing multimedia SDP [1] is a protocol that is intended for describing multimedia
sessions for the purposes of session announcement, session sessions for the purposes of session announcement, session
invitation, and other forms of multimedia session initiation. One of invitation, and other forms of multimedia session initiation. One of
the most typical use cases of SDP is the one where it is used with the most typical use cases of SDP is the one where it is used with
skipping to change at page 3, line 35 skipping to change at page 3, line 35
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [3] and indicate requirement levels for described in BCP 14, RFC 2119 [3] and indicate requirement levels for
compliant implementations. compliant implementations.
3. Related Techniques 3. Related Techniques
The 'label' attribute [9] enables a sender to attach a pointer to a The 'label' attribute [10] enables a sender to attach a pointer to a
particular media stream. The name space of the 'label' attribute particular media stream. The name space of the 'label' attribute
itself is unrestricted, so in principle it could also be used to itself is unrestricted, so in principle it could also be used to
convey information about the content of a media stream. However, in convey information about the content of a media stream. However, in
practice, this is not possible because of the backwards practice, this is not possible because of the backwards
compatibility. Existing implementation of the 'label' attribute compatibility. Existing implementation of the 'label' attribute
already use values from that unrestricted namespace in an application already use values from that unrestricted namespace in an application
specific way. So, it is not possible to reserve parts from the specific way. So, it is not possible to reserve parts from the
'label' attributes' namespace without possible conflict with an 'label' attributes' namespace without possible conflict with an
already used, application specific labels. already used, application specific labels.
skipping to change at page 5, line 21 skipping to change at page 5, line 21
5. The Content Attribute 5. The Content Attribute
This specification defines a new media-level value attribute, This specification defines a new media-level value attribute,
'content'. Its formatting in SDP is described by the following BNF 'content'. Its formatting in SDP is described by the following BNF
[2]: [2]:
content-attribute = "a=content:" mediacnt-tag content-attribute = "a=content:" mediacnt-tag
mediacnt-tag = mediacnt *("," mediacnt) mediacnt-tag = mediacnt *("," mediacnt)
mediacnt = "slides" / "speaker" / "sl" / "main" mediacnt = "slides" / "speaker" / "sl" / "main"
/ "alt" / "user-floor" / mediacnt-ext / "alt" / "user-floor" / "txp"
/ mediacnt-ext
mediacnt-ext = token mediacnt-ext = token
The 'content' attribute contains a token, which MAY be attached to a The 'content' attribute contains a token, which MAY be attached to a
media stream by a sending application. It describes the content of media stream by a sending application. It describes the content of
the transmitted media stream to the receiving application. Many the transmitted media stream to the receiving application. Many
'content' attribute values MAY be attached to a single media stream. 'content' attribute values MAY be attached to a single media stream.
There is a set of pre-defined values for the 'content' attribute. There is a set of pre-defined values for the 'content' attribute.
Also other values can be defined in the future. The pre-defined Also other values can be defined in the future. The pre-defined
values are: values are:
slides: This is a media stream that includes presentation slides. slides: This is a media stream that includes presentation slides.
The media type can be e.g., a video stream or a set of instant The media type can be e.g., a video stream or a set of instant
message with pictures. Typical use case for this is e.g., online message with pictures. Typical use case for this is e.g., online
seminars and courses. This is similar to the 'presentation' role seminars and courses. This is similar to the 'presentation' role
in H.239 [11]. in H.239 [12].
speaker: This is a image from the speaker. The media can be e.g., a speaker: This is a image from the speaker. The media can be e.g., a
video stream or a still image. Typical use case for this is e.g, video stream or a still image. Typical use case for this is e.g,
online seminars and courses. online seminars and courses.
sl: This means that the media stream contains sign language. The sl: This means that the media stream contains sign language. The
media type is a video stream. Typical use case for this is the media type is a video stream. Typical use case for this is the
one where the audio stream is translated into sign language. one where the audio stream is translated into sign language.
main: This means that the main stream is taken from the main source. main: This means that the media stream is taken from the main source.
Typical use case for this is e.g., a concert, where the camera is Typical use case for this is e.g., a concert, where the camera is
shooting the performer. shooting the performer.
alt: This means that the main stream is taken from the alternative alt: This means that the media stream is taken from the alternative
source. This is the alternative media stream. Typical use case source. Typical use case for the is e.g., an event, where there
for the is e.g., an event, where there is a separate ambient sound is a separate ambient sound and the main sound. The alternative
and the main sound. The alternative audio stream could be e.g., a audio stream could be e.g., a sound of a jungle. Another example
sound of a jungle. Another example is the video of the conference is the video of the conference room while the main is the video of
room while the main is the video of the speaker. This is similar the speaker. This is similar to the 'live' role in H.239.
to the 'live' role in H.239.
user-floor: This indicates that a user level floor control is user-floor: This indicates that a user level floor control is
required. In other words, this is meant for system without any required. In other words, this is meant for system without any
mechanism for floor control, and where a human needs to figure out mechanism for floor control, and where a human needs to figure out
whether an act of floor control, e.g., saying 'over', is needed or whether an act of floor control, e.g., saying 'over', is needed or
not. Typically this can be used with walkie-talkie type of not. Typical use case for this is e.g., a situation where the
devices, and with transcoded Text over IP (ToIP) streams other endpoint of the connection is a walkie-talkie type of
originating from Telecommunications Devices for the Deaf (TDDs). device.
txp: This indicates that the media stream is originated from the
Telecommunications Device for the Deaf (TDD), and it requires
special behavior from the receiving application. Typical use case
for this is e.g., a connection where one endpoint is an analog
TDD, and the other one is a native IP based text telephone.
All of the values can be used with any media type. Application can All of the values can be used with any media type. Application can
make decision on how to handle a single media stream based on both make decision on how to handle a single media stream based on both
media type and the value of 'content' attribute. Therefore the media type and the value of 'content' attribute. Therefore the
situation, where one value of 'content' attribute occurs more than situation, where one value of 'content' attribute occurs more than
once in a single session descriptor, is not problematic. once in a single session descriptor, is not problematic.
6. The Content Attribute in the Offer/Answer Model 6. The Content Attribute in the Offer/Answer Model
This specification does not define a means to discover whether or not This specification does not define a means to discover whether or not
the peer endpoint understands the 'content' attribute, because the peer endpoint understands the 'content' attribute because
'content' values are informative only at the offer/answer model [8] 'content' values are informative only at the offer/answer model [8]
level. The fact that the peer endpoint does not understands the level. The fact that the peer endpoint does not understands the
'content' attribute, does not keep the media session from being 'content' attribute, does not keep the media session from being
established. The only consequence is that interaction from the established. The only consequence is that end user interaction in
receiving end user may be required. the receiving side maybe required.
At the offer/answer level, it means that the fact that an offer does
not contain 'content' attributes does not imply that the answer
should not have them. It also means that the fact that an offer
contains 'content' attributes does not imply that the answer should
have them too.
The 'content' attribute can also be used in scenarios where SDP is
used in declarative style. For example, 'content' attributes can be
used in such SDP session descriptors that are distributed with
Session Announcement Protocol (SAP) [9].
7. Example 7. Example
The following is an example of the SDP session description that uses The following is an example of the SDP session description that uses
the 'content' attribute: the 'content' attribute:
v=0 v=0
o=Alice 292742730 29277831 IN IP4 131.163.72.4 o=Alice 292742730 29277831 IN IP4 131.163.72.4
s=Second lecture from information technology s=Second lecture from information technology
c=IN IP4 131.164.74.2 c=IN IP4 131.164.74.2
skipping to change at page 7, line 23 skipping to change at page 7, line 28
m=video 53334 RTP/AVP 31 m=video 53334 RTP/AVP 31
a=rtpmap:31 H261/9000 a=rtpmap:31 H261/9000
a=content:speaker a=content:speaker
m=video 54132 RTP/AVP 31 m=video 54132 RTP/AVP 31
a=rtpmap:31 H261/9000 a=rtpmap:31 H261/9000
a=content:sl a=content:sl
8. Operation with SMIL 8. Operation with SMIL
The values of 'content' attribute, defined in Section 5, can also be The values of 'content' attribute, defined in Section 5, can also be
used with SMIL [10]. SMIL contains a 'param' element, which is used used with SMIL [11]. SMIL contains a 'param' element, which is used
for describing the content of a media. However, this 'param' element for describing the content of a media. However, this 'param' element
provides only application specific description of media content. By provides only application specific description of media content. By
using the values of the 'content' attribute, this 'param' element can using the values of the 'content' attribute, this 'param' element can
also be used to describe the media content in globally interpretable also be used to describe the media content in globally interpretable
way. way.
Details on how to use the values of the 'content' attribute with Details on how to use the values of the 'content' attribute with
SMIL's 'param' element are outside the scope of this specification. SMIL's 'param' element are outside the scope of this specification.
9. Security Considerations 9. Security Considerations
skipping to change at page 8, line 17 skipping to change at page 8, line 22
Attribute name: 'content'. Attribute name: 'content'.
Type of attribute Media level. Type of attribute Media level.
Subject to charset: Not. Subject to charset: Not.
Purpose of attribute: The 'content' attribute gives information from Purpose of attribute: The 'content' attribute gives information from
the content of the media stream to the receiving application. the content of the media stream to the receiving application.
Allowed attribure values: "slides", "speaker", "sl", "main", "alt", Allowed attribure values: "slides", "speaker", "sl", "main", "alt",
"user-floor", and a token. "user-floor", "txp", and a token.
The IANA is requested to create a subregistry for the 'content' The IANA is requested to create a subregistry for the 'content'
attribute values under the Session Description Protocol (SDP) attribute values under the Session Description Protocol (SDP)
Parameters registry. The following are the initial values for the Parameters registry. The following are the initial values for the
subregistry: subregistry:
Value of 'content' attribute Reference Description Value of 'content' attribute Reference Description
---------------------------- --------- ----------- ---------------------------- --------- -----------
slides RFC xxxx Presentation slides slides RFC xxxx Presentation slides
speaker RFC xxxx Image from the speaker speaker RFC xxxx Image from the speaker
sl RFC xxxx Sign language sl RFC xxxx Sign language
main RFC xxxx Main media stream main RFC xxxx Main media stream
alt RFC xxxx Alternative media stream alt RFC xxxx Alternative media stream
user-floor RFC xxxx User level floor control req. user-floor RFC xxxx User level floor control req.
txp RFC xxxx Media is originated from TDD
As per the terminology in RFC 2434 [4], the registration policy for As per the terminology in RFC 2434 [4], the registration policy for
new values for the 'content' parameter shall be 'Specification new values for the 'content' parameter shall be 'Specification
Required'. Required'.
11. Acknowledges 11. Acknowledges
Arnoud van Wijk and Roni Even provided valuable ideas for this Arnoud van Wijk and Roni Even provided valuable ideas for this
document. document.
12. References 12. References
12.1. Normative References 12.1. Normative References
[1] Handley, M., "SDP: Session Description Protocol", [1] Handley, M., "SDP: Session Description Protocol",
draft-ietf-mmusic-sdp-new-24 (work in progress), February 2005. draft-ietf-mmusic-sdp-new-26 (work in progress), January 2006.
[2] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [2] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 2234, November 1997.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[4] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA [4] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
skipping to change at page 9, line 28 skipping to change at page 9, line 35
[6] Handley, M. and V. Jacobson, "SDP: Session Description [6] Handley, M. and V. Jacobson, "SDP: Session Description
Protocol", RFC 2327, April 1998. Protocol", RFC 2327, April 1998.
[7] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions [7] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions
(S/MIME) Version 3.1 Message Specification", RFC 3851, (S/MIME) Version 3.1 Message Specification", RFC 3851,
July 2004. July 2004.
[8] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with [8] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with
Session Description Protocol (SDP)", RFC 3264, June 2002. Session Description Protocol (SDP)", RFC 3264, June 2002.
[9] Levin, O. and G. Camarillo, "The SDP (Session Description [9] Handley, M., Perkins, C., and E. Whelan, "Session Announcement
Protocol", RFC 2974, October 2000.
[10] Levin, O. and G. Camarillo, "The SDP (Session Description
Protocol) Label Attribute", Protocol) Label Attribute",
draft-ietf-mmusic-sdp-media-label-01 (work in progress), draft-ietf-mmusic-sdp-media-label-01 (work in progress),
January 2005. January 2005.
[10] Michel, T. and J. Ayars, "Synchronized Multimedia Integration [11] Michel, T. and J. Ayars, "Synchronized Multimedia Integration
Language (SMIL 2.0) - [Second Edition]", W3C REC REC-SMIL2- Language (SMIL 2.0) - [Second Edition]", W3C REC REC-SMIL2-
20050107, January 2005. 20050107, January 2005.
[11] ITU-T, "Infrastructure of audiovisual services - Systems [12] ITU-T, "Infrastructure of audiovisual services - Systems
aspects; Role management and additional media channels for aspects; Role management and additional media channels for
H.300-series terminals", Series H H.239, July 2003. H.300-series terminals", Series H H.239, July 2003.
Authors' Addresses Authors' Addresses
Jani Hautakorpi Jani Hautakorpi
Ericsson Ericsson
Hirsalantie 11 Hirsalantie 11
Jorvas 02420 Jorvas 02420
Finland Finland
skipping to change at page 11, line 41 skipping to change at page 11, line 41
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 23 change blocks. 
33 lines changed or deleted 53 lines changed or added

This html diff was produced by rfcdiff 1.29, available from http://www.levkowetz.com/ietf/tools/rfcdiff/