Internet DRAFT - draft-ietf-mmusic-qos-identification
draft-ietf-mmusic-qos-identification
MMUSIC James Polk
Internet-Draft Subha Dhesikan
Intended status: Standards Track Cisco Systems
Expires: May 22, 2009 Gonzalo Camarillo
Ericsson
November 18, 2008
Quality of Service (QoS) Mechanism Selection in the Session Description
Protocol (SDP)
draft-ietf-mmusic-qos-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 May 22, 2009.
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
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.
James Polk, et al. Expires May 22, 2009 [Page 1]
Internet-Draft QoS Mechanism Selection in SDP November 2008
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 . . . . . . . . . . . . . . . . . . . . 5
4.3. Resource Reservation . . . . . . . . . . . . . . . . . . . 5
4.4. Subsequent Offer/answer Exchanges . . . . . . . . . . . . 5
5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
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 . . . . 7
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 May 22, 2009 [Page 2]
Internet-Draft QoS Mechanism Selection in SDP November 2008
1. Introduction
The offer/answer model [RFC3264] for SDP [RFC4566] does not provide
any mechanism for endpoints to negotiate the QoS mechanism to be used
for a particular media stream. Even when QoS preconditions [RFC3312]
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) [RFC2205]
and NSIS (Next Steps in Signaling) [I-D.ietf-nsis-qos-nslp].
This document defines a mechanism that allows endpoints to negotiate
the QoS mechanism to be used for a particular media stream. However,
the fact that endpoints agree on a particular QoS mechanism does not
imply that that particular mechanism is supported by the network.
Discovering which QoS mechanisms are supported at the network layer
is out of the scope of this document. In any case, the information
the endpoints exchange to negotiate QoS mechanisms, as defined in
this document, can be useful for a network operator to resolve a
subset of the QoS interoperability problem, namely to ensure that a
mechanism commonly acceptable to the endpoints is chosen and make it
possible to debug possible misconfiguration situations.
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 [RFC2119].
3. SDP Attributes Definition
This document defines the 'qos-mech-send' and 'qos-mech-recv' session
and media-level SDP [RFC4566] attributes. The following is their
augmented Backus-Naur Form (BNF) [RFC5234] syntax, which is based on
the SDP [RFC4566] grammar:
James Polk, et al. Expires May 22, 2009 [Page 3]
Internet-Draft QoS Mechanism Selection in SDP November 2008
attribute =/ qos-mech-send-attr
attribute =/ qos-mech-recv-attr
qos-mech-send-attr = "qos-mech-send" ":"
[[SP] qos-mech *(SP qos-mech)]
qos-mech-recv-attr = "qos-mech-recv" ":"
[[SP] qos-mech *(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
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 [RFC3312]. 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.
James Polk, et al. Expires May 22, 2009 [Page 4]
Internet-Draft QoS Mechanism Selection in SDP November 2008
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'
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.
James Polk, et al. Expires May 22, 2009 [Page 5]
Internet-Draft QoS Mechanism Selection in SDP November 2008
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.
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.
James Polk, et al. Expires May 22, 2009 [Page 6]
Internet-Draft QoS Mechanism Selection in SDP November 2008
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:
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 xxxx
nsis RFC xxxx
[RFC Editor's note: please replace 'RFC xxxx' with the number this
RFC will get.]
As per the terminology in [RFC5226], 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
James Polk, et al. Expires May 22, 2009 [Page 7]
Internet-Draft QoS Mechanism Selection in SDP November 2008
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 and
authenticity protection be applied to SDP session descriptions
carrying these attributes. For session descriptions carried in SIP
[RFC3261], S/MIME [RFC3851] is the natural choice to provide such
end-to-end integrity protection, as described in [RFC3261]. Other
applications MAY use a different form of integrity protection.
8. Acknowledgements
Dave Oran helped form this effort. Flemming Andreasen and Magnus
Westerlund provided useful comments on this specification.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC3851] Ramsdell, B., "Secure/Multipurpose Internet Mail
Extensions (S/MIME) Version 3.1 Message Specification",
RFC 3851, July 2004.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
9.2. Informative References
[I-D.ietf-nsis-qos-nslp]
Manner, J., Karagiannis, G., and A. McDonald, "NSLP for
Quality-of-Service Signaling", draft-ietf-nsis-qos-nslp-16
James Polk, et al. Expires May 22, 2009 [Page 8]
Internet-Draft QoS Mechanism Selection in SDP November 2008
(work in progress), February 2008.
[RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", RFC 2205, September 1997.
[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.
[RFC3312] Camarillo, G., Marshall, W., and J. Rosenberg,
"Integration of Resource Management and Session Initiation
Protocol (SIP)", RFC 3312, October 2002.
Authors' Addresses
James 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 May 22, 2009 [Page 9]
Internet-Draft QoS Mechanism Selection in SDP November 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
James Polk, et al. Expires May 22, 2009 [Page 10]