MMUSIC O. Levin Internet-Draft Microsoft Corporation Expires: December 28, 2004 G. Camarillo Ericsson June 29, 2004 The SDP (Session Description Protocol) Label Attribute draft-levin-mmusic-sdp-media-label-00 Status of this Memo By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 28, 2004. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract This document defines a new Session Description Protocol (SDP) media-level attribute: "label". The "label" attribute carries a pointer to an application layer media stream identifier in the context of an arbitrary network application that uses SDP. The sender of the SDP document can attach the "label" attribute to a particular media stream or media streams. The application receiving the SDP document can then associate the particular media stream with its application semantics or role. Levin & Camarillo Expires December 28, 2004 [Page 1] Internet-Draft SDP Label Attribute June 2004 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. The Label Attribute . . . . . . . . . . . . . . . . . . . . . 4 4. The Label Attribute in the Offer/Answer Model . . . . . . . . 4 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 8.1 Normative References . . . . . . . . . . . . . . . . . . . . 5 8.2 Informative References . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 6 Intellectual Property and Copyright Statements . . . . . . . . 7 Levin & Camarillo Expires December 28, 2004 [Page 2] Internet-Draft SDP Label Attribute June 2004 1. Introduction SDP is being used by a variety of distributed over the network applications. These applications deal with multiple SDP sessions serving multiple users or services in the context of a single application instance. As such, applications of this kind have their means to identify a particular media stream across multiple SDP sessions. XCON framework [6] is an example of a centralized conference architecture that uses SDP according to the Offer/Answer mechanism defined in [3] to establish media streams with each of the conference participants. Additionally, XCON defines the means to uniquely identify a media stream in terms of its role in a conference regardless its media type, transport protocol, and media format. It is necessary to convey a pointer to this application layer identifier in SDP. As a result, the application can choose from the media streams offered in the SDP based not only on their media characteristics, but also according to their roles in the application. This specification defines the SDP [2] "label" media-level attribute, which carries the pointer to the application layer media stream identifier in the SDP document across the network. Note that the "i" SDP attribute, defined in RFC 2327 [2], can be used to label media streams as well. Nevertheless, the audiences for the "i" and the "label" attributes are different. While "i" values are presented to the users as is, "label" values are processed by automata. Note that the "mid" SDP attribute, defined in RFC 3388 [4], can be used to identify media streams as well. Nevertheless, the scopes of the "mid" and the "label" attributes are different. While "mid" values are meaningful in the context of a single SDP session, "label" values are meaningful in the context of an application (e.g., a multiparty application). 2. Terminology In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119 [1] and indicate requirement levels for compliant implementations. Levin & Camarillo Expires December 28, 2004 [Page 3] Internet-Draft SDP Label Attribute June 2004 3. The Label Attribute This specification defines a new media-level value attribute: "label". Its formatting in SDP is described by the following BNF: label-attribute = "a=label:" pointer pointer = token The semantics of the "label" attribute MUST be defined by applications that use SDP with "label". This value is the application layer identifier for a media stream regardless of its media type, transport protocol, or media format. 4. The Label Attribute in the Offer/Answer Model This specification does not define means to discover whether or not the remote endpoint understands the "label" attribute. We have chosen not to provide such a mechanism within this specification because "label" values are only informative at the Offer/Answer model level. To the Offer/Answer mechanism, it means that the fact that an offer does not contain label attributes does not imply that the answer should not have them. It also means that the fact that an offer contains label attributes does not imply that the answer should have them too. In addition to the basic Offer/Answer rule above, applications that use "label" as a pointer to media streams MUST define both the "label" application semantics and its usage constraints. For example, the specifications of such applications MAY mandate support for "label". In this case, the application MUST define means for negotiation of the "label" attribute support as a part of the application. 5. Example The following is an example of an SDP session description that uses the "label" attribute: v=0 o=bob 280744730 28977631 IN IP4 host.example.com s= c=IN IP4 192.0.2.2 t=0 0 m=audio 6886 RTP/AVP 0 Levin & Camarillo Expires December 28, 2004 [Page 4] Internet-Draft SDP Label Attribute June 2004 a=label:1 m=audio 22334 RTP/AVP 0 a=label:2 6. IANA Considerations Contact name: Orit Levin oritl@microsoft.com. Attribute name: "label". Type of attribute Media level. Subject to charset: Not. Purpose of attribute: "Label" attribute associates the media stream with specific application semantics. During the SDP Offer-Answer mechanism, it allows application to make smarter choices especially among m-lines of the same media type. In a context of a multiparty application, it allows the application to pick out an offered media stream based on its role in the application as the only available meaningful identifier beyond a single SDP session (i.e., across the application participants). Allowed attribute values: Any octet string. 7. Security Considerations An attacker may attempt to add, modify, or remove "label" attributes from a session description. This could result in an application behaving in a non-desirable way. So, it is STRONGLY RECOMMENDED that integrity protection be applied to the SDP session descriptions. For session descriptions carried in SIP [5], S/MIME is the natural choice to provide such end-to-end integrity protection, as described in RFC 3261 [5]. Other applications MAY use a different form of integrity protection. 8. References 8.1 Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Handley, M. and V. Jacobson, "SDP: Session Description Protocol", RFC 2327, April 1998. [3] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Levin & Camarillo Expires December 28, 2004 [Page 5] Internet-Draft SDP Label Attribute June 2004 Session Description Protocol (SDP)", RFC 3264, June 2002. [4] Camarillo, G., Eriksson, G., Holler, J. and H. Schulzrinne, "Grouping of Media Lines in the Session Description Protocol (SDP)", RFC 3388, December 2002. 8.2 Informative References [5] 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. [6] Koskelainen, P. and H. Khartabil, "Requirements for Conference Policy Control Protocol", draft-ietf-xcon-cpcp-reqs-03 (work in progress), April 2004. Authors' Addresses Orit Levin Microsoft Corporation One Microsoft Way Redmond, WA 98052 USA EMail: oritl@microsoft.com Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420 Finland EMail: Gonzalo.Camarillo@ericsson.com Levin & Camarillo Expires December 28, 2004 [Page 6] Internet-Draft SDP Label Attribute June 2004 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Levin & Camarillo Expires December 28, 2004 [Page 7]