idnits 2.17.1 draft-ietf-mmusic-qos-identification-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 18. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 399. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 410. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 417. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 423. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 18, 2008) is 5631 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3851 (Obsoleted by RFC 5751) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) == Outdated reference: A later version (-18) exists of draft-ietf-nsis-qos-nslp-16 Summary: 4 errors (**), 0 flaws (~~), 2 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MMUSIC James Polk 3 Internet-Draft Subha Dhesikan 4 Intended status: Standards Track Cisco Systems 5 Expires: May 22, 2009 Gonzalo Camarillo 6 Ericsson 7 November 18, 2008 9 Quality of Service (QoS) Mechanism Selection in the Session Description 10 Protocol (SDP) 11 draft-ietf-mmusic-qos-identification-03.txt 13 Status of this Memo 15 By submitting this Internet-Draft, each author represents that any 16 applicable patent or other IPR claims of which he or she is aware 17 have been or will be disclosed, and any of which he or she becomes 18 aware will be disclosed, in accordance with Section 6 of BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF), its areas, and its working groups. Note that 22 other groups may also distribute working documents as Internet- 23 Drafts. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 The list of current Internet-Drafts can be accessed at 31 http://www.ietf.org/ietf/1id-abstracts.txt. 33 The list of Internet-Draft Shadow Directories can be accessed at 34 http://www.ietf.org/shadow.html. 36 This Internet-Draft will expire on May 22, 2009. 38 Abstract 40 The offer/answer model for SDP assumes that endpoints establish 41 somehow the QoS required for the media streams they establish. 42 Endpoints in closed environments typically agree out of band (e.g., 43 using configuration information) which QoS mechanism to use. 44 However, on the Internet, there is more than one QoS service 45 available. Consequently, there is a need for a mechanism to 46 negotiate which QoS mechanism to use for a particular media stream. 47 This document defines such a mechanism. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 3. SDP Attributes Definition . . . . . . . . . . . . . . . . . . 3 54 4. Offer/answer Behavior . . . . . . . . . . . . . . . . . . . . 4 55 4.1. Offerer Behavior . . . . . . . . . . . . . . . . . . . . . 4 56 4.2. Answerer Behavior . . . . . . . . . . . . . . . . . . . . 5 57 4.3. Resource Reservation . . . . . . . . . . . . . . . . . . . 5 58 4.4. Subsequent Offer/answer Exchanges . . . . . . . . . . . . 5 59 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 60 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 61 6.1. Registration of the SDP 'qos-mech-send' Attribute . . . . 6 62 6.2. Registration of the SDP 'qos-mech-recv' Attribute . . . . 7 63 6.3. Registry for QoS Mechanism Tokens . . . . . . . . . . . . 7 64 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 65 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 66 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 67 9.1. Normative References . . . . . . . . . . . . . . . . . . . 8 68 9.2. Informative References . . . . . . . . . . . . . . . . . . 8 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 70 Intellectual Property and Copyright Statements . . . . . . . . . . 10 72 1. Introduction 74 The offer/answer model [RFC3264] for SDP [RFC4566] does not provide 75 any mechanism for endpoints to negotiate the QoS mechanism to be used 76 for a particular media stream. Even when QoS preconditions [RFC3312] 77 are used, the choice of the QoS mechanism is left unspecified, up to 78 the endpoints. 80 Endpoints that support more than one QoS mechanism need a way to 81 negotiate which one to use for a particular media stream. Examples 82 of QoS mechanisms are RSVP (Resource Reservation Protocol) [RFC2205] 83 and NSIS (Next Steps in Signaling) [I-D.ietf-nsis-qos-nslp]. 85 This document defines a mechanism that allows endpoints to negotiate 86 the QoS mechanism to be used for a particular media stream. However, 87 the fact that endpoints agree on a particular QoS mechanism does not 88 imply that that particular mechanism is supported by the network. 89 Discovering which QoS mechanisms are supported at the network layer 90 is out of the scope of this document. In any case, the information 91 the endpoints exchange to negotiate QoS mechanisms, as defined in 92 this document, can be useful for a network operator to resolve a 93 subset of the QoS interoperability problem, namely to ensure that a 94 mechanism commonly acceptable to the endpoints is chosen and make it 95 possible to debug possible misconfiguration situations. 97 2. Terminology 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in [RFC2119]. 103 3. SDP Attributes Definition 105 This document defines the 'qos-mech-send' and 'qos-mech-recv' session 106 and media-level SDP [RFC4566] attributes. The following is their 107 augmented Backus-Naur Form (BNF) [RFC5234] syntax, which is based on 108 the SDP [RFC4566] grammar: 110 attribute =/ qos-mech-send-attr 111 attribute =/ qos-mech-recv-attr 113 qos-mech-send-attr = "qos-mech-send" ":" 114 [[SP] qos-mech *(SP qos-mech)] 115 qos-mech-recv-attr = "qos-mech-recv" ":" 116 [[SP] qos-mech *(SP qos-mech)] 118 qos-mech = "rsvp" / "nsis" / extension-mech 119 extension-mech = token 121 The 'qos-mech' token identifies a QoS mechanism that is supported by 122 the entity generating the session description. A token that appears 123 in a 'qos-mech-send' attribute identifies a QoS mechanism that can be 124 used to reserve resources for traffic sent by the entity generating 125 the session description. A token that appears in a 'qos-mech-recv' 126 attribute identifies a QoS mechanism that can be used to reserve 127 resources for traffic received by the entity generating the session 128 description. 130 The 'qos-mech-send' and 'qos-mech-recv' attributes are not 131 interdependent; one can be used without the other. 133 The following is an example of an 'm' line with a 'qos-mech-send' and 134 a 'qos-mech-recv' attributes: 136 m=audio 50000 RTP/AVP 0 137 a=qos-mech-send: rsvp nsis 138 a=qos-mech-recv: rsvp nsis 140 4. Offer/answer Behavior 142 An offer/answer exchange using the 'qos-mech-send' and 'qos-mech- 143 recv' attributes allows endpoints to come up with a list of common 144 QoS mechanisms sorted by preference. However, note that endpoints 145 negotiate in which direction QoS is needed using other mechanisms, 146 such as preconditions [RFC3312]. Endpoints may also use other 147 mechanisms to negotiate, if needed, the parameters to use with a 148 given QoS mechanism (e.g., bandwidth to be reserved). 150 4.1. Offerer Behavior 152 Offerers include a 'qos-mech-send' attribute with the tokens 153 corresponding to the QoS mechanisms supported in the send direction 154 in order of preference. Similarly, offerers include a 'qos-mech- 155 recv' attribute with the tokens corresponding to the QoS mechanisms 156 supported in the receive direction in order of preference. 158 4.2. Answerer Behavior 160 On receiving an offer with a set of tokens in a 'qos-mech-send' 161 attribute, the answerer takes those tokens corresponding to QoS 162 mechanisms it supports in the receive direction and includes them, in 163 order of preference, in a 'qos-mech-recv' attribute in the answer. 164 On receiving an offer with a set of tokens in a 'qos-mech-recv' 165 attribute, the answerer takes those tokens corresponding to QoS 166 mechanisms it supports in the send direction and includes them, in 167 order of preference, in a 'qos-mech-send' attribute in the answer. 169 When ordering the tokens in a 'qos-mech-send' or a 'qos-mech-recv' 170 attribute by preference, the answerer may take into account its own 171 preferences and those expressed in the offer. However, the exact 172 algorithm to be used to order such token lists is outside the scope 173 of this specification. 175 Note that if the answerer does not have any QoS mechanism in common 176 with the offerer, it will return empty 'qos-mech-send' and 'qos-mech- 177 recv' attributes. 179 4.3. Resource Reservation 181 Once the offer/answer exchange completes, both offerer and answerer 182 use the token lists in the 'qos-mech-send' and 'qos-mech-recv' 183 attributes of the answer to perform resource reservations. Offerers 184 and answerers SHOULD attempt to use the QoS mechanism with highest 185 priority in each direction first. If an endpoint (the offerer or the 186 answerer) does not succeed using the mechanism with highest priority 187 in a given direction, it SHOULD attempt to use the next QoS mechanism 188 in order of priority in that direction, and so on. 190 If an endpoint tries unsuccessfully all the common QoS mechanisms for 191 a given direction, the endpoint MAY attempt to use additional QoS 192 mechanisms not supported by the remote endpoint. This is because 193 there may be network entities out of the endpoint's control (e.g., an 194 RSVP proxy) that make those mechanisms work. 196 4.4. Subsequent Offer/answer Exchanges 198 If, during an established session for which the QoS mechanism to be 199 used for a given direction was agreed using the mechanism defined in 200 this specification, an endpoint receives a subsequent offer that does 201 not contain the QoS selection attribute corresponding to that 202 direction (i.e., the 'qos-mech-send' or 'qos-mech-recv' attribute is 203 missing), the endpoints SHOULD continue using the same QoS mechanism 204 used up to that moment. 206 5. Example 208 The following is an offer/answer exchange between two endpoints using 209 the 'qos-mech-send' and 'qos-mech-recv' attributes. Parts of the 210 session descriptions are ommitted for clarity purposes. 212 The offerer generates the following session description listing both 213 RSVP and NSIS for both directions. The offerer would prefer to use 214 RSVP and, thus, includes it before NSIS. 216 m=audio 50000 RTP/AVP 0 217 a=qos-mech-send: rsvp nsis 218 a=qos-mech-recv: rsvp nsis 220 The answerer supports NSIS in both directions, but not RSVP. 221 Consequently, it returns the following session description: 223 m=audio 55000 RTP/AVP 0 224 a=qos-mech-send: nsis 225 a=qos-mech-recv: nsis 227 6. IANA Considerations 229 This specification registers two new SDP attributes and creates a new 230 registry for QoS mechanisms. 232 6.1. Registration of the SDP 'qos-mech-send' Attribute 234 This section instructs the IANA to register the following SDP att- 235 field under the Session Description Protocol (SDP) Parameters 236 registry: 238 Contact name: Gonzalo.Camarillo@ericsson.com 240 Attribute name: qos-mech-send 242 Long-form attribute name: QoS Mechanism for the Send Direction 244 Type of attribute Session and Media levels 246 Subject to charset: No 248 Purpose of attribute: To list QoS mechanisms supported in the send 249 direction. 251 Allowed attribute values: IANA Registered Tokens 253 6.2. Registration of the SDP 'qos-mech-recv' Attribute 255 This section instructs the IANA to register the following SDP att- 256 field under the Session Description Protocol (SDP) Parameters 257 registry: 259 Contact name: Gonzalo.Camarillo@ericsson.com 261 Attribute name: qos-mech-recv 263 Long-form attribute name: QoS Mechanism for the Receive Direction 265 Type of attribute Session and Media levels 267 Subject to charset: No 269 Purpose of attribute: To list QoS mechanisms supported in the 270 receive direction. 272 Allowed attribute values: IANA Registered Tokens 274 6.3. Registry for QoS Mechanism Tokens 276 The IANA is requested to create a subregistry for QoS mechanism token 277 values to be used in the 'qos-mech-send' and 'qos-mech-recv' 278 attributes under the Session Description Protocol (SDP) Parameters 279 registry. The initial values for the subregistry are presented in 280 the following, and IANA is requested to add them into its database: 282 QoS Mechanism Reference 283 ---------------------------- --------- 284 rsvp RFC xxxx 285 nsis RFC xxxx 287 [RFC Editor's note: please replace 'RFC xxxx' with the number this 288 RFC will get.] 290 As per the terminology in [RFC5226], the registration policy for new 291 QoS mechanism token values shall be 'Specification Required'. 293 7. Security Considerations 295 An attacker may attempt to add, modify, or remove 'qos-mech-send' and 296 'qos-mech-recv' attributes from a session description. This could 297 result in an application behaving in a non-desirable way. For 298 example, the endpoints under attack may not be able to find a common 299 QoS mechanism to use. 301 Consequently, it is strongly RECOMMENDED that integrity and 302 authenticity protection be applied to SDP session descriptions 303 carrying these attributes. For session descriptions carried in SIP 304 [RFC3261], S/MIME [RFC3851] is the natural choice to provide such 305 end-to-end integrity protection, as described in [RFC3261]. Other 306 applications MAY use a different form of integrity protection. 308 8. Acknowledgements 310 Dave Oran helped form this effort. Flemming Andreasen and Magnus 311 Westerlund provided useful comments on this specification. 313 9. References 315 9.1. Normative References 317 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 318 Requirement Levels", BCP 14, RFC 2119, March 1997. 320 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 321 with Session Description Protocol (SDP)", RFC 3264, 322 June 2002. 324 [RFC3851] Ramsdell, B., "Secure/Multipurpose Internet Mail 325 Extensions (S/MIME) Version 3.1 Message Specification", 326 RFC 3851, July 2004. 328 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 329 Description Protocol", RFC 4566, July 2006. 331 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 332 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 333 May 2008. 335 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 336 Specifications: ABNF", STD 68, RFC 5234, January 2008. 338 9.2. Informative References 340 [I-D.ietf-nsis-qos-nslp] 341 Manner, J., Karagiannis, G., and A. McDonald, "NSLP for 342 Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-16 343 (work in progress), February 2008. 345 [RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. 346 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 347 Functional Specification", RFC 2205, September 1997. 349 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 350 A., Peterson, J., Sparks, R., Handley, M., and E. 351 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 352 June 2002. 354 [RFC3312] Camarillo, G., Marshall, W., and J. Rosenberg, 355 "Integration of Resource Management and Session Initiation 356 Protocol (SIP)", RFC 3312, October 2002. 358 Authors' Addresses 360 James Polk 361 Cisco Systems 362 3913 Treemont Circle 363 Colleyville, Texas 76034 364 USA 366 Phone: +1-817-271-3552 367 Email: jmpolk@cisco.com 369 Subha Dhesikan 370 Cisco Systems 371 170 W. Tasman Drive 372 San Jose, CA 95134 373 USA 375 Email: sdhesika@cisco.com 377 Gonzalo Camarillo 378 Ericsson 379 Hirsalantie 11 380 Jorvas 02420 381 Finland 383 Email: Gonzalo.Camarillo@ericsson.com 385 Full Copyright Statement 387 Copyright (C) The IETF Trust (2008). 389 This document is subject to the rights, licenses and restrictions 390 contained in BCP 78, and except as set forth therein, the authors 391 retain all their rights. 393 This document and the information contained herein are provided on an 394 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 395 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 396 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 397 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 398 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 399 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 401 Intellectual Property 403 The IETF takes no position regarding the validity or scope of any 404 Intellectual Property Rights or other rights that might be claimed to 405 pertain to the implementation or use of the technology described in 406 this document or the extent to which any license under such rights 407 might or might not be available; nor does it represent that it has 408 made any independent effort to identify any such rights. Information 409 on the procedures with respect to rights in RFC documents can be 410 found in BCP 78 and BCP 79. 412 Copies of IPR disclosures made to the IETF Secretariat and any 413 assurances of licenses to be made available, or the result of an 414 attempt made to obtain a general license or permission for the use of 415 such proprietary rights by implementers or users of this 416 specification can be obtained from the IETF on-line IPR repository at 417 http://www.ietf.org/ipr. 419 The IETF invites any interested party to bring to its attention any 420 copyrights, patents or patent applications, or other proprietary 421 rights that may cover technology that may be required to implement 422 this standard. Please address the information to the IETF at 423 ietf-ipr@ietf.org.