MMUSIC James Polk Internet-Draft Subha Dhesikan Expires: September 4, 2007 Cisco Systems Gonzalo Camarillo Ericsson March 3, 2007 Quality of Service (QoS) Mechanism Selection in the Session Description Protocol (SDP) draft-polk-mmusic-qos-mechanism-identification-03.txt Status of this Memo By submitting this Internet-Draft, each author represents that any 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 aware will be disclosed, in accordance with Section 6 of BCP 79. 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 September 4, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract The offer/answer model for SDP assumes that endpoints establish, somehow, the QoS required for the media streams they establish. Endpoints in closed environments typically agree out of band (e.g., using configuration information) which QoS mechanism to use. However, on the Internet, there is more than one QoS service James Polk, et al. Expires September 4, 2007 [Page 1] Internet-Draft QoS Mechanism Selection in SDP March 2007 available. Consequently, there is a need for a mechanism to negotiate which QoS mechanism to use for a particular media stream. This document defines such a mechanism. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. SDP Attributes Definition . . . . . . . . . . . . . . . . . . 3 4. Offer/answer Behavior . . . . . . . . . . . . . . . . . . . . 4 4.1. Offerer Behavior . . . . . . . . . . . . . . . . . . . . . 4 4.2. Answerer Behavior . . . . . . . . . . . . . . . . . . . . 4 4.3. Resource Reservation . . . . . . . . . . . . . . . . . . . 5 4.4. Subsequent Offer/answer Exchanges . . . . . . . . . . . . 5 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6.1. Registration of the SDP 'qos-mech-send' Attribute . . . . 6 6.2. Registration of the SDP 'qos-mech-recv' Attribute . . . . 6 6.3. Registry for QoS Mechanism Tokens . . . . . . . . . . . . 7 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . . 8 9.2. Informative References . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Intellectual Property and Copyright Statements . . . . . . . . . . 10 James Polk, et al. Expires September 4, 2007 [Page 2] Internet-Draft QoS Mechanism Selection in SDP March 2007 1. Introduction The offer/answer model [1] for SDP [2] does not provide any mechanism for endpoints to negotiate the QoS mechanism to be used for a particular media stream. Even when QoS preconditions [10] are used, the choice of the QoS mechanism is left unspecified, up to the endpoints. Endpoints that support more than one QoS mechanism need a way to negotiate which one to use for a particular media stream. Examples of QoS mechanisms are RSVP (Resource Reservation Protocol) [3] and NSIS (Next Steps in Signaling) [4]. This document defines a mechanism that allows endpoints to negotiate the QoS mechanism to be used for a particular media stream. Section 3 defines the 'qos-mech-send' and 'qos-mech-recv' SDP attributes. Section 4 specifies the use of these new SDP attributes with the offer/answer model. Section 5 provides an example of an offer/answer exchanges that uses these attributes. 2. Terminology 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 RFC 2119 [5]. 3. SDP Attributes Definition This document defines the 'qos-mech-send' and 'qos-mech-recv' session and media-level SDP [2] attributes. The following is their augmented Backus-Naur Form (BNF) [6] syntax, which is based on the SDP [2] grammar: attribute = qos-mech-send-attr attribute = qos-mech-recv-attr qos-mech-send-attr = "qos-mech-send" ":" *(SP qos-mech) qos-mech-recv-attr = "qos-mech-recv" ":" *(SP qos-mech) qos-mech = rsvp / nsis / extension-mech extension-mech = token The 'qos-mech' token identifies a QoS mechanism that is supported by the entity generating the session description. A token that appears in a 'qos-mech-send' attribute identifies a QoS mechanism that can be James Polk, et al. Expires September 4, 2007 [Page 3] Internet-Draft QoS Mechanism Selection in SDP March 2007 used to reserve resources for traffic sent by the entity generating the session description. A token that appears in a 'qos-mech-recv' attribute identifies a QoS mechanism that can be used to reserve resources for traffic received by the entity generating the session description. The 'qos-mech-send' and 'qos-mech-recv' attributes are not interdependent; one can be used without the other. The following is an example of an 'm' line with a 'qos-mech-send' and a 'qos-mech-recv' attributes: m=audio 50000 RTP/AVP 0 a=qos-mech-send:rsvp nsis a=qos-mech-recv:rsvp nsis 4. Offer/answer Behavior An offer/answer exchange using the 'qos-mech-send' and 'qos-mech- recv' attributes allows endpoints to come up with a list of common QoS mechanisms sorted by preference. However, note that endpoints negotiate in which direction QoS is needed using other mechanisms, such as preconditions [10]. Endpoints may also use other mechanisms to negotiate, if needed, the parameters to use with a given QoS mechanism (e.g., bandwidth to be reserved). 4.1. Offerer Behavior Offerers include a 'qos-mech-send' attribute with the tokens corresponding to the QoS mechanisms supported in the send direction in order of preference. Similarly, offerers include a 'qos-mech- recv' attribute with the tokens corresponding to the QoS mechanisms supported in the receive direction in order of preference. 4.2. Answerer Behavior On receiving an offer with a set of tokens in a 'qos-mech-send' attribute, the answerer takes those tokens corresponding to QoS mechanisms it supports in the receive direction and includes them, in order of preference, in a 'qos-mech-recv' attribute in the answer. On receiving an offer with a set of tokens in a 'qos-mech-recv' attribute, the answerer takes those tokens corresponding to QoS mechanisms it supports in the send direction and includes them, in order of preference, in a 'qos-mech-send' attribute in the answer. When ordering the tokens in a 'qos-mech-send' or a 'qos-mech-recv' James Polk, et al. Expires September 4, 2007 [Page 4] Internet-Draft QoS Mechanism Selection in SDP March 2007 attribute by preference, the answerer may take into account its own preferences and those expressed in the offer. However, the exact algorithm to be used to order such token lists is outside the scope of this specification. Note that if the answerer does not have any QoS mechanism in common with the offerer, it will return empty 'qos-mech-send' and 'qos-mech- recv' attributes. 4.3. Resource Reservation Once the offer/answer exchange completes, both offerer and answerer use the token lists in the 'qos-mech-send' and 'qos-mech-recv' attributes of the answer to perform resource reservations. Offerers and answerers SHOULD attempt to use the QoS mechanism with highest priority in each direction first. If an endpoint (the offerer or the answerer) does not succeed using the mechanism with highest priority in a given direction, it SHOULD attempt to use the next QoS mechanism in order of priority in that direction, and so on. If an endpoint tries unsuccessfully all the common QoS mechanisms for a given direction, the endpoint MAY attempt to use additional QoS mechanisms not supported by the remote endpoint. This is because there may be network entities out of the endpoint's control (e.g., an RSVP proxy) that make those mechanisms work. 4.4. Subsequent Offer/answer Exchanges If, during an established session for which the QoS mechanism to be used for a given direction was agreed using the mechanism defined in this specification, an endpoint receives a subsequent offer that does not contain the QoS selection attribute corresponding to that direction (i.e., the 'qos-mech-send' or 'qos-mech-recv' attribute is missing), the endpoints SHOULD continue using the same QoS mechanism used up to that moment. 5. Example The following is an offer/answer exchange between two endpoints using the 'qos-mech-send' and 'qos-mech-recv' attributes. Parts of the session descriptions are ommitted for clarity purposes. The offerer generates the following session description listing both RSVP and NSIS for both directions. The offerer would prefer to use RSVP and, thus, includes it before NSIS. James Polk, et al. Expires September 4, 2007 [Page 5] Internet-Draft QoS Mechanism Selection in SDP March 2007 m=audio 50000 RTP/AVP 0 a=qos-mech-send: rsvp nsis a=qos-mech-recv: rsvp nsis The answerer supports NSIS in both directions, but not RSVP. Consequently, it returns the following session description: m=audio 55000 RTP/AVP 0 a=qos-mech-send: nsis a=qos-mech-recv: nsis 6. IANA Considerations This specification registers two new SDP attributes and creates a new registry for QoS mechanisms. 6.1. Registration of the SDP 'qos-mech-send' Attribute This section instructs the IANA to register the following SDP att- field under the Session Description Protocol (SDP) Parameters registry: Contact name: Gonzalo.Camarillo@ericsson.com Attribute name: qos-mech-send Long-form attribute name: QoS Mechanism for the Send Direction Type of attribute Session and Media levels Subject to charset: No Purpose of attribute: To list QoS mechanisms supported in the send direction. Allowed attribute values: IANA Registered Tokens 6.2. Registration of the SDP 'qos-mech-recv' Attribute This section instructs the IANA to register the following SDP att- field under the Session Description Protocol (SDP) Parameters registry: James Polk, et al. Expires September 4, 2007 [Page 6] Internet-Draft QoS Mechanism Selection in SDP March 2007 Contact name: Gonzalo.Camarillo@ericsson.com Attribute name: qos-mech-recv Long-form attribute name: QoS Mechanism for the Receive Direction Type of attribute Session and Media levels Subject to charset: No Purpose of attribute: To list QoS mechanisms supported in the receive direction. Allowed attribute values: IANA Registered Tokens 6.3. Registry for QoS Mechanism Tokens The IANA is requested to create a subregistry for QoS mechanism token values to be used in the 'qos-mech-send' and 'qos-mech-recv' attributes under the Session Description Protocol (SDP) Parameters registry. The initial values for the subregistry are presented in the following, and IANA is requested to add them into its database: QoS Mechanism Reference ---------------------------- --------- rsvp RFC 2205 nsis RFC 4080 As per the terminology in RFC 2434 [7], the registration policy for new QoS mechanism token values shall be 'Specification Required'. 7. Security Considerations An attacker may attempt to add, modify, or remove 'qos-mech-send' and 'qos-mech-recv' attributes from a session description. This could result in an application behaving in a non-desirable way. For example, the endpoints under attack may not be able to find a common QoS mechanism to use. Consequently, it is strongly RECOMMENDED that integrity protection be applied to SDP session descriptions carrying these attributes. For session descriptions carried in SIP [8], S/MIME [9] is the natural choice to provide such end-to-end integrity protection, as described in [8]. Other applications MAY use a different form of integrity protection. James Polk, et al. Expires September 4, 2007 [Page 7] Internet-Draft QoS Mechanism Selection in SDP March 2007 8. Acknowledgements Dave Oran helped form this effort. Flemming Andreasen provided useful comments on this specification. 9. References 9.1. Normative References [1] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002. [2] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006. [3] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997. [4] Hancock, R., Karagiannis, G., Loughney, J., and S. Van den Bosch, "Next Steps in Signaling (NSIS): Framework", RFC 4080, June 2005. [5] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [6] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [7] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [8] 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. [9] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification", RFC 3851, July 2004. 9.2. Informative References [10] Camarillo, G., Marshall, W., and J. Rosenberg, "Integration of Resource Management and Session Initiation Protocol (SIP)", RFC 3312, October 2002. James Polk, et al. Expires September 4, 2007 [Page 8] Internet-Draft QoS Mechanism Selection in SDP March 2007 Authors' Addresses James M. Polk Cisco Systems 3913 Treemont Circle Colleyville, Texas 76034 USA Phone: +1-817-271-3552 Email: jmpolk@cisco.com Subha Dhesikan Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 USA Email: sdhesika@cisco.com Gonzalo Camarillo Ericsson Hirsalantie 11 Jorvas 02420 Finland Email: Gonzalo.Camarillo@ericsson.com James Polk, et al. Expires September 4, 2007 [Page 9] Internet-Draft QoS Mechanism Selection in SDP March 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). 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. 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, THE IETF TRUST 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. Intellectual Property 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). James Polk, et al. Expires September 4, 2007 [Page 10]