1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
|
Network Working Group J. Polk
Request for Comments: 5432 S. Dhesikan
Category: Standards Track Cisco Systems
G. Camarillo
Ericsson
March 2009
Quality of Service (QoS) Mechanism Selection
in the Session Description Protocol (SDP)
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Polk, et al. Standards Track [Page 1]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
Abstract
The offer/answer model for the Session Description Protocol (SDP)
assumes that endpoints somehow establish the Quality of Service (QoS)
required for the media streams they establish. Endpoints in closed
environments typically agree out-of-band (e.g., using configuration
information) regarding 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.
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 ................................................7
9. References ......................................................8
9.1. Normative References .......................................8
9.2. Informative References .....................................8
Polk, et al. Standards Track [Page 2]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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 and is
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) [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 potential 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 (ABNF) [RFC5234] syntax, which is based on
the SDP [RFC4566] grammar:
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
Polk, et al. Standards Track [Page 3]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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 'qos-mech-send' and
'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
Through the use of the 'qos-mech-send' and 'qos-mech-recv'
attributes, an offer/answer exchange 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 (in order of preference) that are
supported in the send direction. Similarly, offerers include a
'qos-mech-recv' attribute with the tokens corresponding to the QoS
mechanisms (in order of preference) that are supported in the receive
direction.
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 that 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 that it supports in the send direction and includes them,
in order of preference, in a 'qos-mech-send' attribute in the answer.
Polk, et al. Standards Track [Page 4]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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 in 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 unsuccessfully tries 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 upon 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 omitted 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.
Polk, et al. Standards Track [Page 5]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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
IANA has registered 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
IANA has registered 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
Polk, et al. Standards Track [Page 6]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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 has created 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 as follows:
QoS Mechanism Reference
---------------------------- ---------
rsvp RFC 5432
nsis RFC 5432
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
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.
Polk, et al. Standards Track [Page 7]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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., Ed., "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., Ed., and P. Overell, "Augmented BNF for
Syntax Specifications: ABNF", STD 68, RFC 5234, January
2008.
9.2. Informative References
[QoS-NSLP] Manner, J., Karagiannis, G., and A. McDonald, "NSLP for
Quality-of-Service Signaling", Work in Progress, February
2008.
[RFC2205] Braden, R., Ed., 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., Ed., Marshall, W., Ed., and J. Rosenberg,
"Integration of Resource Management and Session Initiation
Protocol (SIP)", RFC 3312, October 2002.
Polk, et al. Standards Track [Page 8]
^L
RFC 5432 QoS Mechanism Selection in SDP March 2009
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
Polk, et al. Standards Track [Page 9]
^L
|