idnits 2.17.1
draft-ietf-xcon-examples-00.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
** The document seems to lack a License Notice according IETF Trust
Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009
Section 6.b -- however, there's a paragraph with a matching beginning.
Boilerplate error?
(You're using the IETF Trust Provisions' Section 6.b License Notice from
12 Feb 2009 rather than one of the newer Notices. See
https://trustee.ietf.org/license-info/.)
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 and authors Copyright Line does not
match the current year
== The document seems to lack the recommended RFC 2119 boilerplate, even if
it appears to use RFC 2119 keywords.
(The document does seem to have the reference to RFC 2119 which the
ID-Checklist requires).
-- The document date (July 6, 2009) is 5407 days in the past. Is this
intentional?
Checking references for intended status: Informational
----------------------------------------------------------------------------
== Unused Reference: 'I-D.ietf-xcon-event-package' is defined on line 1889,
but no explicit reference was found in the text
== Unused Reference: 'I-D.ietf-xcon-common-data-model' is defined on line
1896, but no explicit reference was found in the text
== Outdated reference: A later version (-15) exists of
draft-ietf-xcon-ccmp-02
-- Obsolete informational reference (is this intentional?): RFC 4582
(Obsoleted by RFC 8855)
== Outdated reference: A later version (-32) exists of
draft-ietf-xcon-common-data-model-13
== Outdated reference: A later version (-14) exists of
draft-ietf-mediactrl-mixer-control-package-07
== Outdated reference: A later version (-08) exists of
draft-boulton-xcon-session-chat-03
Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 2 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 XCON Working Group M. Barnes
3 Internet-Draft Nortel
4 Intended status: Informational C. Boulton
5 Expires: January 7, 2010 NS-Technologies
6 L. Miniero
7 S P. Romano
8 University of Napoli
9 July 6, 2009
11 Centralized Conferencing Manipulation Protocol (CCMP) Call Flow Examples
12 draft-ietf-xcon-examples-00.txt
14 Status of this Memo
16 This Internet-Draft is submitted to IETF in full conformance with the
17 provisions of BCP 78 and BCP 79.
19 Internet-Drafts are working documents of the Internet Engineering
20 Task Force (IETF), its areas, and its working groups. Note that
21 other groups may also distribute working documents as Internet-
22 Drafts.
24 Internet-Drafts are draft documents valid for a maximum of six months
25 and may be updated, replaced, or obsoleted by other documents at any
26 time. It is inappropriate to use Internet-Drafts as reference
27 material or to cite them other than as "work in progress."
29 The list of current Internet-Drafts can be accessed at
30 http://www.ietf.org/ietf/1id-abstracts.txt.
32 The list of Internet-Draft Shadow Directories can be accessed at
33 http://www.ietf.org/shadow.html.
35 This Internet-Draft will expire on January 7, 2010.
37 Copyright Notice
39 Copyright (c) 2009 IETF Trust and the persons identified as the
40 document authors. All rights reserved.
42 This document is subject to BCP 78 and the IETF Trust's Legal
43 Provisions Relating to IETF Documents in effect on the date of
44 publication of this document (http://trustee.ietf.org/license-info).
45 Please review these documents carefully, as they describe your rights
46 and restrictions with respect to this document.
48 Abstract
50 This document provides detailed call flows for the scenarios
51 documented in the Centralized Conferencing (XCON) Framework and the
52 XCON Scenarios. The call flows document the use of the interface
53 between a conference control client and a conference control server
54 using the Centralized Conferencing Manipulation Protocol (CCMP). The
55 objective is to provide a base reference for both protocol
56 researchers and developers.
58 Table of Contents
60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
61 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
62 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
63 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
64 5. Conference Creation . . . . . . . . . . . . . . . . . . . . . 5
65 5.1. Basic Conference Creation . . . . . . . . . . . . . . . . 6
66 5.2. Basic Conference Creation for a specific instance of
67 Conference Information . . . . . . . . . . . . . . . . . . 10
68 5.3. Basic Conference Creation - Cloning an existing
69 Conference . . . . . . . . . . . . . . . . . . . . . . . . 14
70 5.4. Conference Creation using Blueprints . . . . . . . . . . . 17
71 6. General Conference scenarios and examples . . . . . . . . . . 24
72 6.1. Conference Announcements and Recordings . . . . . . . . . 24
73 6.2. Monitoring for DTMF . . . . . . . . . . . . . . . . . . . 25
74 6.3. Adding a Party . . . . . . . . . . . . . . . . . . . . . . 25
75 6.4. Muting a Party . . . . . . . . . . . . . . . . . . . . . . 26
76 6.5. Internal Sidebar . . . . . . . . . . . . . . . . . . . . . 27
77 6.6. External Sidebar . . . . . . . . . . . . . . . . . . . . . 28
78 6.7. Floor control using sidebars . . . . . . . . . . . . . . . 30
79 6.8. Whispering or Private Messages . . . . . . . . . . . . . . 31
80 6.9. Observing and Coaching . . . . . . . . . . . . . . . . . . 32
81 7. Removing participants and deleting conferences . . . . . . . . 33
82 7.1. Removing a Party . . . . . . . . . . . . . . . . . . . . . 34
83 7.2. Deleting a Conference . . . . . . . . . . . . . . . . . . 34
84 8. Additional Conference Scenarios and Examples . . . . . . . . . 35
85 8.1. Chat . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
86 8.1.1. Basic Chat Operations . . . . . . . . . . . . . . . . 36
87 8.1.2. Advanced Operations . . . . . . . . . . . . . . . . . 40
88 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43
89 10. Security Considerations . . . . . . . . . . . . . . . . . . . 43
90 11. Change Summary . . . . . . . . . . . . . . . . . . . . . . . . 43
91 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 44
92 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 44
93 13.1. Normative References . . . . . . . . . . . . . . . . . . . 44
94 13.2. Informative References . . . . . . . . . . . . . . . . . . 44
96 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45
98 1. Introduction
100 This document provides detailed call flows for the scenarios
101 documented in the Framework for Centralized Conferencing (XCON
102 Framework) [RFC5239] and the XCON Scenarios [RFC4597]. The XCON
103 scenarios describe a broad range of use cases taking advantage of the
104 advanced conferencing capabilities provided by a system realization
105 of the XCON framework. The call flows document the use of the
106 interface between a conference control client and a conference
107 control server using the Centralized Conferencing Manipulation
108 Protocol (CCMP)[I-D.ietf-xcon-ccmp].
110 Due to the broad range of functionality provided by the XCON
111 Framework and the flexibility of the CCMP messaging, these call flows
112 should not be considered inclusive of all the functionality that can
113 provided by the XCON Framework and protocol implementations. These
114 flows represent a sample to provide an overview of the feature rich
115 capabilities of the XCON framework and CCMP messaging for protocol
116 developers, software developers and researchers.
118 2. Conventions
120 In this document, the key words "MUST", "MUST NOT", "REQUIRED",
121 "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
122 RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
123 described in BCP 14, RFC 2119 [RFC2119] and indicate requirement
124 levels for compliant implementations. In this document, these key
125 words are used when describing normative functionality based on the
126 XCON Framework and CCMP.
128 Note that due to RFC formatting conventions, this document often
129 splits message details whose content would exceed 72 characters. A
130 backslash character marks where this line folding has taken place.
131 This backslash and its trailing CRLF and whitespace would not appear
132 in the actual protocol contents.
134 3. Terminology
136 This document uses the same terminology as found in the referenced
137 documents, with the following terms and abbreviations used in the
138 call flows. Also, note that the term "call flows" is used in a very
139 generic sense in this document since the media is not limited to
140 voice. The calls supported by the XCON framework and CCMP can
141 consist of media such as text, voice and video, including multiple
142 media types in a single active conference.
144 Conferencing and Media Client Client (CMCC): As defined in the XCON
145 Framework. In the flows in this document, the CMCC is logically
146 equivalent to the use of UAC as the client notation in the media
147 control call flows [I-D.miniero-mediactrl-escs].
149 Conferencing Server (ConfS): As defined in the XCON Framework. In
150 this document, the conferencing server is used interchangeably
151 with the term Application Server (AS) as used in the Media Control
152 Architectural Framework [RFC5567]. However, these need not be the
153 same entities in an implementation.
155 Media Server (MS): As defined in the Media Control Architectural
156 Framework [RFC5567].
158 4. Overview
160 This document provides a sampling of detailed call flows that can be
161 implemented based on a system realization of [RFC5239] and
162 implementation of [I-D.ietf-xcon-ccmp]. This is intended to be a
163 simple guide on the use of the conference control protocol between
164 the Conference Server and the Conference Control Client. The
165 objective is to provide an informational base reference for protocol
166 developers, software developers and researchers.
168 This document focuses on the interaction between the Conference (and
169 Media) Control Client and the Conferencing system, specifically the
170 Conference Server. The scenarios are based on those described in the
171 XCON framework, many of which are based on the advanced conferencing
172 capabilities described in the XCON scenarios. Additional scenarios
173 have been added to provide examples of other real life scenarios that
174 are anticipated to be supported by the framework. With the exception
175 of an initial example with media control messaging, the examples do
176 not include the details for the media control
177 [I-D.ietf-mediactrl-mixer-control-package], call signaling or binary
178 floor control [RFC4582] protocols. This document references the
179 scenarios in the Media Control call flows
180 [I-D.miniero-mediactrl-escs], SIP Call Control Conferencing [RFC4579]
181 and binary floor control protocol documents.
183 5. Conference Creation
185 This section provides the details associated with the various ways in
186 which a conference can be created using CCMP and the XCON framework
187 constructs. As previously mentioned the details of the media
188 control, call signaling and floor control protocols, where
189 applicable, are annotated in the flows without showing all the
190 details. However, for clarification purposes, the first example
191 Section 5.1 provides the details of the media control messaging along
192 with an example of the standard annotation used throughout the
193 remainder of this document. In subsequent flows, only this
194 annotation (identified by lower case letters) is included and the
195 reader is encouraged to refer to the call flows in the relevant
196 documents for details for the other protocols. The annotations for
197 the call signaling are on the left side of the conferencing server
198 vertical bar and those for the media control messaging are on the
199 right side.
201 5.1. Basic Conference Creation
203 The simplest manner in which a conference can be created is
204 accomplished by the client sending a "confRequest" message with the
205 "create" operation as the only parameter to the conference server.
206 This results in the creation of a default conference, with an XCON-
207 URI in the form of the "confObjID" parameter, the XCON-UserID in the
208 form of the "confUserID" parameter and the data for the conference
209 object in the "confInfo" parameter all returned in the "confResponse"
210 message. This example also adds the user that invoked the conference
211 upon creation (i.e., "method" attribute is set to "dial out" for this
212 client based on the particular conferencing systems default). Note,
213 that depending upon the conferencing system, this default conference
214 could be specific to the client requesting the conference and thus
215 may be different for the initiator than other participants (e.g., IVR
216 interactions in this case which are not shown).
218 The specific data for the conference object is returned in the
219 "confResponse" message in the "confInfo" parameter. This allows the
220 client (with the appropriate authorization) to manipulate this data
221 and add additional participants to the conference, as well as change
222 the data during the conference. In addition, the client may
223 distribute the conferencing information to other participants
224 allowing them to join, the details of which are provided in
225 additional flows.
227 Clients that are not XCON-aware may join the conference using a
228 specific signaling interface such as SIP [RFC3261], using the
229 signaling interface to the conference focus as described in
230 [RFC4579]. However, these details are not shown in the message
231 flows. The message flows in this document identity the point in the
232 message flows at which this signaling occurs via the lower case
233 letter items (i.e., (a)...(x)) along with the appropriate text for
234 the processing done by the conferencing server.
236 CMCC1 CMCC2 CMCCx CONFS MS
237 | | | | |
238 |1. confRequest | | | |
239 |-------------------------------------->| |
240 | | (a)Create +---| |
241 | | |Conf | | |
242 | | |Object | | |
243 | | |& IDs +-->| |
244 | | | | A1. CONTROL |
245 | | | |+++++++++++>>|
246 | | | |(create conf)|--+ (b)
247 | | | | | | create
248 | | | | | | conf and
249 | | | | A2. 200 OK |<-+ its ID
250 | | | |<<+++++++++++|
251 | | | |(confid=Y) |
252 |(2)confResponse(create,success, | |
253 |<--------------------------------------| |
254 | confObjID, confUserID | |
255 | conf-info) | | |
256 | | | | |
257 | | (c) Focus +---| |
258 | | sets up | | |
259 | | signaling | | |
260 | | to CMCC1 +-->| |
261 | | | | |
262 | | | | B1. CONTROL |
263 | | | |+++++++++++>>|
264 | | | | (join CMCC1 |
265 | | | | <->confY) |
266 | | | | |
267 | | | | |--+(d) join
268 | | | | | | CMCC1 &
269 | | | | B2.200 OK |<-+ conf Y
270 | | | |<<+++++++++++|
271 | | | | |
272 |<<#################################################>>|
273 | Now the CMCC1 is mixed in the conference |
274 |<<#################################################>>|
275 | | | | |
276 |******CMCC1 may then manipulate conference data *****|
277 |****** and add addt'l users, etc. | *****|
278 ' ' ' ' '
279 ' ' ' ' '
280 ' ' ' ' '
281 Figure 1: Create Basic Conference - Complete flow
283 "Alice" "Bob"
284 CMCC1 CMCC2 CMCCx CONFS
285 | | | |
286 |(1)confRequest | | |
287 |-------------------------------------->|
288 | | | |
289 | | (a)Create +---|
290 | | |Conf | |
291 | | |Object | |
292 | | |& IDs +-->|
293 | | | |--+ (b) MS
294 | | | | | creates
295 | | | | | conf and
296 | | | |<-+ its ID
297 | | | | (confid=Y)
298 |(2)confResponse(create,success, |
299 |<--------------------------------------|
300 | confObjID, confUserID |
301 | confInfo) | |
302 | | | |
303 | | | |
304 | | (c) Focus +---|
305 | | sets up | |
306 | | signaling | |
307 | | to CMCC1 +-->|
308 | | | |
309 | | | |--+(d) MS joins
310 | | | | | CMCC1 &
311 | | | |<-+ conf Y
312 |<<###################################>>|
313 | CMCC1 is mixed in the conference |
314 |<<###################################>>|
315 | | | |
316 |**CMCC1 then manipulates conference****|
317 |** data and add addt'l users, etc. ***|
318 ' ' ' '
319 ' ' ' '
320 ' ' ' '
321 -
323 Figure 2: Create Basic Conference - Annotated Flow
325 1. confRequest message:
327
328
332
335 create
336
337
339 2. confResponse message:
341
342
346
349 xcon:8977794@example.com
350 xcon-userid:Alice
351 success
352
353
354
355
356 Default conference initiated by Alice
357
358
359
360
361 xcon:8977794@example.com
362
363
364 Conference XCON-URI
365
366
367
368 10
369
370
371 audio
373
374
375
376
377 allow
378
379
381
382
383
384
385
386
388 Figure 3: Create Basic Conference (Annotated) Detailed Messaging
390 5.2. Basic Conference Creation for a specific instance of Conference
391 Information
393 A conference can also be created by the client sending a
394 "confRequest" message with the "create" operation, along with the
395 desired data in the form of the "confInfo" parameter for the
396 conference to be created. If the conferencing system can support
397 that specific type of conference (capabilities, etc.), then the
398 request results in the creation of a conference. In this success
399 case, an XCON-URI in the form of the "confObjID" parameter and the
400 XCON-UserID in the form of the "confUserID" parameter are returned in
401 the "confResponse" message. The "confInfo" is not returned unless
402 changes have been made, in which case the "responseCode" is
403 "modified".
405 This example also activates the conference upon creation (i.e.,
406 "method" attribute is set to "dial out" for this client based on the
407 particular conferencing systems default), Note, that depending upon
408 the conferencing system, this default conference could be specific to
409 the client requesting the conference and thus may be different for
410 the initiator than other participants (e.g., IVR interactions in this
411 case which are not shown).
413 "Alice" "Bob" "Carol" CONFS
414 | | | |
415 |(1)confRequest | | |
416 |-------------------------------------->|
417 | ( create, confUserID, confInfo) |
418 | | | |
419 | | (a)Create +---|
420 | | |Conf | |
421 | | |Object | |
422 | | |& IDs +-->|
423 | | | |--+ (b) MS
424 | | | | | creates
425 | | | | | conf and
426 | | | |<-+ its ID
427 | | | | (confid=Y)
428 |(2) confResponse | |
429 |<--------------------------------------|
430 | ( create,success, confObjID |
431 | confUserID)| | |
432 | | | |
433 | | (c) Focus +---|
434 | | sets up | |
435 | | signaling | |
436 | | to Alice +-->|
437 | | | |
438 | | | |--+(d) MS joins
439 | | | | | Alice &
440 | | | |<-+ conf Y
441 | | | |
442 | | | |
443 |<<###################################>>|
444 | Alice is mixed in the conference |
445 |<<###################################>>|
446 | | | |
447 | | (e)Focus +---|
448 | | sets up | |
449 | | signaling | |
450 | | to Bob | |
451 | | | +-->|
452 | | | |
453 | | | |--+(f)MS joins
454 | | | | | Bob &
455 | | | |<-+ conf Y
456 | | | |
457 | |<<###################>>|
458 | | Bob is mixed too |
459 | |<<###################>>|
460 | | | |
461 | | (g )Focus +---|
462 | | sets up | |
463 | | signaling | |
464 | | to Carol | |
465 | | CMCCx +-->|
466 | | | |
467 | | | |--+(h)MS joins
468 | | | | | CMCCx &
469 | | | |<-+ conf Y
470 | | | |
471 | | |<<#######>>|
472 | | |Carol mixed|
473 | | |<<#######>>|
474 | | | |
475 | | | |
476 | | | |
477 |<***All parties connected to conf Y***>|
478 | | | |
479 | | | |
480 " " " "
481 " " " "
482 " " " "
484 Figure 4: Create Basic Conference from user provided conference-info
486 1. confRequest message:
488
489
493
496 xcon-userid:Alice
497 create
498
499
500
501
502 Dial-out conference initiated by Alice
503
504
505
506
507 xcon:8977794@example.com
508
509
510 Conference XCON-URI
511
512
513
514 10
515
516
517 audio
518
519
520
521
522 allow
523
524
526
528
530
531
532
533
534
535
537 2. confResponse message:
539
540
544
547 xcon:6845432@example.com
548 xcon-userid:Alice
549 success
550
551
553 Figure 5: Create Basic Conference Detailed Messaging
555 5.3. Basic Conference Creation - Cloning an existing Conference
557 A client can also create another conference by cloning an existing
558 conference, such as an active conference or conference reseravation.
559 In this example, the client sends a "confRequest" message with the
560 "create" operation, along with a specific "confObjID", from which a
561 new conference is to be created by cloning an existing conference.
563 An example of how a client can create a conference based on a
564 blueprint is provided in Section 5.4. The manner by which a client
565 in this example might learn about a conference reservation or active
566 conferences is similar to the first step in the blueprint example,
567 with the exception of specifying querying for different types of
568 conference objects supported by the specific conferencing system.
569 For example, in this example, the client clones a conference
570 reservation (i.e., an inactive conference).
572 If the conferencing system can support a new instance of the specific
573 type of conference(capabilities, etc.), then the request results in
574 the creation of a conference, with an XCON-URI in the form of a new
575 value in the "confObjID" parameter to reflect the newly cloned
576 conference object returned in the "confResponse" message. The
577 "confInfo" is not returned unless there had been changes, in which
578 case the "responseCode" is "modified".
580 "Alice" ConfS
581 | |
582 |(1) confRequest (create, |
583 |------------------------------>|
584 | confObjID, confUserId, child)|
585 | (a)Create +---|
586 | Conf | |
587 | Object | |
588 | & IDs +-->|
589 | |--+ (b) MS
590 | | | creates
591 | | | conf and
592 | |<-+ its ID
593 | | (confid=Y)
594 | |
595 |(2) confResponse |
596 |<------------------------------|
597 | ( create, success, |
598 | confObjID, confUserID) |
599 | |
600 Figure 6: Create Basic Conference - Clone
602 1. "Alice" sends a confRequest message to clone a conference based
603 on an existing conference reservation. "Alice" indicates this
604 conference should be a "child" of the parent conference
605 represented by the "confObjID" in the request.
607 2. Upon receipt of the confRequest message containing a "create"
608 operation and "confObjID", the conferencing system ensures that
609 the "confObjID" received is valid. The conferencing system
610 determines the appropriate read/write access of any users to be
611 added to a conference based on this "confObjID" (using
612 membership, roles, etc.). The conferencing system uses the
613 received "confObjID" to clone a conference reservation. The
614 conferencing system also reserves or allocates a new "confObjID"
615 to be used for the cloned conference object. Any subsequent
616 protocol requests from any of the members of the conference. The
617 conferencing system maintains the mapping between this conference
618 ID and the parent conference object ID associated with the
619 reservation through the conference instance.
621 1. confRequest message:
623
624
628
631 xcon:6845432@example.com
632 xcon-userid:Alice
633 create
634
635
637 2. confResponse message:
639
640
644
647 xcon:8977794@example.com
648 xcon-userid:Alice
649 create
650 success
652
653
654
655
656 New conference by Alice cloned from 6845432
657
658
659
660
661 xcon:8977794@example.com
662
663
664 conference xcon-uri
665
666
667 8601
668
669
670
671 10
672
673
674 audio
675
676
677
678
679 allow
680
681
682
683 confirm
684
685
686
687
688
689
690
691
692 Figure 7: Create Basic Conference (Clone) Detailed Messaging
694 5.4. Conference Creation using Blueprints
696 Figure 8 provides an example of one client "Alice" determining the
697 conference blueprints available for a particular conferencing system
698 and creating a conference based on the desired blueprint.
700 CMCC "Alice" ConfS
701 | |
702 | (1) blueprintsRequest |
703 |------------------------------>|
704 | (confUserID) |
705 | |
706 | (2) blueprintsResponse |
707 |<------------------------------|
708 | (confUserID, success, |
709 | blueprintsInfo) |
710 |--+ |
711 | | choose preferred |
712 | | blueprint from the |
713 | | list (blueprintName) |
714 |<-+ |
715 | |
716 | (3) blueprintRequest |
717 |------------------------------>|
718 | (retrieve, confObjID, |
719 | confUserID) |
720 | |
721 | (4) blueprintResponse |
722 |<------------------------------|
723 | (success, confObjID,|
724 | confUserID,confInfo)|
725 | |
726 | (5) confRequest (create, |
727 |------------------------------>|
728 | confobjID) |
729 | (a)Create +---|
730 | Conf | |
731 | Object | |
732 | & IDs +-->|
733 | |--+ (b) MS
734 | | | creates
735 | | | conf and
736 | |<-+ its ID
737 | | (confid=Y)
738 |(6) confResponse |
739 |<------------------------------|
740 | (create,success, |
741 | confObjID, confUserID) |
742 | |
743 | |
744 | |
745 . .
746 . .
748 Figure 8: Client Creation of Conference using Blueprints
750 1. "Alice" first sends a "blueprintsRequest" message to the
751 conferencing system identified by the conference server discovery
752 process. Upon receipt of the "blueprintsRequest", the
753 conferencing system would first authenticate "Alice" and then
754 ensure that "Alice" has the appropriate authority based on system
755 policies to receive any blueprints supported by that system.
757 2. Any blueprints that "Alice" is authorized to use are returned in
758 a "blueprintsResponse" message in the "blueprintsInfo" attribute.
760 3. Upon receipt of the "blueprintsResponse" containing the
761 blueprints, "Alice" determines which blueprint to use for the
762 conference to be created. "Alice" sends a "blueprintRequest"
763 message to get the specific blueprint as identified by the
764 "confObjID".
766 4. The conferencing system returns the "confInfo" associated with
767 the specific blueprint as identified by the 'confObjID' in the
768 "blueprintResponse" message.
770 5. "Alice" then sends a "confRequest" with a "create" operation to
771 the conferencing system to create a conference reservation,
772 including the appropriate "blueprintName" and associated
773 "confObjID".
775 6. Upon receipt of the "confRequest" message with a "create"
776 operation, the conferencing system uses the received blueprint to
777 clone a conference, allocating a new "confObjID". The
778 conferencing server then sends a "confResponse" message including
779 the "confObjID" associated with the newly created conference
780 instance. Upon receipt of the "confResponse" message, "Alice"
781 can now add other users to the conference .
783 1. blueprintsRequest message:
785
786
789
791 xcon-userid:Alice
792
793
795 2. blueprintsResponse message:
797
798
802
805 xcon-userid:Alice
806 success
807
808
809
810 xcon:AudioRoom@example.com
811 AudioRoom
812 Simple Room:
813 conference room with public access,
814 where only audio is available, more users
815 can talk at the same time
816 and the requests for the AudioFloor
817 are automatically accepted.
818
819
820
821 xcon:VideoRoom@example.com
822 VideoRoom
823 Video Room:
824 conference room with public access,
825 where both audio and video are available,
826 8 users can talk and be seen at the same time,
827 and the floor requests are automatically accepted.
828
829
830
831 xcon:AudioConference1@example.com
832 AudioConference1
833 Public Audio Conference:
834 conference with public access,
835 where only audio is available,
836 only one user can talk at the same time,
837 and the requests for the AudioFloor MUST
838 be accepted by a Chair.
839
840
841
842 xcon:VideoConference1@example.com
843 VideoConference1
844 Public Video Conference: conference
845 where both audio and video are available,
846 only one user can talk
847
848
849
850 xcon:AudioConference2@example.com
851 AudioConference2
852 Basic Audio Conference:
853 conference with private access,
854 where only audio is available,
855 only one user can talk at the same time,
856 and the requests for the AudioFloor MUST
857 be accepted by a Chair.
858
859
860
861
862
863
865 3. blueprintRequest message:
867
868
872
874 xcon:AudioRoom@example.com
875 xcon-userid:Alice
876
877 retrieve
878
879
880
882 4. blueprintResponse message:
884
885
889
891 xcon:AudioRoom@example.com
892 xcon-userid:Alice
893 success
894
895
896
897 AudioRoom
898 2
899
900
901 audio
902
903
904
905
906 allow
907
908
909 confirm
910
911
912
913
914
915
916
917
918
920 5. confRequest message:
922
923
927
930 xcon:AudioRoom@example.com
931 xcon-userid:Alice
932 create
933
934
936 6. confResponse message:
938
939
943
946 xcon:8977794@example.com
947 xcon-userid:Alice
948 create
949 success
950
951
952
953
954 New conference by Alice cloned from AudioRoom
955
956
957
958
959 xcon:8977794@example.com
960
961
962 conference xcon-uri
963
964
965 8601
966
967
968
969 10
970
971
972 audio
973
974
975
976
977 allow
978
979
980
981 confirm
982
983
985
986
987
988
989
990
992 Figure 9: Create Conference (Blueprint) Detailed Messaging
994 6. General Conference scenarios and examples
996 The following scenarios are based on those documented in the XCON
997 framework. The examples assume that a conference has already been
998 correctly established, with media, if applicable, per one of the
999 examples in Section 5.
1001 6.1. Conference Announcements and Recordings
1003 In this example, as shown in Figure 10 "Alice" is joining "Bob"'s
1004 conference that requires that she first enter a pass code. After
1005 successfully entering the passcode, an announcement prompts "Alice to
1006 speak her name so it can be recorded. When "Alice" is added to the
1007 active conference, the recording is played back to all the existing
1008 participants.
1010 (Figure not available yet).
1012 Figure 10: Recording and Announcements
1014 1. Upon receipt of the userRequest from "Alice" to be added to
1015 "Bob's" conference (i.e., an "update" operation on "Bob's"
1016 conference object). The conferencing system determines that a
1017 password is required for this specific conference, thus an
1018 announcement asking "Alice" to enter the password is provided to
1019 "Alice". Once "Alice" enters the password, it is validated
1020 against the policies associated with "Bob's" active conference.
1021 The conferencing system then connects to a server which prompts
1022 and records "Alice's" name. The conferencing system must also
1023 determine whether "Alice" is already a user of this conferencing
1024 system or whether she is a new user. In this case, "Alice" is a
1025 new user for this conferencing system, so a conference user
1026 identifier is created for "Alice". Based upon the addressing
1027 information provided by "Alice", the call signaling to add
1028 "Alice" to the conference is instigated through the Focus.
1030 2. The conference server sends "Alice" a userResponse message which
1031 includes the "confUserID" assigned by the conferencing system for
1032 "Alice". This would allow "Alice" to later perform operations on
1033 the conference (if she were to have the appropriate policies),
1034 including registering for event notifications associated with the
1035 conference. Once the call signaling indicates that "Alice" has
1036 been successfully added to the specific conference, per updates
1037 to the state, and depending upon the policies, other participants
1038 (e.g., "Bob") are notified of the addition of "Alice" to the
1039 conference via the conference notification service and an
1040 announcement is provided to all the participants indicating that
1041 "Alice" has joined the conference.
1043 (CCMP Messaging details not available yet).
1045 Figure 11: Announcement Messaging Details
1047 6.2. Monitoring for DTMF
1049 The conferencing system also needs the capability to monitor for DTMF
1050 from each individual participant. This would typically be used to
1051 enter the identifier and/or access code for joining a specific
1052 conference.
1054 An example of DTMF monitoring, within the context of the framework
1055 elements, is shown in Figure 10.
1057 6.3. Adding a Party
1059 In this example, "Alice" wants to add "Bob" to an established
1060 conference.
1062 To do.
1064 Figure 12: Client Manipulation of Conference - Add a party
1066 1. "Alice" sends a userRequest message with an operation of "create"
1067 to add "Bob" to the specific conference as identified by the
1068 confObjID. The conference server ensures that "Alice" has the
1069 appropriate authority based on the policies associated with that
1070 specific conference object to perform the operation. A
1071 Conference User Identifier is created for Bob.
1073 2. The call signaling to add "Bob" to the conference is instigated
1074 through the Focus.
1076 3. Once "Bob" has been successfully added to the specific
1077 conference, per updates to the state, and depending upon the
1078 policies, other participants (including "Bob") may be notified of
1079 the addition of "Bob" to the conference via the Conference
1080 Notification Service.
1082 (CCMP Messaging details not available yet).
1084 Figure 13: Add Party Message Details
1086 6.4. Muting a Party
1088 This section provides an example of the muting of a party in an
1089 active conference. The unmuting would involve the identical CCMP
1090 message flow. Although, in the case that floor control is involved,
1091 whether or not a particular conference client can unmute themselves
1092 must be considered by the conferencing system.
1094 Figure 14 provides an example of one client "Alice" impacting the
1095 media state of another client "Bob". This example assumes an
1096 established conference. In this example, the client, "Alice" whose
1097 Role is "moderator" of the conference, wants to mute "Bob" on a
1098 medium-size multi-party conference, as his device is not muted (and
1099 he's obviously not listening to the call) and background noise in his
1100 office environment is disruptive to the conference.
1102 (To be added).
1104 Figure 14: Client Manipulation of Conference - Mute a party
1106 1. Upon receipt of the Conference Control Protocol request to "mute"
1107 a party ("Bob") in the specific conference as identified by the
1108 conference object ID, the Conference Server ensures that "Alice"
1109 has the appropriate authority based on the policies associated
1110 with that specific conference object to perform the operation.
1111 "Bob"'s status is marked as "recvonly" and the conference object
1112 is updated to reflect that "Bob"s media is not to be "mixed" with
1113 the conference media. In case the Conference Server relies on a
1114 remote Media Server for its multimedia functionality, it
1115 subsequently changes "Bob"'s media profile accordingly by means
1116 of the related protocol interaction with the MS. An example
1117 describing a possible way of dealing with such a situation using
1118 the Media Server Control architecture is described in
1119 [I-D.miniero-mediactrl-escs], at "Simple Bridging: Framework
1120 Transactions (2)".
1122 2. ..x Depending upon the policies, other participants (including
1123 "Bob") may be notified of this change via the Conference
1124 Notification Service.
1126 (CCMP Messaging details not available yet).
1128 Figure 15: Mute Message Details
1130 6.5. Internal Sidebar
1132 Figure 16 provides an example of one client "Alice" involved in
1133 active conference with "Bob" and "Carol". "Alice" wants to create a
1134 sidebar to have a side discussion with "Bob" while still viewing the
1135 video associated with the main conference. Alternatively, the audio
1136 from the main conference could be maintained at a reduced volume.
1137 "Alice" initiates the sidebar by sending a request to the
1138 conferencing system to create a conference reservation based upon the
1139 active conference object. "Alice" and "Bob" would remain on the
1140 roster of the main conference, such that other participants could be
1141 aware of their participation in the main conference, while an
1142 internal-sidebar conference is occurring.
1144 (To be added).
1146 Figure 16: Client Creation of a Sidebar Conference
1148 1. Upon receipt of the Conference Control Protocol request to
1149 "reserve" a new sidebar conference, based upon the active
1150 conference received in the request, the conferencing system uses
1151 the received active conference to clone a conference reservation
1152 for the sidebar. The sidebar reservation is NOT independent of
1153 the active conference (i.e., parent). The conferencing system
1154 also reserves or allocates a conference ID to be used for any
1155 subsequent protocol requests from any of the members of the
1156 conference.
1158 2. Upon receipt of the conference control protocol response to
1159 reserve the conference, "Alice" can now create an active
1160 conference using that reservation or create additional
1161 reservations based upon the existing reservations. In this
1162 example, "Alice" wants only "Bob" to be involved in the sidebar,
1163 thus she manipulates the membership. "Alice" also only wants the
1164 video from the original conference and wants the audio to be
1165 restricted to the participants in the sidebar. Alternatively,
1166 "Alice" could manipulate the media values to recieve the audio
1167 from the main conference at a reduced volume. "Alice" sends a
1168 conference control protocol request to update the information in
1169 the reservation and to create an active conference.
1171 3. Upon receipt of the conference control protocol request to update
1172 the reservation and to create an active conference for the
1173 sidebar, as identified by the conference object ID, the
1174 conferencing system ensures that "Alice" has the appropriate
1175 authority based on the policies associated with that specific
1176 conference object to perform the operation. The conferencing
1177 system must also validate the updated information in the
1178 reservation, ensuring that a member like "Bob" is already a user
1179 of this conferencing system.
1181 4. ..x. Depending upon the policies, the initiator of the request
1182 (i.e., "Alice") and the participants in the sidebar (i.e., "Bob")
1183 may be notified of his addition to the sidebar via the conference
1184 notification service.
1186 (CCMP Messaging details not available yet).
1188 Figure 17: Internal Sidebar Messaging Details
1190 6.6. External Sidebar
1192 Figure 18 provides an example of one client "Alice" involved in an
1193 active conference with "Bob", "Carol", "David" and "Ethel". "Alice"
1194 gets an important text message via a whisper from "Bob" that a
1195 critical customer needs to talk to "Alice", "Bob" and "Ethel".
1196 "Alice" creates a sidebar to have a side discussion with the customer
1197 "Fred" including the participants in the current conference with the
1198 exception of "Carol" and "David", who remain in the active
1199 conference. "Alice" initiates the sidebar by sending a request to
1200 the conferencing system to create a conference reservation based upon
1201 the active conference object. "Alice", "Bob" and "Ethel" would
1202 remain on the roster of the main conference in a hold state. Whether
1203 or not the hold state of these participants is visible to other
1204 participants depends upon the individual and local policy.
1206 (To be Detailed).
1208 Figure 18: Client Creation of an External Sidebar
1210 1. Upon receipt of the confRequest message to "reserve" a new
1211 sidebar conference, based upon the active conference received in
1212 the request, the conferencing system uses the received active
1213 conference to clone a conference reservation for the sidebar.
1214 The sidebar reservation is NOT independent of the active
1215 conference (i.e., parent). The conferencing system also reserves
1216 or allocates a conference ID to be used for any subsequent
1217 protocol requests from any of the members of the conference. The
1218 conferencing system maintains the mapping between this conference
1219 ID and the conference object ID associated with the sidebar
1220 reservation through the conference instance.
1222 2. Upon receipt of the confResponse message, "Alice" wants only
1223 "Bob" and "Ethel", along with the new participant "Fred" to be
1224 involved in the sidebar, thus she manipulates the membership.
1225 "Alice" sets the media in the conference-info such that the
1226 participants in the sidebar don't receive any media from the main
1227 conference.
1229 3. "Alice" sends a confRequest to update the information in the
1230 reservation and to create an active conference. Upon receipt of
1231 the confRequest with an operation of "update", the conferencing
1232 system ensures that "Alice" has the appropriate authority based
1233 on the policies associated with that specific conference object
1234 to perform the operation. The conferencing system also validates
1235 the updated information in the reservation. Since "Fred" is a
1236 new user for this conferencing system, a conference user
1237 identifier is created for "Fred". Based upon the addressing
1238 information provided for "Fred" by "Alice", the call signaling to
1239 add "Fred" to the conference is instigated through the Focus.
1241 4. ..x. The conference server sends a confResponse message and
1242 depending upon the policies, the initiator of the request (i.e.,
1243 "Alice") and the participants in the sidebar (i.e., "Bob" and
1244 "Ethel") may be notified of his addition to the sidebar via the
1245 conference notification service.
1247 (CCMP Messaging details not available yet).
1249 Figure 19: External Sidebar Messaging Details
1251 6.7. Floor control using sidebars
1253 Floor control with sidebars can be used to realize conferencing
1254 scenario such as an analyst briefing. In this scenario, the
1255 conference call has a panel of speakers who are allowed to talk in
1256 the main conference. The other participants are the analysts, who
1257 are not allowed to speak unless they have the floor. To request
1258 access to the floor, they have to join a new sidebar with the
1259 moderator and ask their question. The moderator can also whisper to
1260 each analyst what their status/position in the floor control queue,
1261 similar to the example in Figure 22. It should be noted that other
1262 mechanisms which don't make use of sidebars could be used for floor
1263 control such as those detailed in BFCP.
1265 Figure 20 provides an example of the configuration involved for this
1266 type of conference. As in the previous sidebar examples, there is
1267 the main conference along with a sidebar. "Alice" and "Bob" are the
1268 main participants in the conference, with "A1", "A2" and "A3"
1269 representing the analysts. The sidebar remains active throughout the
1270 conference, with the moderator, "Carol", serving as the chair. As
1271 discussed previously, the sidebar conference is NOT independent of
1272 the active conference (i.e., parent). The analysts are provided the
1273 conference object ID associated with the active sidebar when they
1274 join the main conference. The conferencing system also allocates a
1275 conference ID to be used for any subsequent manipulations of the
1276 sidebar conference. The conferencing system maintains the mapping
1277 between this conference ID and the conference object ID associated
1278 with the active sidebar conference through the conference instance.
1279 The analysts are permanently muted while in the main conference. The
1280 analysts are moved to the sidebar when they wish to speak. Only one
1281 analyst is given the floor at a given time. All participants in the
1282 main conference receive audio from the sidebar conference, as well as
1283 audio provided by the panelists in the main conference.
1285 (To Be added).
1287 Figure 20: Floor Control with sidebars
1289 1. "A1" wishes to ask a question, so he sends a Floor Request
1290 message to the floor control server.
1292 2. Upon receipt of the request, the floor control server notifies
1293 the moderator, "Carol" of the active sidebar conference, whose
1294 serving as the floor chair.
1296 3. Since no other analysts have yet requested the floor, "Carol"
1297 indicates to the floor control server that "A1" may be granted
1298 the floor.
1300 (CCMP Messaging details not available yet).
1302 Figure 21: Floor Control Messaging Details
1304 6.8. Whispering or Private Messages
1306 The case of private messages can be handled as a sidebar with just
1307 two participants, similar to the example in section Section 6.5, but
1308 rather than using audio within the sidebar, "Alice" could add an
1309 additional text based media stream to the sidebar. The other
1310 context, referred to as whisper, in this document refers to
1311 situations involving one time media targetted to specific user(s).
1312 An example of a whisper would be an announcement injected only to the
1313 conference chair or to a new participant joining a conference.
1315 Figure 22 provides an example of one user "Alice" whose chairing a
1316 fixed length conference with "Bob" and "Carol". The configuration is
1317 such that only the chair is providing a warning when there is only 10
1318 minutes left in the conference. At that time, "Alice" is moved into
1319 a sidebar created by the conferencing system and only "Alice"
1320 receives the announcement.
1322 (To Be completed).
1324 Figure 22: Whisper
1326 1. When the conferencing system determines that there is only 10
1327 minutes left in the conference which "Alice" is chairing, the
1328 conferencing system directly creates an active sidebar
1329 conference, based on the active conference associated with
1330 "Alice". This sidebar conference is NOT independent of the
1331 active conference (i.e., parent). The conferencing system also
1332 allocates a conference ID to be used for any subsequent
1333 manipulations of the sidebar conference.
1335 2. Immediately upon creation of the active sidebar conference, the
1336 announcement media is provided to "Alice". Depending upon the
1337 policies, Alice may be notified of her addition to the sidebar
1338 via the conference notification service. "Alice" continues to
1339 receive the media from the main conference.
1341 3. Upon completion of the announcement, "Alice" is removed from the
1342 siebar and the sidebar conference is deleted.
1344 4. "Alice" is notified of her removal from the sidebar via the
1345 conference notification service.
1347 (CCMP Messaging details not available yet).
1349 Figure 23: Whisper Messaging Details
1351 6.9. Observing and Coaching
1353 An example of observing and coaching is shown in figure Figure 24.
1354 In this example, call center agent "Bob" is involved in a conference
1355 with customer "Carol". Since "Bob" is a new agent and "Alice" sees
1356 that he has been on the call with "Carol" for longer than normal, she
1357 decides to observe the call and coach "Bob" as necessary.
1359 (Figure not available yet).
1361 Figure 24: Supervisor Creating a Sidebar for Observing/Coaching
1363 1. Upon receipt of the confRequest from "Alice" to "create" a new
1364 sidebar conference from the confObjID received in the request,
1365 the conferencing system uses the received active conference to
1366 clone a conference reservation for the sidebar. The conferencing
1367 system also allocates a conference ID to be used for any
1368 subsequent protocol requests from any of the members of the
1369 conference. The conferencing system maintains the mapping
1370 between this conference ID and the confObjID associated with the
1371 sidebar reservation through the conference instance. The
1372 conference server sends a confResponse message with the new
1373 confObjID and relevant confInfo.
1375 2. Upon receipt of the confResponse message, "Alice" manipulates the
1376 data received in the confInfo in the response. "Alice" wants
1377 only "Bob" to be involved in the sidebar, thus she updates the
1378 "allowed-users-list" to include only "Bob". "Alice" also wants
1379 the audio to be received by herself and "Bob" from the original
1380 conference, but wants any outgoing audio from herself to be
1381 restricted to the participants in the sidebar, whereas "Bob's"
1382 outgoing audio should go to the main conference, so that both
1383 "Alice" and the customer "Carol" hear the same audio from "Bob".
1384 "Alice" sends a confRequest message with an "update" operation
1385 including the updated conference information.
1387 3. Upon receipt of the confRequest message with an "update"
1388 operation, the conferencing system ensures that "Alice" has the
1389 appropriate authority based on the policies associated with that
1390 specific conference object to perform the operation.
1392 4. After validating the data, the conference server sends a
1393 confResponse message. Based upon the addressing information
1394 provided for "Bob" by "Alice", the call signaling to add "Bob" to
1395 the sidebar with the appropriate media characteristics is
1396 instigated through the Focus. "Bob" is notified of his addition
1397 to the sidebar via the conference notification service, thus he
1398 is aware that "Alice" the supervisor is available for coaching
1399 him through this call.
1401 (CCMP Messaging details not available yet).
1403 Figure 25: Coaching and Observing Messaging details
1405 7. Removing participants and deleting conferences
1407 The following scenarios detail the basic operations associated with
1408 removing participants from conferences and entirely deleting
1409 conferences. The examples assume that a conference has already been
1410 correctly established, with media, if applicable, per one of the
1411 examples in Section 5.
1413 7.1. Removing a Party
1415 Figure 26 provides an example of one client "Alice" removing another
1416 participant "Bob" from a conference. This example assumes an
1417 established conference with "Alice", "Bob", "Claire" and "Duck". In
1418 this example, "Alice" wants to remove "Bob" from the conference so
1419 that the group can continue in the same conference without "Bob"'s
1420 participation.
1422 (Figure not available yet).
1424 Figure 26: Client Manipulation of Conference - Remove a party
1426 1. "Alice" sends a userRequest message, with a "delete" operation.
1427 The conference server ensures that "Alice" has the appropriate
1428 authority based on the policies associated with that specific
1429 conference object to perform the operation.
1431 2. Based upon the addressing and media information in the conference
1432 object for "Bob" in the "user" element, the conference instigates
1433 the process to remove "Bob" (e.g., the call signaling to remove
1434 "Bob" from the conference is instigated through the Focus). The
1435 conference server updates the data in the conference object, thus
1436 removing "Bob" from the "users" list and a userResponse message
1437 is sent to "Alice". Depending upon the policies, other
1438 participants (including "Bob") may be notified of the removal of
1439 "Bob" from the conference via the Conference Notification
1440 Service.
1442 (CCMP Messaging details not available yet).
1444 Figure 27: Removing a Participant Messaging Details
1446 7.2. Deleting a Conference
1448 Details to be added.
1450 (Figure not available yet).
1452 Figure 28: Deleting a conference
1454 (Text description to be added).
1456 (CCMP Messaging details not available yet).
1458 Figure 29: Deleting a Conference Messaging Details
1460 8. Additional Conference Scenarios and Examples
1462 The following are additional scenarios making use of the XCON
1463 framework and associated protocols. In some cases, these examples
1464 make use of some of the building block scenarios detailed in the
1465 previous example sections, in which case the appropriate scenario is
1466 referenced rather than duplicating details. In addition, in cases
1467 where the scenarios make use of other protocols, as in the previous
1468 section, the appropriate reference in the form of a title to the
1469 specific flow in the appropriate protocol document is included.
1471 8.1. Chat
1473 The chat functionality described in this section of the document
1474 allows clients that use the XCON framework and protocols for other
1475 media types (e.g. voice/video) to utilize the same conference control
1476 mechanisms and conferencing system to establish, update and delete a
1477 conference instance associated with an Instant Messaging (IM) chat
1478 session, independent of the IM chat protocol. In some cases(e.g.,
1479 Message Session Relay Protocol (MSRP) chat), this would provide
1480 additional capabilities, such as sidebars. This approach also allows
1481 the conferencing system to provide a natural interworking point for
1482 various IM protocols, the details of the interworking are outside the
1483 scope of this document.
1485 An IM client wishing to join a conference uses standardized
1486 centralized conferencing mechanisms for creating and joining a
1487 conference, as identified in the previous sections. The request to
1488 send an IM to an IM media session is specific to the IM protocol
1489 (e.g., MSRP SEND), just as there is specific media control messaging
1490 for other types of sessions. An IM client connecting to a
1491 conferencing system has a 1:1 relationship with the IM media
1492 signaling entity in the conferencing system. This relationship is
1493 referred to as an IM session. Further details of the correlation of
1494 the IM session identifiers with the XCON session identifiers is
1495 provided in [I-D.boulton-xcon-session-chat]. The IM media signaling
1496 entity is responsible for distribution of all the messages to the
1497 other participants.
1499 As with the other example conferences created, each IM session is
1500 logically associated with a specific conference. The conference
1501 itself has a specific identifier in the form of the XCON-URI, which
1502 is passed in the "confObjID" element in the CCMP messages. This
1503 provides the relevant association between IM session and a
1504 centralized conference.
1506 An IM client wishing to delete a chat room uses standardized
1507 mechanisms for deleting a conference instance, such as those detailed
1508 in Section 7.2.
1510 8.1.1. Basic Chat Operations
1512 This section provides details of the realization of the Multi-party
1513 IM (chat) within the context of the centralized conferencing
1514 framework. A brief discussion and diagrams are provided for
1515 creating, joining, and deleting a chat based conference. The
1516 discovery of chat rooms available on a specific conferencing system
1517 is inherent in the blueprint capability provided by the conferencing
1518 system. The objective of this section is to further illustrate the
1519 model, mechanisms and protocols presented in the previous sections
1520 and also serves to validate that the model, mechanisms and protocols
1521 are sufficient to support IM chat.
1523 It should be noted that not all entities impacted by the request are
1524 shown in the diagram (e.g., Focus), but rather the emphasis is on the
1525 new entities introduced by this centralized conferencing framework.
1527 8.1.1.1. Creating a Chat Room
1529 There are different ways to create a conference. A participant can
1530 create a conference using call signaling means only, such as SIP, as
1531 detailed in [RFC4579]. For a conferencing client to have more
1532 flexibility in defining the charaterisitics and capabilities of a
1533 chat based conference, a conferencing client would implement a
1534 conference control protocol client. By using a conference control
1535 protocol, the client can determine the capabilities of a conferencing
1536 system and its various resources.
1538 Figure 30 provides an example of one client "Alice" determining the
1539 conference blueprints available to support various types of chat
1540 rooms for a particular conferencing system and creating a chat based
1541 conference using the desired blueprint.
1543 Details to be added.
1545 Figure 30: Client Creation of Chat room
1547 Upon receipt of the Conference Control Protocol request for
1548 blueprints associated with chat rooms, the conferencing system would
1549 first authenticate "Alice" (and allocate a conference user
1550 identifier, if necessary) and then ensure that "Alice" has the
1551 appropriate authority based on system policies to receive any chat
1552 room based blueprints supported by that system. Any blueprints that
1553 "Alice" is authorized to use are returned in a response, along with
1554 the conference user ID.
1556 Upon receipt of the Conference Control Protocol response containing
1557 the blueprints, "Alice" determines which blueprint to use for the
1558 conference to be created. "Alice" creates a conference object based
1559 on the blueprint (i.e., clones) and modifies applicable fields, such
1560 as membership list, topic details, and start time. "Alice" then
1561 sends a request to the conferencing system to create a conference
1562 reservation based upon the updated blueprint.
1564 Upon receipt of the Conference Control Protocol request to "create" a
1565 conference based upon the blueprint in the request, the conferencing
1566 system ensures that the blueprint received is a valid blueprint (i.e.
1567 the values of the various field are within range). The conferencing
1568 system determines the appropriate read/write access of any users to
1569 be added to a conference based on this blueprint (using membership,
1570 roles, etc.). The conferencing system uses the received blueprint to
1571 clone a conference reservation. The conferencing system also
1572 reserves or allocates a conference ID to be used for any subsequent
1573 protocol requests from any of the members of the conference. The
1574 conferencing system maintains the mapping between this conference ID
1575 and the conference object ID associated with the reservation through
1576 the conference instance.
1578 Upon receipt of the conference control protocol response to reserve
1579 the conference, "Alice" now creates an active chat room using that
1580 reservation. "Alice" provides the conference information, including
1581 the necessary conference ID, to desired participants to allow them to
1582 join the chat room. "Alice" may also add other users to the chat
1583 room. When the first participant, including "Alice", requests to be
1584 added to the conference, an active conference and focus are created.
1585 The focus is associated with the conference ID received in the
1586 request.
1588 (CCMP Messaging details not available yet.
1589 Plan is to reference detailed flows in
1590 previous sections
1591 in the example.)
1593 Figure 31: Chatroom Creation Messaging Details
1595 8.1.1.2. Joining a Chat Room
1597 A participant can join and leave the conference using call signaling
1598 means only, such as SIP. However, in order to perform richer
1599 conference control a user client can implement a conference control
1600 protocol client. By using a conference control protocol, the client
1601 can affect its own state and the state of other participants,
1602 depending upon policies, which may indirectly affect the state of any
1603 of the conference participants.
1605 In the example in section Section 8.1.1.1, "Alice" has reserved a
1606 chat room . "Alice" has also already joined the conference and made
1607 the chat room active. "Alice" can either add additional participants
1608 to the chat room or provide the conference information, including the
1609 necessary conference ID, to desired participants and allow them to
1610 request to join themselves. Any participants that have the authority
1611 to manipulate the conference would receive the conference object
1612 identifier of the active conference object in the response to their
1613 request to join.
1615 Figure 32 provides an example of "Bob" joining the chat room using
1616 the conference ID provided by "Alice" (e.g., in an IM).
1618 Details to be added.
1620 Figure 32: Joining a chat room
1622 Upon receipt of the Conference Control Protocol request to "add" a
1623 party ("Bob") in the specific conference as identified by the
1624 conference object ID, the conferencing system must determine whether
1625 "Bob" is already a user of this conferencing system or whether he is
1626 a new user. If "Bob" is a new user for this conferencing system, a
1627 Conference User Identifier is created for Bob. The conferencing
1628 system must also ensure that "Bob" has the appropriate authority
1629 based on the policies associated with that specific conference object
1630 to perform the operation.
1632 Once "Bob" has been successfully added to the chat room, a response
1633 is sent to "Bob". Depending upon the policies, other participants
1634 (including "Bob") may be notified of the addition of "Bob" to the
1635 conference via the Conference Notification Service.
1637 (CCMP Messaging details not available yet.
1638 Plan is to reference detailed flows in
1639 previous sections as appropriate
1640 in the example.)
1642 Figure 33: Chatroom Join Messaging Details
1644 8.1.1.3. Deleting a Chat Room
1646 Depending upon the conferencing system policies and policies specific
1647 to the chat room, the creator of the chat would typically be the
1648 participant authorized to delete the chat room.
1650 In the example in section Section 8.1.1.1, "Alice" has created a chat
1651 room and provided the conference information, including the necessary
1652 conference ID, to desired participants and allow them to request to
1653 join themselves. "Bob" and others are participants in the chat.
1654 Figure 34 provides an example of "Alice" later deleting this same
1655 chat room.
1657 Details to be added.
1659 Figure 34: Deleting a chat room
1661 Upon receipt of the Conference Control Protocol request to "delete"
1662 the specific chat room as identified by the conference object ID, the
1663 conferencing system must determine whether "Alice" has the authority
1664 to delete this conference. Since "Alice" is the creator of the
1665 conference, the "delete" operation is performed, with the appropriate
1666 signaling sent to the participants, including a response to "Alice"
1667 indicating that the chat room has been deleted.
1669 One step in the deletion of the chat room may include notifitying the
1670 participants (including "Bob") that they have been removed via the
1671 Conference Notification Service.
1673 (CCMP Messaging details not available yet.
1674 Plan is to reference detailed flows in
1675 previous sections .)
1677 Figure 35: Chatroom Deletion Messaging Details
1679 8.1.2. Advanced Operations
1681 This section provides details of the realization of advanced chat
1682 features, such as sidebars and private messages, within the context
1683 of the centralized conferencing framework. As with Section 8.1.1,
1684 the objective of this section is to further illustrate the model,
1685 mechanisms and protocols presented in the previous sections and also
1686 serves to validate that the model, mechanisms and protocols are
1687 sufficient to support advance IM chat features.
1689 8.1.2.1. Text Sidebar
1691 The concept of a 'sidebar' in conferencing system is fully described
1692 in the Sidebar section and related subsections within the
1693 Conferencing Scenarios Realization section of the centralized
1694 conferencing framework document [RFC5239]. The creation,
1695 manipulation and deletion of sidebars for chat rooms follows the same
1696 principles.
1698 A conference object representing a sidebar is created by cloning the
1699 parent associated with the existing conference and updating any
1700 information specific to the sidebar. A sidebar conference object is
1701 implicitly linked to the parent conference object (i.e. it is not an
1702 independent object) and is associated with the parent conference
1703 object identifier. A conferencing system manages and enforces the
1704 parent and appropriate localized restrictions on the sidebar
1705 conference object (e.g., no members from outside the parent
1706 conference instance can join, sidebar conference can not exist if
1707 parent conference is terminated, etc.).
1709 Figure 36 provides an example of one client "Alice" involved in
1710 active chat room with "Bob" and "Carol". "Alice" wants to create a
1711 sidebar to have a side discussion with "Bob" while still receiving
1712 the session based messaging associated with the main chat room.
1713 Whether the text is interleaved with the main chat or whether a
1714 separate window is created for the sidebar is implementation
1715 specific. "Alice" initiates the sidebar by sending a request to the
1716 conferencing system to create a conference chat reservation based
1717 upon the active chat conference object. "Alice" and "Bob" would
1718 remain on the roster of the main conference, such that other
1719 participants could be aware of their participation in the main
1720 conference, while the text sidebar conference is occurring.
1722 Details to be added.
1724 Figure 36: Client Creation of a Sidebar Conference
1726 Upon receipt of the Conference Control Protocol request to "reserve"
1727 a new sidebar chat conference, based upon the active chat conference
1728 received in the request, the conferencing system uses the received
1729 active chat conference to clone a conference chat reservation for the
1730 sidebar. As discussed previously, the sidebar reservation is NOT
1731 independent of the active conference (i.e., parent). The
1732 conferencing system also reserves or allocates a conference ID to be
1733 used for any subsequent protocol requests from any of the members of
1734 the conference. The conferencing system maintains the mapping
1735 between this conference ID and the conference object ID associated
1736 with the sidebar reservation through the conference instance.
1738 Upon receipt of the conference control protocol response to reserve
1739 the conference, "Alice" can now create an active chat conference
1740 using that reservation or create additional reservations based upon
1741 the existing reservations. In this example, "Alice" wants only "Bob"
1742 to be involved in the sidebar, thus she manipulates the membership.
1743 "Alice" also only wants the text from the original conference, but
1744 wants the text within the sidebar to be restricted to the
1745 participants in the sidebar. "Alice" sends a conference control
1746 protocol request to update the information in the reservation and to
1747 create an active conference.
1749 Upon receipt of the conference control protocol request to update the
1750 reservation and to create an active chat conference for the sidebar,
1751 as identified by the conference object ID, the conferencing system
1752 ensures that "Alice" has the appropriate authority based on the
1753 policies associated with that specific conference object to perform
1754 the operation. The conferencing system must also validate the
1755 updated information in the reservation, ensuring that a member like
1756 "Bob" is already a user of this conferencing system.
1758 Depending upon the policies, the initiator of the request (i.e.,
1759 "Alice") and the participants in the sidebar (i.e., "Bob") may be
1760 notified of his addition to the sidebar via the conference
1761 notification service.
1763 Details to be added.
1765 Figure 37: Chatroom Sidebar Messaging Details
1767 8.1.2.2. Private Message
1769 The case of private messages can be handled as a sidebar with just
1770 two participants, identical to the example in section
1771 Section 8.1.2.1. The other context, referred to as whisper, in this
1772 document refers to situations involving one time media targetted to
1773 specific user(s). An example of a whisper would be a text message
1774 injected only to the conference chair or to a new participant joining
1775 a conference.
1777 Figure 38 provides an example of one user "Alice" who's chairing a
1778 fixed length conference with "Bob" and "Carol". The configuration is
1779 such that only the chair is providing a warning when there is only 10
1780 minutes left in the conference. At that time, "Alice" is moved into
1781 a sidebar created by the conferencing system and only "Alice"
1782 receives that text message announcing the 10 minute warning.
1784 Details to be added.
1786 Figure 38: Whisper
1788 When the conferencing system determines that there is only 10 minutes
1789 left in the conference which "Alice" is chairing, rather than
1790 creating a reservation as was done for the sidebar in
1791 Section 8.1.2.1, the conferencing system directly creates an active
1792 chat sidebar conference, based on the active chat conference
1793 associated with "Alice". As discussed previously, the sidebar
1794 conference is NOT independent of the active conference (i.e.,
1795 parent). The conferencing system also allocates a conference ID to
1796 be used for any subsequent manipulations of the sidebar chat
1797 conference. The conferencing system maintains the mapping between
1798 this conference ID and the conference object ID associated with the
1799 active sidebar conference through the conference instance.
1801 Immediately upon creation of the active chat sidebar conference, the
1802 text announcement is provided to "Alice". Depending upon the
1803 policies, Alice may be notified of her addition to the sidebar via
1804 the conference notification service. "Alice" continues to receive
1805 the text messages from the main conference.
1807 Upon delivery of the text announcement, "Alice" is removed from the
1808 sidebar and the sidebar conference is deleted. Depending upon the
1809 policies, "Alice" may be notified of her removal from the sidebar via
1810 the conference notification service.
1812 Details to be added.
1814 Figure 39: Chatroom Sidebar Messaging Details
1816 9. IANA Considerations
1818 This document has no IANA considerations.
1820 10. Security Considerations
1822 The security considerations applicable to the implementation of these
1823 call flows is documented in the XCON Framework, with additional
1824 security considerations documented in the CCMP document. Where
1825 applicable, statements with regards to the necessary security are
1826 discussed in particular flows, however, since this is only an
1827 informational document, readers are strongly recommended to carefully
1828 consider the security considerations defined in the XCON Framework
1829 and the CCMP document.
1831 11. Change Summary
1833 NOTE TO THE RFC-Editor: Please remove this section prior to
1834 publication as an RFC.
1836 The following are the major changes between the individual 01 version
1837 to the WG 00:
1839 o Updates to reflect most recent version of CCMP, including
1840 parameter names, etc.
1842 o Added protocol details to initial examples.
1844 o Editorial: Simplifying intro, terms, etc.
1846 The following are the major changes between the 00 and the 01
1847 versions of the draft:
1849 o Updates to reflect change of CCMP to HTTP transport model.
1851 12. Acknowledgements
1853 The detailed content for this document is derived from the prototype
1854 work of Lorenzo Miniero, Simon Pietro-Romano, Tobia Castaldi and
1855 their colleagues at the University of Napoli.
1857 13. References
1859 13.1. Normative References
1861 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
1862 Requirement Levels", BCP 14, RFC 2119, March 1997.
1864 [RFC5239] Barnes, M., Boulton, C., and O. Levin, "A Framework for
1865 Centralized Conferencing", RFC 5239, June 2008.
1867 [I-D.ietf-xcon-ccmp]
1868 Barnes, M., Boulton, C., Romano, S., and H. Schulzrinne,
1869 "Centralized Conferencing Manipulation Protocol",
1870 draft-ietf-xcon-ccmp-02 (work in progress), March 2009.
1872 13.2. Informative References
1874 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
1875 A., Peterson, J., Sparks, R., Handley, M., and E.
1876 Schooler, "SIP: Session Initiation Protocol", RFC 3261,
1877 June 2002.
1879 [RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol
1880 (SIP) Call Control - Conferencing for User Agents",
1881 BCP 119, RFC 4579, August 2006.
1883 [RFC4597] Even, R. and N. Ismail, "Conferencing Scenarios",
1884 RFC 4597, August 2006.
1886 [RFC4582] Camarillo, G., Ott, J., and K. Drage, "The Binary Floor
1887 Control Protocol (BFCP)", RFC 4582, November 2006.
1889 [I-D.ietf-xcon-event-package]
1890 Camarillo, G., Srinivasan, S., Even, R., and J.
1891 Urpalainen, "Conference Event Package Data Format
1892 Extension for Centralized Conferencing (XCON)",
1893 draft-ietf-xcon-event-package-01 (work in progress),
1894 September 2008.
1896 [I-D.ietf-xcon-common-data-model]
1897 Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen,
1898 "Conference Information Data Model for Centralized
1899 Conferencing (XCON)", draft-ietf-xcon-common-data-model-13
1900 (work in progress), April 2009.
1902 [I-D.miniero-mediactrl-escs]
1903 Amirante, A., Castaldi, T., Miniero, L., and S. Romano,
1904 "Media Control Channel Framework (CFW) Call Flow
1905 Examples", draft-miniero-mediactrl-escs-03 (work in
1906 progress), November 2008.
1908 [RFC5567] Melanchuk, T., "An Architectural Framework for Media
1909 Server Control", RFC 5567, June 2009.
1911 [I-D.ietf-mediactrl-mixer-control-package]
1912 McGlashan, S., Melanchuk, T., and C. Boulton, "A Mixer
1913 Control Package for the Media Control Channel Framework",
1914 draft-ietf-mediactrl-mixer-control-package-07 (work in
1915 progress), May 2009.
1917 [I-D.boulton-xcon-session-chat]
1918 Boulton, C. and M. Barnes, "Chatrooms within a Centralized
1919 Conferencing (XCON) System",
1920 draft-boulton-xcon-session-chat-03 (work in progress),
1921 March 2009.
1923 Authors' Addresses
1925 Mary Barnes
1926 Nortel
1927 2201 Lakeside Blvd
1928 Richardson, TX
1930 Email: mary.barnes@nortel.com
1932 Chris Boulton
1933 NS-Technologies
1935 Email: chris@ns-technologies.com
1936 Lorenzo Miniero
1937 University of Napoli
1938 Via Claudio 21
1939 Napoli 80125
1940 Italy
1942 Email: lorenzo.miniero@unina.it
1944 Simon Pietro Romano
1945 University of Napoli
1946 Via Claudio 21
1947 Napoli 80125
1948 Italy
1950 Email: spromano@unina.it