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
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
|
Internet Engineering Task Force (IETF) R. Shekh-Yusef
Request for Comments: 7082 Avaya
Category: Informational M. Barnes
ISSN: 2070-1721 Polycom
December 2013
Indication of Conference Focus Support
for the Centralized Conferencing Manipulation Protocol (CCMP)
Abstract
The Centralized Conferencing Manipulation Protocol (CCMP) document
(RFC 6503) defines a way for a client to discover a conference
control server that supports CCMP. However, it does not define a way
for a client involved in a conference to determine if the conference
focus supports CCMP. This information would allow a CCMP-enabled
client that joins a conference using SIP to also register for the
Centralized Conferencing (XCON) conference event package and take
advantage of CCMP operations on the conference.
This document describes two mechanisms, depending upon the need of
the User Agent (UA), to address the above limitation. The first
mechanism uses the Call-Info header field, and the second mechanism
defines a new value for the "purpose" header field parameter in the
<service-uris> element in the SIP conferencing event package.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7082.
Shekh-Yusef & Barnes Informational [Page 1]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
Copyright Notice
Copyright (c) 2013 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................2
1.1. Terminology ................................................3
2. Solutions .......................................................3
2.1. Call-Info ..................................................3
2.2. Service URI Purpose ........................................4
3. Overall Process .................................................5
4. Security Considerations .........................................5
5. IANA Considerations .............................................6
5.1. Call-Info Purpose Registration .............................6
5.2. URI Purpose Registration ...................................6
6. Acknowledgments .................................................6
7. Normative References ............................................7
Appendix A. Other Approaches Considered ............................9
A.1. Feature Tag ................................................9
A.2. Conference URI Purpose .....................................9
1. Introduction
RFC 5239 [RFC5239] defines a framework for Centralized Conferencing
(XCON), which allows participants to exchange media in a centralized
unicast conference. The framework also outlines a set of
conferencing protocols for building advanced conferencing
applications.
The Centralized Conferencing Manipulation Protocol (CCMP) [RFC6503]
allows authenticated and authorized users to create, manipulate, and
delete conference objects. Operations on conferences include adding
and removing participants and changing their roles, as well as adding
and removing media streams and associated end points.
Shekh-Yusef & Barnes Informational [Page 2]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
CCMP defines a way for an XCON-aware client to discover whether a
conference control server supports CCMP. However, it does not define
a way for a SIP client involved in a conference to determine if the
conference focus [RFC4353] supports CCMP. Knowing that a focus
supports CCMP would allow a SIP client (that is also XCON aware) that
joins a conference using SIP-based conferencing [RFC4579] to also
register for the XCON conference event package [RFC6502] and take
advantage of CCMP operations on the conference.
This document describes two options to address the above limitation,
depending on the need of the User Agent (UA). The first option uses
the Call-Info [RFC3261] header, which is suitable for application
servers that need to discover if a UA supports CCMP. The second
option defines a new value for the "purpose" header field parameter
in the <service-uris> element in the SIP conferencing event package
[RFC4575] that is suitable for a UA that would typically subscribe to
the conference event package.
Appendix A has a brief description of other options that we
considered as possible solutions. Those other options were not
selected, however, because the options described in this document
better address the problem we are trying to solve.
1.1. 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 [RFC2119].
2. Solutions
This section defines two mechanisms that can be used by a SIP UA to
discover whether the conference that a client has joined, per the SIP
signaling procedures defined in [RFC4579], supports CCMP.
Specifically, the mechanisms allow the client to know that the URI
representing the conference focus, as defined in [RFC4579], is an
XCON-URI as defined in [RFC6501].
2.1. Call-Info
This approach uses the Call-Info header in various requests and
responses.
The Call-Info header consists of two parts: a URI and a "purpose"
header field parameter. The URI provides the XCON-URI of the
conference focus, and a new value for the "purpose" header field
parameter indicates that the conference focus supports CCMP.
Shekh-Yusef & Barnes Informational [Page 3]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
While the XCON-URI by itself should be enough to indicate that the
conference focus supports CCMP, the "purpose" header field parameter
with a value of 'ccmp' provides an easier way for a UA that does not
use the conference event package to discover that the conference
focus supports CCMP, without parsing the URI.
The Call-Info header, with the XCON-URI and the "purpose" header
field parameter with the 'ccmp' value, can be used with any INVITE
request or response and with a response to an OPTIONS request.
This approach would be suitable for a UA, e.g., an application server
that acts as a Back-to-Back User Agent (B2BUA), that is interested in
discovering that a conference focus supports CCMP but does not use
the XCON conference event package [RFC6502]. In this case, the
application could use the OPTIONS request and discover CCMP support
from the response.
This approach would also be suitable for a conference focus that
initiates an INVITE request to a SIP UA to add a participant to a
conference, as it would allow the conference focus to indicate that
it supports CCMP with the INVITE request sent to the UA.
The advantage of this approach is the ability to discover that a
conference focus supports CCMP, without subscribing to the XCON event
package [RFC6502]. The disadvantage is the need, in some cases, for
an extra request, i.e., an additional OPTIONS request, to discover
that a conference focus supports CCMP.
2.2. Service URI Purpose
This approach defines an additional URI 'purpose' of 'ccmp'
associated with a <service-uris> element in the SIP conferencing
event package. The XCON-URI for the conference is included in the
'uri' element, per the following example:
<service-uris>
<entry>
<uri>XCON:conf1@example.com</uri>
<purpose>ccmp</purpose>
</entry>
</service-uris>
The advantage of this approach is that it uses an existing mechanism
for extending the <purpose> field of the <service-uris> element in
the conferencing event package [RFC4353]. The disadvantage is that
it requires the client to subscribe to the conference event package.
Shekh-Yusef & Barnes Informational [Page 4]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
This approach would be suitable for a SIP UA that would typically
subscribe to the conference event package. Knowing that a conference
supports CCMP allows a SIP UA that is XCON aware to make use of the
CCMP operations and allows it to subscribe to the XCON event package
[RFC6502] to get additional information related to the conference.
3. Overall Process
CCMP capability is discovered using the two methods described in
Section 2. The order in which the two methods are tried depends on
whether an implementation subscribes to the conference event package
by default.
A UA implementation that subscribes to the conference event package
can examine the conference description to see if a URI with
<purpose>ccmp</purpose> is specified (Section 2.2). An
implementation that does not subscribe to the conference event
package can perform an OPTIONS query when connecting to the
conference server. UAs MUST NOT attempt both methods with the same
server.
Conference servers MUST reflect the same information using both
discovery channels. A server MUST indicate CCMP support through the
conference event package if and only if it indicates support through
the Call-Info header in OPTIONS responses. This prevents the need
for UAs to try both methods.
4. Security Considerations
This document defines no new headers or data elements; it reuses
existing headers and data elements. CCMP already allows a client the
ability to discover if a conference server supports CCMP, using a DNS
mechanism as defined in [RFC6503] Section 12.4.
Thus, the solution options defined in this document do not introduce
any new security threats.
Shekh-Yusef & Barnes Informational [Page 5]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
5. IANA Considerations
5.1. Call-Info Purpose Registration
This specification adds a new predefined value "ccmp" for the
"purpose" header field parameter of the Call-Info header field. This
modifies the registry header field parameters and parameter values by
adding this RFC as a reference to the line for header field
"Call-Info" and parameter name "purpose":
Header Field: Call-Info
Parameter Name: purpose
Predefined Values: yes
Reference: [RFC3261] [RFC5367] [RFC6910] [RFC6993] [RFC7082]
5.2. URI Purpose Registration
This specification adds a new predefined value "ccmp" to the "URI
Purposes" subregistry, which defines XML elements to be encoded in
the conference event package [RFC4575].
This modifies the registry as follows:
Value: ccmp
Description: The URI can be used to indicate that the conference
focus supports CCMP.
Reference: [RFC7082]
6. Acknowledgments
The authors would like to thank Alan Johnston, Robert Sparks, Cullen
Jennings, Glenn Parsons, Ben Campbell, Barry Leiba, Spencer Dawkins,
Sean Turner, Pete Resnick, and Adrian Farrel for their careful review
and feedback.
Special thanks to Adam Roach for his thorough review, comments, and
suggestions. Special thanks also to Richard Barnes for his review
and for the text he provided for Section 3 of this document.
Shekh-Yusef & Barnes Informational [Page 6]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
7. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 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.
[RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat,
"Indicating User Agent Capabilities in the Session
Initiation Protocol (SIP)", RFC 3840, August 2004.
[RFC4353] Rosenberg, J., "A Framework for Conferencing with the
Session Initiation Protocol (SIP)", RFC 4353,
February 2006.
[RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, Ed., "A
Session Initiation Protocol (SIP) Event Package for
Conference State", RFC 4575, August 2006.
[RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol
(SIP) Call Control - Conferencing for User Agents",
BCP 119, RFC 4579, August 2006.
[RFC5239] Barnes, M., Boulton, C., and O. Levin, "A Framework for
Centralized Conferencing", RFC 5239, June 2008.
[RFC5367] Camarillo, G., Roach, A., and O. Levin, "Subscriptions to
Request-Contained Resource Lists in the Session Initiation
Protocol (SIP)", RFC 5367, October 2008.
[RFC6501] Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen,
"Conference Information Data Model for Centralized
Conferencing (XCON)", RFC 6501, March 2012.
[RFC6502] Camarillo, G., Srinivasan, S., Even, R., and J.
Urpalainen, "Conference Event Package Data Format
Extension for Centralized Conferencing (XCON)", RFC 6502,
March 2012.
[RFC6503] Barnes, M., Boulton, C., Romano, S., and H. Schulzrinne,
"Centralized Conferencing Manipulation Protocol",
RFC 6503, March 2012.
Shekh-Yusef & Barnes Informational [Page 7]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
[RFC6910] Worley, D., Huelsemann, M., Jesske, R., and D. Alexeitsev,
"Completion of Calls for the Session Initiation Protocol
(SIP)", RFC 6910, April 2013.
[RFC6993] Saint-Andre, P., "Instant Messaging and Presence Purpose
for the Call-Info Header Field in the Session Initiation
Protocol (SIP)", RFC 6993, July 2013.
Shekh-Yusef & Barnes Informational [Page 8]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
Appendix A. Other Approaches Considered
The following two options were considered as possible solutions but
were not selected because the options described in this document
better address the problem we are trying to solve.
A.1. Feature Tag
This approach defines a feature parameter 'ccmp' to indicate that a
SIP dialog belongs to a conference that supports CCMP. The use of
feature parameters in Contact header fields to describe the
characteristics and capabilities of a UA is described in the User
Agent Capabilities document [RFC3840].
The conference focus behavior regarding the handling of the 'ccmp'
feature is the same as the behavior for the handling of the 'isfocus'
feature parameter. In session establishment, a conference focus MUST
include the 'ccmp' feature parameter in the Contact header field
unless the conference focus wishes to hide the fact that it is a
conference focus.
The advantages of this approach are a one-step discovery of the
conference focus and its support for the 'ccmp' feature and the fact
that it can be used in response to an OPTIONS request, and that it
enables the discovery of the 'ccmp' capability by any network element
that does not need the conference event package. The disadvantage is
the definition of a new feature parameter.
A.2. Conference URI Purpose
This approach defines an additional URI 'purpose' of 'ccmp'
associated with a 'conf-uris' element in the SIP conferencing event
package.
ccmp: Indicates that the conference focus represented by this URI
supports 'ccmp'; this in turn allows a client to use CCMP to
manipulate the conference. This URI MUST be an XCON-URI as
defined in the XCON data model specification [RFC6501].
<conf-uris>
<entry>
<uri>XCON:conf1@example.com</uri>
<display-text>whatever</display-text>
<purpose>ccmp</purpose>
</entry>
</conf-uris>
Shekh-Yusef & Barnes Informational [Page 9]
^L
RFC 7082 Conference Focus Support for CCMP December 2013
The advantage of the SIP conference event package options is the use
of an existing mechanism for extending the <purpose> field of the
<service-uris> or <conf-uris> elements. The disadvantage is the
requirement that the client register for the conference event
package.
Authors' Addresses
Rifaat Shekh-Yusef
Avaya
250 Sidney Street
Belleville, Ontario
Canada
Phone: +1-613-967-5267
EMail: rifaat.ietf@gmail.com
Mary Barnes
Polycom
TX
US
EMail: mary.ietf.barnes@gmail.com
Shekh-Yusef & Barnes Informational [Page 10]
^L
|