XCON Working Group M. Barnes
Internet-Draft Nortel
Intended status: Informational C. Boulton
Expires: January 14, 2010 NS-Technologies
L. Miniero
Meetecho
R. Presta
S P. Romano
University of Napoli
July 13, 2009
Centralized Conferencing Manipulation Protocol (CCMP) Call Flow Examples
draft-ietf-xcon-examples-01.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 14, 2010.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Barnes, et al. Expires January 14, 2010 [Page 1]
Internet-Draft CCMP Call Flow Examples July 2009
Abstract
This document provides detailed call flows for the scenarios
documented in the Centralized Conferencing (XCON) Framework and the
XCON Scenarios. The call flows document the use of the interface
between a conference control client and a conference control server
using the Centralized Conferencing Manipulation Protocol (CCMP). The
objective is to provide a base reference for both protocol
researchers and developers.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Conference Creation . . . . . . . . . . . . . . . . . . . . . 5
5.1. Basic Conference Creation . . . . . . . . . . . . . . . . 6
5.2. Basic Conference Creation for a specific instance of
Conference Information . . . . . . . . . . . . . . . . . . 11
5.3. Basic Conference Creation - Cloning an existing
Conference . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4. Conference Creation using Blueprints . . . . . . . . . . . 18
6. General Conference scenarios and examples . . . . . . . . . . 25
6.1. Conference Announcements and Recordings . . . . . . . . . 25
6.2. Monitoring for DTMF . . . . . . . . . . . . . . . . . . . 28
6.3. Adding a Party . . . . . . . . . . . . . . . . . . . . . . 28
6.4. Muting a Party . . . . . . . . . . . . . . . . . . . . . . 31
6.5. Internal Sidebar . . . . . . . . . . . . . . . . . . . . . 36
6.6. External Sidebar . . . . . . . . . . . . . . . . . . . . . 45
6.7. Floor control using sidebars . . . . . . . . . . . . . . . 51
6.8. Whispering or Private Messages . . . . . . . . . . . . . . 52
6.9. Observing and Coaching . . . . . . . . . . . . . . . . . . 53
7. Removing participants and deleting conferences . . . . . . . . 54
7.1. Removing a Party . . . . . . . . . . . . . . . . . . . . . 55
7.2. Deleting a Conference . . . . . . . . . . . . . . . . . . 56
8. Additional Conference Scenarios and Examples . . . . . . . . . 57
8.1. Chat . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.1.1. Basic Chat Operations . . . . . . . . . . . . . . . . 58
8.1.2. Advanced Operations . . . . . . . . . . . . . . . . . 62
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 65
10. Security Considerations . . . . . . . . . . . . . . . . . . . 65
11. Change Summary . . . . . . . . . . . . . . . . . . . . . . . . 65
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 66
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 66
13.1. Normative References . . . . . . . . . . . . . . . . . . . 66
13.2. Informative References . . . . . . . . . . . . . . . . . . 66
Barnes, et al. Expires January 14, 2010 [Page 2]
Internet-Draft CCMP Call Flow Examples July 2009
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 67
Barnes, et al. Expires January 14, 2010 [Page 3]
Internet-Draft CCMP Call Flow Examples July 2009
1. Introduction
This document provides detailed call flows for the scenarios
documented in the Framework for Centralized Conferencing (XCON
Framework) [RFC5239] and the XCON Scenarios [RFC4597]. The XCON
scenarios describe a broad range of use cases taking advantage of the
advanced conferencing capabilities provided by a system realization
of the XCON framework. The call flows document the use of the
interface between a conference control client and a conference
control server using the Centralized Conferencing Manipulation
Protocol (CCMP)[I-D.ietf-xcon-ccmp].
Due to the broad range of functionality provided by the XCON
Framework and the flexibility of the CCMP messaging, these call flows
should not be considered inclusive of all the functionality that can
provided by the XCON Framework and protocol implementations. These
flows represent a sample to provide an overview of the feature rich
capabilities of the XCON framework and CCMP messaging for protocol
developers, software developers and researchers.
2. Conventions
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [RFC2119] and indicate requirement
levels for compliant implementations. In this document, these key
words are used when describing normative functionality based on the
XCON Framework and CCMP.
Note that due to RFC formatting conventions, this document often
splits message details whose content would exceed 72 characters. A
backslash character marks where this line folding has taken place.
This backslash and its trailing CRLF and whitespace would not appear
in the actual protocol contents.
3. Terminology
This document uses the same terminology as found in the referenced
documents, with the following terms and abbreviations used in the
call flows. Also, note that the term "call flows" is used in a very
generic sense in this document since the media is not limited to
voice. The calls supported by the XCON framework and CCMP can
consist of media such as text, voice and video, including multiple
media types in a single active conference.
Barnes, et al. Expires January 14, 2010 [Page 4]
Internet-Draft CCMP Call Flow Examples July 2009
Conferencing and Media Client Client (CMCC): As defined in the XCON
Framework. In the flows in this document, the CMCC is logically
equivalent to the use of UAC as the client notation in the media
control call flows [I-D.ietf-mediactrl-call-flows].
Conferencing Server (ConfS): As defined in the XCON Framework. In
this document, the conferencing server is used interchangeably
with the term Application Server (AS) as used in the Media Control
Architectural Framework [RFC5567]. However, these need not be the
same entities in an implementation.
Media Server (MS): As defined in the Media Control Architectural
Framework [RFC5567].
4. Overview
This document provides a sampling of detailed call flows that can be
implemented based on a system realization of [RFC5239] and
implementation of [I-D.ietf-xcon-ccmp]. This is intended to be a
simple guide on the use of the conference control protocol between
the Conference Server and the Conference Control Client. The
objective is to provide an informational base reference for protocol
developers, software developers and researchers.
This document focuses on the interaction between the Conference (and
Media) Control Client and the Conferencing system, specifically the
Conference Server. The scenarios are based on those described in the
XCON framework, many of which are based on the advanced conferencing
capabilities described in the XCON scenarios. Additional scenarios
have been added to provide examples of other real life scenarios that
are anticipated to be supported by the framework. With the exception
of an initial example with media control messaging, the examples do
not include the details for the media control
[I-D.ietf-mediactrl-mixer-control-package], call signaling or binary
floor control [RFC4582] protocols. This document references the
scenarios in the Media Control call flows
[I-D.ietf-mediactrl-call-flows], SIP Call Control Conferencing
[RFC4579] and binary floor control protocol documents.
5. Conference Creation
This section provides the details associated with the various ways in
which a conference can be created using CCMP and the XCON framework
constructs. As previously mentioned the details of the media
Barnes, et al. Expires January 14, 2010 [Page 5]
Internet-Draft CCMP Call Flow Examples July 2009
control, call signaling and floor control protocols, where
applicable, are annotated in the flows without showing all the
details. However, for clarification purposes, the first example
Section 5.1 provides the details of the media control messaging along
with an example of the standard annotation used throughout the
remainder of this document. In subsequent flows, only this
annotation (identified by lower case letters) is included and the
reader is encouraged to refer to the call flows in the relevant
documents for details for the other protocols. The annotations for
the call signaling are on the left side of the conferencing server
vertical bar and those for the media control messaging are on the
right side.
5.1. Basic Conference Creation
The simplest manner in which a conference can be created is
accomplished by the client sending a "confRequest" message with the
"create" operation as the only parameter to the conference server,
together with the "confUserID" associated with the requesting client
itself. This results in the creation of a default conference, with
an XCON-URI in the form of the "confObjID" parameter, the XCON-UserID
in the form of the "confUserID" parameter (the same already present
in the request) and the data for the conference object in the
"confInfo" parameter all returned in the "confResponse" message.
According to the implementation of the framework, this example may
also add the user that invoked the conference upon creation to the
conference object (e.g., "method" attribute in the "target" element
of "allowed-users-list" may be set to "dial out" for this client
based on the particular conferencing systems default). This is
exactly the case depicted in the figure, which is presented to enrich
the scenario. Note, that depending upon the conferencing system,
this default conference could be specific to the client requesting
the conference and thus may be different for the initiator than other
participants (e.g., IVR interactions in this case which are not
shown).
The specific data for the conference object is returned in the
"confResponse" message in the "confInfo" parameter. This allows the
client (with the appropriate authorization) to manipulate this data
and add additional participants to the conference, as well as change
the data during the conference. In addition, the client may
distribute the conferencing information to other participants
allowing them to join, the details of which are provided in
additional flows.
Clients that are not XCON-aware may join the conference using a
specific signaling interface such as SIP [RFC3261], using the
signaling interface to the conference focus as described in
Barnes, et al. Expires January 14, 2010 [Page 6]
Internet-Draft CCMP Call Flow Examples July 2009
[RFC4579]. However, these details are not shown in the message
flows. The message flows in this document identity the point in the
message flows at which this signaling occurs via the lower case
letter items (i.e., (a)...(x)) along with the appropriate text for
the processing done by the conferencing server.
Barnes, et al. Expires January 14, 2010 [Page 7]
Internet-Draft CCMP Call Flow Examples July 2009
CMCC1 CMCC2 CMCCx CONFS MS
| | | | |
|(1)confRequest(create, confUserID) | |
|-------------------------------------->| |
| | (a)Create +---| |
| | |Conf | | |
| | |Object | | |
| | |& IDs +-->| |
| | | | A1. CONTROL |
| | | |+++++++++++>>|
| | | |(create conf)|--+ (b)
| | | | | | create
| | | | | | conf and
| | | | A2. 200 OK |<-+ its ID
| | | |<<+++++++++++|
| | | |(confid=Y) |
|(2)confResponse(create, success, | |
| confObjID, confUserID | |
| confInfo) | | |
|<--------------------------------------| |
| | | | |
| | (c) Focus +---| |
| | sets up | | |
| | signaling | | |
| | to CMCC1 +-->| |
| | | | |
| | | | B1. CONTROL |
| | | |+++++++++++>>|
| | | | (join CMCC1 |
| | | | <->confY) |
| | | | |
| | | | |--+(d) join
| | | | | | CMCC1 &
| | | | B2.200 OK |<-+ conf Y
| | | |<<+++++++++++|
| | | | |
|<<#################################################>>|
| Now the CMCC1 is mixed in the conference |
|<<#################################################>>|
| | | | |
|******CMCC1 may then manipulate conference data *****|
|****** and add addt'l users, etc. | *****|
' ' ' ' '
' ' ' ' '
' ' ' ' '
Barnes, et al. Expires January 14, 2010 [Page 8]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 1: Create Basic Conference - Complete flow
"Alice" "Bob"
CMCC1 CMCC2 CMCCx CONFS
| | | |
|(1)confRequest(create, confUserID) |
|-------------------------------------->|
| | | |
| | (a)Create +---|
| | |Conf | |
| | |Object | |
| | |& IDs +-->|
| | | |--+ (b) MS
| | | | | creates
| | | | | conf and
| | | |<-+ its ID
| | | | (confid=Y)
|(2)confResponse(create, success |
| confObjID, confUserID |
| confInfo) | |
|<--------------------------------------|
| | | |
| | | |
| | (c) Focus +---|
| | sets up | |
| | signaling | |
| | to CMCC1 +-->|
| | | |
| | | |--+(d) MS joins
| | | | | CMCC1 &
| | | |<-+ conf Y
|<<###################################>>|
| CMCC1 is mixed in the conference |
|<<###################################>>|
| | | |
|**CMCC1 then manipulates conference****|
|** data and add addt'l users, etc. ***|
' ' ' '
' ' ' '
' ' ' '
-
Figure 2: Create Basic Conference - Annotated Flow
Barnes, et al. Expires January 14, 2010 [Page 9]
Internet-Draft CCMP Call Flow Examples July 2009
1. confRequest message:
xcon-userid:alice@confSystem.com
create
2. confResponse message:
xcon:8977794@confSystem.com
xcon-userid:alice@confSystem.com
success
Default conference initiated by Alice
xcon:8977794@confSystem.com
Conference XCON-URI
10
Barnes, et al. Expires January 14, 2010 [Page 10]
Internet-Draft CCMP Call Flow Examples July 2009
audio
allow
Figure 3: Create Basic Conference (Annotated) Detailed Messaging
5.2. Basic Conference Creation for a specific instance of Conference
Information
A conference can also be created by the client sending a
"confRequest" message with the "create" operation, along with the
desired data in the form of the "confInfo" parameter for the
conference to be created. The request, as is the case of all CCMP
requests, also includes the "confUserID" of the requesting entity.
If the conferencing system can support that specific type of
conference (capabilities, etc.), then the request results in the
creation of a conference. In this success case, an XCON-URI in the
form of the "confObjID" parameter and the XCON-UserID in the form of
the "confUserID" parameter (again, the same as the requesting entity)
are returned in the "confResponse" message. The "confInfo" is not
returned unless changes have been made, in which case the
"responseCode" is "modified".
This example also activates the conference upon creation (i.e.,
"method" attribute is set to "dial out" for this client based on the
particular conferencing systems default). Just as before, this is
not to be considered mandatory, since it depends on the
implementation choices of the framework. Note, that depending upon
the conferencing system, this default conference could be specific to
the client requesting the conference and thus may be different for
the initiator than other participants (e.g., IVR interactions in this
case which are not shown).
Barnes, et al. Expires January 14, 2010 [Page 11]
Internet-Draft CCMP Call Flow Examples July 2009
"Alice" "Bob" "Carol" CONFS
| | | |
|(1)confRequest | | |
| (create, confUserID, confInfo) |
|-------------------------------------->|
| | | |
| | (a)Create +---|
| | |Conf | |
| | |Object | |
| | |& IDs +-->|
| | | |--+ (b) MS
| | | | | creates
| | | | | conf and
| | | |<-+ its ID
| | | | (confid=Y)
|(2) confResponse | |
| (create, success, confObjID |
| confUserID)| | |
|<--------------------------------------|
| | | |
| | (c) Focus +---|
| | sets up | |
| | signaling | |
| | to Alice +-->|
| | | |
| | | |--+(d) MS joins
| | | | | Alice &
| | | |<-+ conf Y
| | | |
| | | |
|<<###################################>>|
| Alice is mixed in the conference |
|<<###################################>>|
| | | |
| | (e)Focus +---|
| | sets up | |
| | signaling | |
| | to Bob | |
| | | +-->|
| | | |
| | | |--+(f)MS joins
| | | | | Bob &
| | | |<-+ conf Y
| | | |
| |<<###################>>|
| | Bob is mixed too |
| |<<###################>>|
| | | |
Barnes, et al. Expires January 14, 2010 [Page 12]
Internet-Draft CCMP Call Flow Examples July 2009
| | (g )Focus +---|
| | sets up | |
| | signaling | |
| | to Carol | |
| | CMCCx +-->|
| | | |
| | | |--+(h)MS joins
| | | | | CMCCx &
| | | |<-+ conf Y
| | | |
| | |<<#######>>|
| | |Carol mixed|
| | |<<#######>>|
| | | |
| | | |
| | | |
|<***All parties connected to conf Y***>|
| | | |
| | | |
" " " "
" " " "
" " " "
Figure 4: Create Basic Conference from user provided conference-info
1. confRequest message:
xcon-userid:Alice
create
Dial-out conference initiated by Alice
Barnes, et al. Expires January 14, 2010 [Page 13]
Internet-Draft CCMP Call Flow Examples July 2009
xcon:8977794@confSystem.com
Conference XCON-URI
10
audio
allow
2. confResponse message:
xcon:6845432@confSystem.com
xcon-userid:Alice
success
Barnes, et al. Expires January 14, 2010 [Page 14]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 5: Create Basic Conference Detailed Messaging
5.3. Basic Conference Creation - Cloning an existing Conference
A client can also create another conference by cloning an existing
conference, such as an active conference or conference reseravation.
In this example, the client sends a "confRequest" message with the
"create" operation, along with the "confUserID" and a specific
"confObjID", from which a new conference is to be created by cloning
an existing conference.
An example of how a client can create a conference based on a
blueprint is provided in Section 5.4. The manner by which a client
in this example might learn about a conference reservation or active
conferences is similar to the first step in the blueprint example,
with the exception of specifying querying for different types of
conference objects supported by the specific conferencing system.
For example, in this example, the client clones a conference
reservation (i.e., an inactive conference).
If the conferencing system can support a new instance of the specific
type of conference(capabilities, etc.), then the request results in
the creation of a conference, with an XCON-URI in the form of a new
value in the "confObjID" parameter to reflect the newly cloned
conference object returned in the "confResponse" message. The
"confInfo" is not returned unless there had been changes, in which
case the "responseCode" is "modified".
Barnes, et al. Expires January 14, 2010 [Page 15]
Internet-Draft CCMP Call Flow Examples July 2009
"Alice" ConfS
| |
|(1) confRequest (create, |
| confObjID, confUserId) |
|------------------------------>|
| (a)Create +---|
| Conf | |
| Object | |
| & IDs +-->|
| |--+ (b) MS
| | | creates
| | | conf and
| |<-+ its ID
| | (confid=Y)
| |
|(2) confResponse |
| ( create, success, |
| confObjID*, confUserID) |
|<------------------------------|
| |
Figure 6: Create Basic Conference - Clone
1. "Alice" sends a confRequest message to clone a conference based
on an existing conference reservation. "Alice" indicates this
conference should be cloned from the specified parent conference
represented by the "confObjID" in the request.
2. Upon receipt of the confRequest message containing a "create"
operation and "confObjID", the conferencing system ensures that
the "confObjID" received is valid. The conferencing system
determines the appropriate read/write access of any users to be
added to a conference based on this "confObjID" (using
membership, roles, etc.). The conferencing system uses the
received "confObjID" to clone a conference reservation. The
conferencing system also reserves or allocates a new "confObjID"
(called "confObjID*" in Figure 6) to be used for the cloned
conference object. This new identifier is of course different
from the one associated with the conference to be cloned, since
it represents a different conference object. Any subsequent
protocol requests from any of the members of the conference must
address this new identifier. The conferencing system maintains
the mapping between this conference ID and the parent conference
object ID associated with the reservation through the conference
instance, and this mapping is explicitly addressed through the
Barnes, et al. Expires January 14, 2010 [Page 16]
Internet-Draft CCMP Call Flow Examples July 2009
"cloning-parent" element of the "conference-description" in the
new conference object.
1. confRequest message:
xcon:6845432@confSystem.com
xcon-userid:Alice
create
2. confResponse message:
xcon:8977794@confSystem.com
xcon-userid:Alice
create
success
New conference by Alice cloned from 6845432
xcon:6845432@confSystem.com
Barnes, et al. Expires January 14, 2010 [Page 17]
Internet-Draft CCMP Call Flow Examples July 2009
xcon:8977794@confSystem.com
conference xcon-uri
8601
10
audio
allow
confirm
Figure 7: Create Basic Conference (Clone) Detailed Messaging
5.4. Conference Creation using Blueprints
Figure 8 provides an example of one client "Alice" determining the
conference blueprints available for a particular conferencing system
and creating a conference based on the desired blueprint.
CMCC "Alice" ConfS
| |
| (1) blueprintsRequest |
| (confUserID) |
Barnes, et al. Expires January 14, 2010 [Page 18]
Internet-Draft CCMP Call Flow Examples July 2009
|------------------------------>|
| |
| (2) blueprintsResponse |
| (confUserID, success, |
| blueprintsInfo) |
|<------------------------------|
| |
|--+ |
| | choose preferred |
| | blueprint from the |
| | list (blueprintName) |
|<-+ |
| |
| (3) blueprintRequest |
| (retrieve, confObjID, |
| confUserID) |
|------------------------------>|
| |
| (4) blueprintResponse |
| (success, confObjID,|
| confUserID,confInfo)|
|<------------------------------|
| |
| (5) confRequest (create, |
| confobjID) |
|------------------------------>|
| |
| (a)Create +---|
| Conf | |
| Object | |
| & IDs +-->|
| |--+ (b) MS
| | | creates
| | | conf and
| |<-+ its ID
| | (confid=Y)
|(6) confResponse |
| (create, success, |
| confObjID*, confUserID) |
|<------------------------------|
| |
| |
| |
. .
. .
Barnes, et al. Expires January 14, 2010 [Page 19]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 8: Client Creation of Conference using Blueprints
1. "Alice" first sends a "blueprintsRequest" message to the
conferencing system identified by the conference server discovery
process. Upon receipt of the "blueprintsRequest", the
conferencing system would first authenticate "Alice" and then
ensure that "Alice" has the appropriate authority based on system
policies to receive any blueprints supported by that system.
2. Any blueprint that "Alice" is authorized to use are returned in a
"blueprintsResponse" message in the "blueprintsInfo" attribute.
3. Upon receipt of the "blueprintsResponse" containing the
blueprints, "Alice" determines which blueprint to use for the
conference to be created. "Alice" sends a "blueprintRequest"
message to get the specific blueprint as identified by the
"confObjID".
4. The conferencing system returns the "confInfo" associated with
the specific blueprint as identified by the 'confObjID' in the
"blueprintResponse" message.
5. "Alice" then sends a "confRequest" with a "create" operation to
the conferencing system to create a conference reservation,
including the appropriate "blueprintName" and associated
"confObjID".
6. Upon receipt of the "confRequest" message with a "create"
operation, the conferencing system uses the received blueprint to
clone a conference, allocating a new "confObjID" (again called
"confObjID* in the example). The conferencing server then sends
a "confResponse" message including the new "confObjID*"
associated with the newly created conference instance. Upon
receipt of the "confResponse" message, "Alice" can now add other
users to the conference .
[Editors' Note: unlike what happened when cloning an existing
conference as presented in the previous subsection, no "cloning-
parent" is set in the response to the cloning of a blueprint. Is
this a desired behaviour? Or is this implementation specific?
Should the Data Model clarify the behaviour for such an event?]
1. blueprintsRequest message:
xcon-userid:Alice
2. blueprintsResponse message:
xcon-userid:Alice
success
xcon:AudioRoom@confSystem.com
AudioRoom
Simple Room:
conference room with public access,
where only audio is available, more users
can talk at the same time
and the requests for the AudioFloor
are automatically accepted.
xcon:VideoRoom@confSystem.com
VideoRoom
Video Room:
conference room with public access,
where both audio and video are available,
8 users can talk and be seen at the same time,
and the floor requests are automatically accepted.
xcon:AudioConference1@confSystem.com
AudioConference1
Public Audio Conference:
conference with public access,
Barnes, et al. Expires January 14, 2010 [Page 21]
Internet-Draft CCMP Call Flow Examples July 2009
where only audio is available,
only one user can talk at the same time,
and the requests for the AudioFloor MUST
be accepted by a Chair.
xcon:VideoConference1@confSystem.com
VideoConference1
Public Video Conference: conference
where both audio and video are available,
only one user can talk
xcon:AudioConference2@confSystem.com
AudioConference2
Basic Audio Conference:
conference with private access,
where only audio is available,
only one user can talk at the same time,
and the requests for the AudioFloor MUST
be accepted by a Chair.
3. blueprintRequest message:
xcon:AudioRoom@confSystem.com
xcon-userid:Alice
retrieve
4. blueprintResponse message:
Barnes, et al. Expires January 14, 2010 [Page 22]
Internet-Draft CCMP Call Flow Examples July 2009
retrieve
xcon:AudioRoom@confSystem.com
xcon-userid:Alice
success
AudioRoom
2
audio
allow
confirm
5. confRequest message:
Barnes, et al. Expires January 14, 2010 [Page 23]
Internet-Draft CCMP Call Flow Examples July 2009
xcon:AudioRoom@confSystem.com
xcon-userid:Alice
create
6. confResponse message:
xcon:8977794@confSystem.com
xcon-userid:Alice
create
success
New conference by Alice cloned from AudioRoom
xcon:8977794@confSystem.com
conference xcon-uri
8601
10
audio
Barnes, et al. Expires January 14, 2010 [Page 24]
Internet-Draft CCMP Call Flow Examples July 2009
allow
confirm
Figure 9: Create Conference (Blueprint) Detailed Messaging
6. General Conference scenarios and examples
The following scenarios are based on those documented in the XCON
framework. The examples assume that a conference has already been
correctly established, with media, if applicable, per one of the
examples in Section 5.
6.1. Conference Announcements and Recordings
In this example, as shown in Figure 10 "Alice" is joining "Bob"'s
conference that requires that she first enter a pass code. After
successfully entering the passcode, an announcement prompts "Alice to
speak her name so it can be recorded. When "Alice" is added to the
active conference, the recording is played back to all the existing
participants. A very similar example is presented in Figure 33 of
[I-D.ietf-mediactrl-call-flows].
Barnes, et al. Expires January 14, 2010 [Page 25]
Internet-Draft CCMP Call Flow Examples July 2009
CCMC "Alice" ConfS MS
| | |
|(1)userRequest (create, | |
| confObjID, userInfo) | |
|--------------------------->| |
| |--+ Alice is |
| | | new in the |
| |<-+ system (create |
| | confUserID) |
| ConfS handles +--| |
| SIP signaling | | |
| (Alice<->ConfS<->MS) +->| |
| | |
| |--+ A password is |
| | | required for |
| |<-+ that conference |
| | |
| | Request IVR menu (PIN) |
| |--------------------------->|
| | |
|<========= MS gets PIN from Alice through DTMF =========>|
| | |
| | Provided PIN is... |
| |<---------------------------|
| Check +--| |
| PIN | | |
| +->| |
| |--+ Alice must |
| | | record her |
| |<-+ name |
| | |
| | Request name recording |
| |--------------------------->|
| | |
|<========= MS records Alice's audio RTP (name) =========>|
| | |
| | Audio recording |
| |<---------------------------|
| Complete +--| |
| creation | | |
| of Alice +->| |
| | |
| (2) userResponse | |
| (create, success | |
| confObjID, confUserID) |
|<---------------------------| |
| | |
Barnes, et al. Expires January 14, 2010 [Page 26]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 10: Recording and Announcements
1. Upon receipt of the userRequest from "Alice" to be added to
"Bob's" conference (i.e., an "update" operation on "Bob's"
conference object), the conferencing system determines that a
password is required for this specific conference. Thus an
announcement asking "Alice" to enter the password is provided to
"Alice". This may be achieved by means of typical IVR
fucntionality. Once "Alice" enters the password, it is validated
against the policies associated with "Bob's" active conference.
The conferencing system then connects to a server which prompts
and records "Alice's" name. The conferencing system must also
determine whether "Alice" is already a user of this conferencing
system or whether she is a new user. In this case, "Alice" is a
new user for this conferencing system, so a conference user
identifier is created for "Alice". Based upon the addressing
information provided by "Alice", the call signaling to add
"Alice" to the conference is instigated through the Focus.
2. The conference server sends "Alice" a userResponse message which
includes the "confUserID" assigned by the conferencing system for
"Alice". This would allow "Alice" to later perform operations on
the conference (if she were to have the appropriate policies),
including registering for event notifications associated with the
conference. Once the call signaling indicates that "Alice" has
been successfully added to the specific conference, per updates
to the state, and depending upon the policies, other participants
(e.g., "Bob") are notified of the addition of "Alice" to the
conference via the conference notification service and an
announcement is provided to all the participants indicating that
"Alice" has joined the conference.
[Editors' Note: this example showed the case of a private conference,
where access required the knowledge of a password. In this case,
access to the conference is handled by delegating the control of such
value to the signaling/media. Nevertheless, the "password" value is
present in CCMP requests as well, according to the latest
specification. Should the presented flow make use of the CCMP
password check alone, or is it ok to leave the signaling/media checks
as well? What is the expected best common practice when dealing with
such a scenario?]
(CCMP Messaging details not available yet).
Figure 11: Announcement Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 27]
Internet-Draft CCMP Call Flow Examples July 2009
6.2. Monitoring for DTMF
The conferencing system also needs the capability to monitor for DTMF
from each individual participant. This would typically be used to
enter the identifier and/or access code for joining a specific
conference.
An example of DTMF monitoring, within the context of the framework
elements, is shown in Figure 10. A typical way for the conferencing
system to be aware of all the DTMF interactions within the context of
conferences it is responsible for, is making use of the MEDIACTRL
architecture for what regards media manipulation. Examples in that
sense (specifically for what concerns DTMF interception in conference
instances) are presented in [I-D.ietf-mediactrl-call-flows].
6.3. Adding a Party
In this example, "Alice" wants to add "Bob" to an established
conference. In the following example we assume "Bob" is a new user
to the system, which means "Alice" also needs to provide details
about him. In fact, the case of "Bob" already present as a user in
the conferencing system is much easier to address, and will be
discussed later on.
Barnes, et al. Expires January 14, 2010 [Page 28]
Internet-Draft CCMP Call Flow Examples July 2009
"Alice" "Bob"
CMCC1 CMCC2 CMCCx ConfS
| | | |
|(1) userRequest(create, | |
| confObjID, confUserID, | |
| userInfo) | | |
|-------------------------------------->|
| | | |
| | (a) Create +---|
| | | "Bob" | |
| | | as a | |
| | | user +-->|
| | | |
|(2) userResponse(create, success |
| confObjID, confUserID |
| userInfo) | |
|<--------------------------------------|
| | | |
| | | (b) Focus |
| | | sets up |
| | | signaling |
| | | to "Bob" |
| |<----------------------|
| | | |
| | | (c) Notify|
| | | ("Bob just|
| | | joined") |
| | |<----------|
| | | |
' ' ' '
' ' ' '
' ' ' '
Figure 12: Client Manipulation of Conference - Add a party
1. "Alice" sends a userRequest message with an operation of "create"
to add "Bob" to the specific conference as identified by the
confObjID. The "create" operation also makes sure that "Bob" is
created as a user in the whole conferencing system. This is done
by adding a "userInfo" element describing "Bob" as a user. This
is needed in order to let the conferencing system be aware of
"Bob"'s characteristics. In case Bob was already a registered
user, "Alice" would just have referenced him through his XCON
UserID, without providing the additional "userInfo". In fact,
that information (including, for instance, "Bob"'s SIP URI to be
used subsequently for dial-out) would be obtained by referencing
the extant registration. The conference server ensures that
Barnes, et al. Expires January 14, 2010 [Page 29]
Internet-Draft CCMP Call Flow Examples July 2009
"Alice" has the appropriate authority based on the policies
associated with that specific conference object to perform the
operation. As mentioned before, a new Conference User Identifier
is created for Bob, and the "userInfo" is used to update the
conference object accordingly.
2. In the presented example, the call signaling to add "Bob" to the
conference is instigated through the Focus as well. Please
notice that this is implementation specific. In fact, a
conferencing system may accomplish different actions after the
user creation, just as it may do nothing at all. Among the
possible actions, for instance "Bob" may be added as a "target"
element to the "allowed-users-list" element, whose joining
"method" may be either "dial-in" or "dial-out". Besides, out-of-
band notification mechanisms may be involved as well, e.g. to
notify "Bob" via mail of the new conference, including details as
the date, password, expected participants and so on.
(c) To conclude the overview on this scenario, once "Bob" has been
successfully added to the specified conference, per updates to the
state, and depending upon the policies, other participants
(including "Bob" himself) may be notified of the addition of "Bob"
to the conference via the Conference Notification Service.
1. userRequest message:
xcon-userid:alice@confSystem.com
xcon:8977878@confSystem.com
create
Bob
mailto:bob.depippis@example.com
Bob's email
Bob's laptop
Barnes, et al. Expires January 14, 2010 [Page 30]
Internet-Draft CCMP Call Flow Examples July 2009
2. userResponse message:
xcon-userid:alice@confSystem.com
xcon:8977878@confSystem.com
create
success
Bob
mailto:bob.depippis@example.com
Bob's email
Bob's laptop
Figure 13: Add Party Message Details
6.4. Muting a Party
This section provides an example of the muting of a party in an
active conference. The unmuting would involve the identical CCMP
message flow. Although, in the case that floor control is involved,
whether or not a particular conference client can unmute itself must
be considered by the conferencing system.
Barnes, et al. Expires January 14, 2010 [Page 31]
Internet-Draft CCMP Call Flow Examples July 2009
[Editors' Note: The interaction between CCMP and floor control
should be carefully considered. In fact, if floor control is
achieved by means of BFCP [RFC4582], this means could conflict
with the functionality provided by CCMP. A typical example would
be Alice (the CCMP moderator) unmuting Bob by means of CCMP. Such
approach would conflict with BFCP, considering that if a BFCP
chair wants to subsequently revoke the floor from Bob, it cannot
do it, since no FloorRequestID would be associated with the
previous unmute achieved by Alice. Besides, unmuting via CCMP
would bypass the Floor Control Server floor queues. How should we
handle this? Should we envisage CCMP muting/unmuting as a wrapper
to BFCP whenever floor control is involved? Another solution
might be handling CCMP- and BFCP-based media control as multiple
layers: i.e., a participant may have the BFCP floor granted, but
be muted by means of CCMP. If so, he would still be muted in the
conference, and would only be unmuted if both the protocols
allowed for this.]
Figure 14 provides an example of one client "Alice" impacting the
media state of another client "Bob". This example assumes an
established conference. In this example, the client, "Alice" whose
Role is "moderator" of the conference, wants to mute "Bob" on a
medium-size multi-party conference, as his device is not muted (and
he's obviously not listening to the call) and background noise in his
office environment is disruptive to the conference. BFCP floor
control is assumed not to be involved.
Barnes, et al. Expires January 14, 2010 [Page 32]
Internet-Draft CCMP Call Flow Examples July 2009
"Alice" "Bob"
CMCC1 CMCC2 CMCCx ConfS MS
| | | | |
|(1) userRequest(update, | | |
| confObjID, confUserID, | | |
| userInfo) | | | |
|------------------------------.-------->| |
| | | | Mute Bob |
| | | |----------------->|
| | | | 200 OK |
| | | |<-----------------|
| | | | |
| |<====== XXX Bob excluded from mix XXX ====>|
| | | | |
| | (a) Update +---| |
| | Bob in | | |
| | Data Model | | |
| | (muted) +-->| |
| | | | |
|(2) userResponse(update, success | |
| confObjID, confUserID) | |
|<---------------------------------------| |
| | | | |
| | | (b) Notify | |
| | | ("Bob is | |
| | | muted") | |
| | |<-----------| |
| | | | |
' ' ' ' '
' ' ' ' '
' ' ' ' '
Figure 14: Client Manipulation of Conference - Mute a party
1. Upon receipt of userRequest message with an update operation and
the userInfo with the "status" field in the "media" element for
"Bob" set to "revconly". The Conference Server ensures that
"Alice" has the appropriate authority based on the policies
associated with that specific conference object to perform the
operation and updates the userInfo in the conference object
reflect that "Bob"s media is not to be mixed with the conference
media. In case the Conference Server relies on a remote Media
Server for its multimedia functionality, it subsequently changes
"Bob"'s media profile accordingly by means of the related
protocol interaction with the MS. An example describing a
possible way of dealing with such a situation using the Media
Server Control architecture is described in
Barnes, et al. Expires January 14, 2010 [Page 33]
Internet-Draft CCMP Call Flow Examples July 2009
[I-D.ietf-mediactrl-call-flows], at "Simple Bridging: Framework
Transactions (2)".
2. A userResponse message with a responseCode of "success" is then
sent to "Alice". Depending upon the policies, tne conference
server may notify other participants (including "Bob") of this
update via the Conference Notification Service.
Barnes, et al. Expires January 14, 2010 [Page 34]
Internet-Draft CCMP Call Flow Examples July 2009
1. userRequest message:
xcon-userid:alice@confSystem.com
xcon:8977878@confSystem.com
update
123
recvonly
2. userResponse message:
xcon-userid:alice@confSystem.com
xcon:8977878@confSystem.com
update
success
Figure 15: Mute Message Details
Barnes, et al. Expires January 14, 2010 [Page 35]
Internet-Draft CCMP Call Flow Examples July 2009
6.5. Internal Sidebar
Figure 16 provides an example of one client "Alice" involved in
active conference with "Bob" and "Carol". "Alice" wants to create a
sidebar to have a side discussion with "Bob" while still viewing the
video associated with the main conference. Alternatively, the audio
from the main conference could be maintained at a reduced volume.
"Alice" initiates the sidebar by sending a request to the
conferencing system to create a conference reservation based upon the
active conference object. "Alice" and "Bob" would remain on the
roster of the main conference, such that other participants could be
aware of their participation in the main conference, while an
internal-sidebar conference is occurring. Besides, "Bob" decides
that he is not interested in still receiving the conference audio in
background (not even at a lower volume as "Alice" configured) and so
modifies the sidebar in order to make that stream inactive for him.
"Alice" "Bob" ConfS
| | |
|(1) sidebarByValRequest |
| (create, confUserID, |
| confObjID) | |
|--------------------------------------------->|
| | |
| | (a) Create +---|
| | sidebar-by-val | |
| | (new conf obj | |
| | cloned from +-->|
| | confObjID) | Sidebar now has
| | | id confObjID*
|(2) sidebarByValResponse | (parent mapping
| (create, success, confObjID* | conf<->sidebar)
| confUserID, sidebarByValInfo) |
|<---------------------------------------------|
| | |
|(3) sidebarByValRequest |
| (update, confUserID, |
| confObjID*, sidebarByValInfo) |
|--------------------------------------------->|
| | |
| | (b) Update +---|
| | sidebar-by-val | |
| | (media, users | |
| | etc.) +-->|
| | | Sidebar is
| | | modified
Barnes, et al. Expires January 14, 2010 [Page 36]
Internet-Draft CCMP Call Flow Examples July 2009
|(4) sidebarByValResponse |
| (update, success, confObjID* |
| confUserID) | |
|<---------------------------------------------|
| | |
| |(5) userRequest |
| | (update, confUserID',|
| | confObjID*, |
| | userInfo) |
| |---------------------->|
| | |
| | (c) Update +---|
| | user settings | |
| | (Bob's media) | |
| | +-->|
| | | Sidebar is modified
| | | (original audio
| | | inactive for Bob)
| |(6) userResponse |
| | (update, success |
| | confObjID*, |
| | confUserID') |
| |<----------------------|
| | |
" " "
" " "
" " "
Figure 16: Client Creation of a Sidebar Conference
1. Upon receipt of CCMP sidebarByValRequest message to "reserve" a
new sidebar conference based upon the confObjID received in the
request, the conferencing system uses the confObjID to clone a
conference reservation for the sidebar. The sidebar reservation
is NOT independent of the active conference (i.e., parent). The
conferencing system also reserves or allocates a new confObjID to
be used for any subsequent protocol requests from any of the
members of the conference.
2. The relationship information is provided in the
sidebarByValResponse message, specifically in the "sidebar-
parent" element. A dump of the complete representation of the
main/parent conference is provided below as well to show how the
cloning process for the creation of the sidebar could take place.
3. Upon receipt of the sidebarByValResponse message to reserve the
conference, "Alice" can now create an active conference using
Barnes, et al. Expires January 14, 2010 [Page 37]
Internet-Draft CCMP Call Flow Examples July 2009
that reservation, or create additional reservations based upon
the existing reservations. In this example, "Alice" wants only
"Bob" to be involved in the sidebar, thus she manipulates the
membership so that only the two of them appear in the "allowed-
users-list" section. "Alice" also wants both audio and the video
from the original conference to be available in the sidebar. For
what concerns the media belonging to the sidebar itself, "Alice"
wants the audio to be restricted to the participants in the
sidebar (that is, her and "Bob"). Additionally, "Alice"
manipulates the media values to recieve the audio from the main
conference at a reduced volume, so that the communication between
her and "Bob" isn't affected. "Alice" sends a
sidebarByValRequest message with an operation of "update" along
with the sidebarByValInfo in the reservation, to create an active
conference.
4. Upon receipt of the sidebarByValRequest to update the reservation
to create an active conference for the sidebar, as identified by
the sidebar conference object ID, the conference server ensures
that "Alice" has the appropriate authority based on the policies
associated with that specific conference object to perform the
operation. The conference server must also validate the updated
information in the reservation, ensuring that a member like "Bob"
is already a user of this conference server. Once the data for
the confObjID is updated, the conference server sends a
sidebarByValResponse to "Alice". Depending upon the policies,
the initiator of the request (i.e., "Alice") and the participants
in the sidebar (i.e., "Bob") may be notified of his addition to
the sidebar via the conference notification service.
5. At this point, "Bob" sends a userRequest message to the
conference server with an operation of "update" to completely
disable the background audio from the parent conference, since it
prevents him from understanding what "Alice" says in the sidebar.
6. Notice that "Bob's" request only changes the media perspective
for "Bob". "Alice" keeps on receiving both the audio from "Bob"
and the background from the parent conference. This request may
be relayed by the conference server to the Media Server handling
the mixing, if present. Upon completion of the change, the
conference server sends a "userResponse" message to "Bob".
Depending upon the policies, the initiator of the request (i.e.,
"Bob") and the participants in the sidebar (i.e., "Alice") may be
notified of this change via the conference notification service.
That said, let's consider the following conference object:
Barnes, et al. Expires January 14, 2010 [Page 38]
Internet-Draft CCMP Call Flow Examples July 2009
MAIN CONFERENCE
sip:8977878@confSystem.com
conference sip uri
main conference audio
audio
sendrecv
main conference video
video
sendrecv
single-view
true
Alice
123
sendrecv
456
sendrecv
Barnes, et al. Expires January 14, 2010 [Page 39]
Internet-Draft CCMP Call Flow Examples July 2009
Bob
123
sendrecv
456
sendrecv
Carol
123
sendrecv
456
sendrecv
This is the representation of the conference the sidebar is going to
be created in. As such, it will be used by the conferencing system
in order to create the new conference object associated with the
sidebar. In fact, the sidebar creation happens through a cloning of
the parent conference. Once the sidebar is created, an "update"
makes sure that the sidebar is customized as needed. The following
protocol dump makes the process clearer.
1. sidebarByValRequest (create)
xcon-userid:alice@confSystem.com
Barnes, et al. Expires January 14, 2010 [Page 40]
Internet-Draft CCMP Call Flow Examples July 2009
xcon:8977878@confSystem.com
create
2. sidebarByValResponse (create success)
xcon-userid:alice@confSystem.com
xcon:8974545@confSystem.com
success
SIDEBAR CONFERENCE registered by alice
xcon:8977878@confSystem.com
main conference audio
audio
sendrecv
main conference video
video
sendrecv
false
Barnes, et al. Expires January 14, 2010 [Page 41]
Internet-Draft CCMP Call Flow Examples July 2009
3. sidebarByValRequest (update)
xcon-userid:alice@confSystem.com
xcon:8974545@confSystem.com
update
private sidebar alice - bob
main conference audio
audio
recvonly
-60
main conference video
Barnes, et al. Expires January 14, 2010 [Page 42]
Internet-Draft CCMP Call Flow Examples July 2009
video
recvonly
sidebar audio
audio
sendrecv
sidebar video
video
sendrecv
4. sidebarByValResponse (update success)
xcon-userid:alice@confSystem.com
xcon:8974545@confSystem.com
update
success
Barnes, et al. Expires January 14, 2010 [Page 43]
Internet-Draft CCMP Call Flow Examples July 2009
5. userRequest (Bob's media)
xcon-userid:bob@confSystem.com
xcon:8974545@confSystem.com
update
main conference audio
123
inactive
6. userResponse (update success)
xcon-userid:bob@confSystem.com
xcon:8974545@confSystem.com
update
success
Figure 17: Internal Sidebar Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 44]
Internet-Draft CCMP Call Flow Examples July 2009
6.6. External Sidebar
Figure 18 provides an example of a different approach towards
sidebar. In this scenario, one client, "Alice", is involved in an
active conference with "Bob", "Carol", "David" and "Ethel". "Alice"
gets an important text message via a whisper from "Bob" that a
critical customer needs to talk to "Alice", "Bob" and "Ethel".
"Alice" creates a sidebar to have a side discussion with the customer
"Fred" including the participants in the current conference with the
exception of "Carol" and "David", who remain in the active
conference. The difference from the previous scenario is that "Fred"
is not part of the parent conference: this means that different
policies might be involved, considering that "Fred" may access
information coming from the parent conference, in case the sidebar
was configured accordingly. For this reason, in this scenario we
assume that "Alice" disables all the media from the original (parent)
conference within the sidebar. This means that, while in the
previous example "Alice" and "Bob" still heard the audio from the
main conference in background, this time no background is made
available. "Alice" initiates the sidebar by sending a request to the
conferencing system to create a conference reservation based upon the
active conference object. "Alice", "Bob" and "Ethel" would remain on
the roster of the main conference in a hold state. Whether or not
the hold state of these participants is visible to other participants
depends upon the individual and local policy.
"Alice" "Bob" ConfS
| | |
|(1) sidebarByRefRequest |
| (create, confUserID, |
| confObjID) | |
|--------------------------------------------->|
| | |
| | (a) Create +---|
| | sidebar-by-ref | |
| | (new conf obj | |
| | cloned from +-->|
| | confObjID) | Sidebar now has
| | | id confObjID*
|(2) sidebarByRefResponse | (parent mapping
| (create, success, confObjID* | conf<->sidebar)
| confUserID, sidebarByRefInfo) |
|<---------------------------------------------|
| | |
|(3) sidebarByRefRequest |
| (update, confUserID, |
Barnes, et al. Expires January 14, 2010 [Page 45]
Internet-Draft CCMP Call Flow Examples July 2009
| confObjID*, sidebarByRefInfo) |
|--------------------------------------------->|
| | |
| | (b) Create +---|
| | new user for | |
| | "Fred" | |
| | +-->|
| | |
| | (c) Update +---|
| | sidebar-by-val | |
| | (media, users | |
| | policy, etc.) +-->|
| | | Sidebar is modified:
| | | no media from the
| | | parent conference is
| | | available to anyone
|(4) sidebarByRefResponse |
| (update, success, confObjID* |
| confUserID) | |
|<---------------------------------------------|
| | |
| | Notify ("Fred" |
| | added to |
| | sidebar users) |
| |<----------------------|
| | |
" " "
" " "
" " "
Figure 18: Client Creation of an External Sidebar
1. Upon receipt of the "sidebarByRefRequest" message to create a new
sidebar conference, based upon the active conference specified by
"confObjID" in the request, the conferencing system uses the
received active conference to clone a conference reservation for
the sidebar. The sidebar reservation is NOT independent of the
active conference (i.e., parent). The conferencing system as
before reserves or allocates a conference ID (confObjID*) to be
used for any subsequent protocol requests from any of the members
of the conference. The conferencing system maintains the mapping
between this conference ID and the conference object ID
associated with the sidebar reservation through the conference
instance. Just as before, this mapping is mantained in "sidebar-
parent".
Barnes, et al. Expires January 14, 2010 [Page 46]
Internet-Draft CCMP Call Flow Examples July 2009
2. Upon receipt of the "sidebarByRefResponse" message, which
acknowledges the successful creation of the sidebar object,
"Alice" decides that only "Bob" and "Ethel", along with the new
participant "Fred" are to be involved in the sidebar. Thus she
manipulates the membership accordingly. "Alice" also sets the
media in the "conference-info" such that the participants in the
sidebar don't receive any media from the main conference. All
these settings are provided to the conferencing system by means
of a new "sidebarByRefRequest" message, with an "update"
operation.
3. "Alice" sends the aforementioned "sidebarByRefRequest" to update
the information in the reservation and to create an active
conference. Upon receipt of the "sidebarByRefRequest" with an
operation of "update", the conferencing system ensures that
"Alice" has the appropriate authority based on the policies
associated with that specific conference object to perform the
operation. The conferencing system also validates the updated
information in the reservation. Since "Fred" is a new user for
this conferencing system, a conference user identifier is created
for "Fred". Specifically, "Fred" is added to the conference by
only providing his SIP URI. Based upon the addressing
information provided for "Fred" by "Alice", the call signaling to
add "Fred" to the conference may be instigated through the Focus
(e.g. if "Fred" had a "dial-out" method set as the target for
him) at the actual activation of the sidebar.
4. The conference server sends a "sidebarByRefResponse" message and,
depending upon the policies, the initiator of the request (i.e.,
"Alice") and the participants in the sidebar (i.e., "Bob" and
"Ethel") may be notified of his addition to the sidebar via the
conference notification service.
1. sidebarByRefRequest (create)
xcon-userid:alice@confSystem.com
xcon:8977878@confSystem.com
create
Barnes, et al. Expires January 14, 2010 [Page 47]
Internet-Draft CCMP Call Flow Examples July 2009
2. sidebarByRefResponse (create success)
xcon-userid:alice@confSystem.com
xcon:8971212@confSystem.com
success
SIDEBAR CONFERENCE registered by alice
xcon:8977878@confSystem.com
main conference audio
audio
sendrecv
main conference video
video
sendrecv
false
3. sidebarByRefRequest (update)
xcon-userid:alice@confSystem.com
xcon:8971212@confSystem.com
update
sidebar alice, bob, ethel & fred
main conference audio
audio
inactive
main conference video
video
Barnes, et al. Expires January 14, 2010 [Page 49]
Internet-Draft CCMP Call Flow Examples July 2009
inactive
sidebar audio
audio
sendrecv
sidebar video
video
sendrecv
single-view
false
4. sidebarByRefResponse (update success)
xcon-userid:alice@confSystem.com
xcon:8971212@confSystem.com
update
success
Figure 19: External Sidebar Messaging Details
6.7. Floor control using sidebars
Floor control with sidebars can be used to realize conferencing
scenario such as an analyst briefing. In this scenario, the
conference call has a panel of speakers who are allowed to talk in
the main conference. The other participants are the analysts, who
are not allowed to speak unless they have the floor. To request
access to the floor, they have to join a new sidebar with the
moderator and ask their question. The moderator can also whisper to
each analyst what their status/position in the floor control queue,
similar to the example in Figure 22. It should be noted that other
mechanisms which don't make use of sidebars could be used for floor
control such as those detailed in BFCP.
Figure 20 provides an example of the configuration involved for this
type of conference. As in the previous sidebar examples, there is
the main conference along with a sidebar. "Alice" and "Bob" are the
main participants in the conference, with "A1", "A2" and "A3"
representing the analysts. The sidebar remains active throughout the
conference, with the moderator, "Carol", serving as the chair. As
discussed previously, the sidebar conference is NOT independent of
the active conference (i.e., parent). The analysts are provided the
conference object ID associated with the active sidebar when they
join the main conference. The conferencing system also allocates a
conference ID to be used for any subsequent manipulations of the
sidebar conference. The conferencing system maintains the mapping
between this conference ID and the conference object ID associated
with the active sidebar conference through the conference instance.
The analysts are permanently muted while in the main conference. The
analysts are moved to the sidebar when they wish to speak. Only one
analyst is given the floor at a given time. All participants in the
main conference receive audio from the sidebar conference, as well as
audio provided by the panelists in the main conference.
Barnes, et al. Expires January 14, 2010 [Page 51]
Internet-Draft CCMP Call Flow Examples July 2009
(To Be added).
Figure 20: Floor Control with sidebars
1. "A1" wishes to ask a question, so he sends a Floor Request
message to the floor control server.
2. Upon receipt of the request, the floor control server notifies
the moderator, "Carol" of the active sidebar conference, whose
serving as the floor chair.
3. Since no other analysts have yet requested the floor, "Carol"
indicates to the floor control server that "A1" may be granted
the floor.
(CCMP Messaging details not available yet).
Figure 21: Floor Control Messaging Details
6.8. Whispering or Private Messages
The case of private messages can be handled as a sidebar with just
two participants, similar to the example in section Section 6.5, but
rather than using audio within the sidebar, "Alice" could add an
additional text based media stream to the sidebar. The other
context, referred to as whisper, in this document refers to
situations involving one time media targetted to specific user(s).
An example of a whisper would be an announcement injected only to the
conference chair or to a new participant joining a conference.
Figure 22 provides an example of one user "Alice" whose chairing a
fixed length conference with "Bob" and "Carol". The configuration is
such that only the chair is providing a warning when there is only 10
minutes left in the conference. At that time, "Alice" is moved into
a sidebar created by the conferencing system and only "Alice"
receives the announcement.
(To Be completed).
Barnes, et al. Expires January 14, 2010 [Page 52]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 22: Whisper
1. When the conferencing system determines that there is only 10
minutes left in the conference which "Alice" is chairing, the
conferencing system directly creates an active sidebar
conference, based on the active conference associated with
"Alice". This sidebar conference is NOT independent of the
active conference (i.e., parent). The conferencing system also
allocates a conference ID to be used for any subsequent
manipulations of the sidebar conference.
2. Immediately upon creation of the active sidebar conference, the
announcement media is provided to "Alice". Depending upon the
policies, Alice may be notified of her addition to the sidebar
via the conference notification service. "Alice" continues to
receive the media from the main conference.
3. Upon completion of the announcement, "Alice" is removed from the
siebar and the sidebar conference is deleted.
4. "Alice" is notified of her removal from the sidebar via the
conference notification service.
(CCMP Messaging details not available yet).
Figure 23: Whisper Messaging Details
6.9. Observing and Coaching
An example of observing and coaching is shown in figure Figure 24.
In this example, call center agent "Bob" is involved in a conference
with customer "Carol". Since "Bob" is a new agent and "Alice" sees
that he has been on the call with "Carol" for longer than normal, she
decides to observe the call and coach "Bob" as necessary.
(Figure not available yet).
Figure 24: Supervisor Creating a Sidebar for Observing/Coaching
1. Upon receipt of the confRequest from "Alice" to "create" a new
sidebar conference from the confObjID received in the request,
the conferencing system uses the received active conference to
Barnes, et al. Expires January 14, 2010 [Page 53]
Internet-Draft CCMP Call Flow Examples July 2009
clone a conference reservation for the sidebar. The conferencing
system also allocates a conference ID to be used for any
subsequent protocol requests from any of the members of the
conference. The conferencing system maintains the mapping
between this conference ID and the confObjID associated with the
sidebar reservation through the conference instance. The
conference server sends a confResponse message with the new
confObjID and relevant confInfo.
2. Upon receipt of the confResponse message, "Alice" manipulates the
data received in the confInfo in the response. "Alice" wants
only "Bob" to be involved in the sidebar, thus she updates the
"allowed-users-list" to include only "Bob". "Alice" also wants
the audio to be received by herself and "Bob" from the original
conference, but wants any outgoing audio from herself to be
restricted to the participants in the sidebar, whereas "Bob's"
outgoing audio should go to the main conference, so that both
"Alice" and the customer "Carol" hear the same audio from "Bob".
"Alice" sends a confRequest message with an "update" operation
including the updated conference information.
3. Upon receipt of the confRequest message with an "update"
operation, the conferencing system ensures that "Alice" has the
appropriate authority based on the policies associated with that
specific conference object to perform the operation.
4. After validating the data, the conference server sends a
confResponse message. Based upon the addressing information
provided for "Bob" by "Alice", the call signaling to add "Bob" to
the sidebar with the appropriate media characteristics is
instigated through the Focus. "Bob" is notified of his addition
to the sidebar via the conference notification service, thus he
is aware that "Alice" the supervisor is available for coaching
him through this call.
(CCMP Messaging details not available yet).
Figure 25: Coaching and Observing Messaging details
7. Removing participants and deleting conferences
The following scenarios detail the basic operations associated with
removing participants from conferences and entirely deleting
conferences. The examples assume that a conference has already been
Barnes, et al. Expires January 14, 2010 [Page 54]
Internet-Draft CCMP Call Flow Examples July 2009
correctly established, with media, if applicable, per one of the
examples in Section 5.
7.1. Removing a Party
Figure 26 provides an example of one client "Alice" removing another
participant "Bob" from a conference. This example assumes an
established conference with "Alice", "Bob", "Claire" and "Duck". In
this example, "Alice" wants to remove "Bob" from the conference so
that the group can continue in the same conference without "Bob"'s
participation.
"Alice" "Bob" "Claire" ConfS
| | | |
|(1) userRequest(delete, | |
| confObjID, confUserID, | |
| userInfo) | | |
|-------------------------------------->|
| | | |
| | | (a) Focus |
| | | tears down|
| | | signaling |
| | | to "Bob" |
| |<----------------------|
| | |
| | (b)Deletes+---|
| | | "Bob" | |
| | | as a | |
| | | user +-->|
| | | in |
| | | confObj |
| | | |
|(2) userResponse(delete, success |
| confObjID) | |
| | | |
|<--------------------------------------|
| | | |
| | | |
| | | (c) Notify|
| | | ("Bob just|
| | | left") |
| | |<----------|
| | | |
' ' ' '
' ' ' '
' ' ' '
Barnes, et al. Expires January 14, 2010 [Page 55]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 26: Client Manipulation of Conference - Remove a party
1. "Alice" sends a userRequest message, with a "delete" operation.
The conference server ensures that "Alice" has the appropriate
authority based on the policies associated with that specific
conference object to perform the operation.
2. Based upon the addressing and media information in the conference
object for "Bob" in the "user" element, the conference instigates
the process to remove "Bob" (e.g., the call signaling to remove
"Bob" from the conference is instigated through the Focus). The
conference server updates the data in the conference object, thus
removing "Bob" from the "users" list. After updating the data,
the conference server sends a userResponse message to "Alice".
Depending upon the policies, other participants (e.g. "Claire")
may be notified of the removal of "Bob" from the conference via
the Conference Notification Service.
(CCMP Messaging details not available yet).
Figure 27: Removing a Participant Messaging Details
7.2. Deleting a Conference
Details to be added.
(Figure not available yet).
Figure 28: Deleting a conference
(Text description to be added).
(CCMP Messaging details not available yet).
Figure 29: Deleting a Conference Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 56]
Internet-Draft CCMP Call Flow Examples July 2009
8. Additional Conference Scenarios and Examples
The following are additional scenarios making use of the XCON
framework and associated protocols. In some cases, these examples
make use of some of the building block scenarios detailed in the
previous example sections, in which case the appropriate scenario is
referenced rather than duplicating details. In addition, in cases
where the scenarios make use of other protocols, as in the previous
section, the appropriate reference in the form of a title to the
specific flow in the appropriate protocol document is included.
8.1. Chat
The chat functionality described in this section of the document
allows clients that use the XCON framework and protocols for other
media types (e.g. voice/video) to utilize the same conference control
mechanisms and conferencing system to establish, update and delete a
conference instance associated with an Instant Messaging (IM) chat
session, independent of the IM chat protocol. In some cases(e.g.,
Message Session Relay Protocol (MSRP) chat), this would provide
additional capabilities, such as sidebars. This approach also allows
the conferencing system to provide a natural interworking point for
various IM protocols, the details of the interworking are outside the
scope of this document.
An IM client wishing to join a conference uses standardized
centralized conferencing mechanisms for creating and joining a
conference, as identified in the previous sections. The request to
send an IM to an IM media session is specific to the IM protocol
(e.g., MSRP SEND), just as there is specific media control messaging
for other types of sessions. An IM client connecting to a
conferencing system has a 1:1 relationship with the IM media
signaling entity in the conferencing system. This relationship is
referred to as an IM session. Further details of the correlation of
the IM session identifiers with the XCON session identifiers is
provided in [I-D.boulton-xcon-session-chat]. The IM media signaling
entity is responsible for distribution of all the messages to the
other participants.
As with the other example conferences created, each IM session is
logically associated with a specific conference. The conference
itself has a specific identifier in the form of the XCON-URI, which
is passed in the "confObjID" element in the CCMP messages. This
provides the relevant association between IM session and a
centralized conference.
An IM client wishing to delete a chat room uses standardized
mechanisms for deleting a conference instance, such as those detailed
Barnes, et al. Expires January 14, 2010 [Page 57]
Internet-Draft CCMP Call Flow Examples July 2009
in Section 7.2.
8.1.1. Basic Chat Operations
This section provides details of the realization of the Multi-party
IM (chat) within the context of the centralized conferencing
framework. A brief discussion and diagrams are provided for
creating, joining, and deleting a chat based conference. The
discovery of chat rooms available on a specific conferencing system
is inherent in the blueprint capability provided by the conferencing
system. The objective of this section is to further illustrate the
model, mechanisms and protocols presented in the previous sections
and also serves to validate that the model, mechanisms and protocols
are sufficient to support IM chat.
It should be noted that not all entities impacted by the request are
shown in the diagram (e.g., Focus), but rather the emphasis is on the
new entities introduced by this centralized conferencing framework.
8.1.1.1. Creating a Chat Room
There are different ways to create a conference. A participant can
create a conference using call signaling means only, such as SIP, as
detailed in [RFC4579]. For a conferencing client to have more
flexibility in defining the charaterisitics and capabilities of a
chat based conference, a conferencing client would implement a
conference control protocol client. By using a conference control
protocol, the client can determine the capabilities of a conferencing
system and its various resources.
Figure 30 provides an example of one client "Alice" determining the
conference blueprints available to support various types of chat
rooms for a particular conferencing system and creating a chat based
conference using the desired blueprint.
Details to be added.
Figure 30: Client Creation of Chat room
Upon receipt of the Conference Control Protocol request for
blueprints associated with chat rooms, the conferencing system would
first authenticate "Alice" (and allocate a conference user
identifier, if necessary) and then ensure that "Alice" has the
Barnes, et al. Expires January 14, 2010 [Page 58]
Internet-Draft CCMP Call Flow Examples July 2009
appropriate authority based on system policies to receive any chat
room based blueprints supported by that system. Any blueprints that
"Alice" is authorized to use are returned in a response, along with
the conference user ID.
Upon receipt of the Conference Control Protocol response containing
the blueprints, "Alice" determines which blueprint to use for the
conference to be created. "Alice" creates a conference object based
on the blueprint (i.e., clones) and modifies applicable fields, such
as membership list, topic details, and start time. "Alice" then
sends a request to the conferencing system to create a conference
reservation based upon the updated blueprint.
Upon receipt of the Conference Control Protocol request to "create" a
conference based upon the blueprint in the request, the conferencing
system ensures that the blueprint received is a valid blueprint (i.e.
the values of the various field are within range). The conferencing
system determines the appropriate read/write access of any users to
be added to a conference based on this blueprint (using membership,
roles, etc.). The conferencing system uses the received blueprint to
clone a conference reservation. The conferencing system also
reserves or allocates a conference ID to be used for any subsequent
protocol requests from any of the members of the conference. The
conferencing system maintains the mapping between this conference ID
and the conference object ID associated with the reservation through
the conference instance.
Upon receipt of the conference control protocol response to reserve
the conference, "Alice" now creates an active chat room using that
reservation. "Alice" provides the conference information, including
the necessary conference ID, to desired participants to allow them to
join the chat room. "Alice" may also add other users to the chat
room. When the first participant, including "Alice", requests to be
added to the conference, an active conference and focus are created.
The focus is associated with the conference ID received in the
request.
(CCMP Messaging details not available yet.
Plan is to reference detailed flows in
previous sections
in the example.)
Figure 31: Chatroom Creation Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 59]
Internet-Draft CCMP Call Flow Examples July 2009
8.1.1.2. Joining a Chat Room
A participant can join and leave the conference using call signaling
means only, such as SIP. However, in order to perform richer
conference control a user client can implement a conference control
protocol client. By using a conference control protocol, the client
can affect its own state and the state of other participants,
depending upon policies, which may indirectly affect the state of any
of the conference participants.
In the example in section Section 8.1.1.1, "Alice" has reserved a
chat room . "Alice" has also already joined the conference and made
the chat room active. "Alice" can either add additional participants
to the chat room or provide the conference information, including the
necessary conference ID, to desired participants and allow them to
request to join themselves. Any participants that have the authority
to manipulate the conference would receive the conference object
identifier of the active conference object in the response to their
request to join.
Figure 32 provides an example of "Bob" joining the chat room using
the conference ID provided by "Alice" (e.g., in an IM).
Details to be added.
Figure 32: Joining a chat room
Upon receipt of the Conference Control Protocol request to "add" a
party ("Bob") in the specific conference as identified by the
conference object ID, the conferencing system must determine whether
"Bob" is already a user of this conferencing system or whether he is
a new user. If "Bob" is a new user for this conferencing system, a
Conference User Identifier is created for Bob. The conferencing
system must also ensure that "Bob" has the appropriate authority
based on the policies associated with that specific conference object
to perform the operation.
Once "Bob" has been successfully added to the chat room, a response
is sent to "Bob". Depending upon the policies, other participants
(including "Bob") may be notified of the addition of "Bob" to the
conference via the Conference Notification Service.
Barnes, et al. Expires January 14, 2010 [Page 60]
Internet-Draft CCMP Call Flow Examples July 2009
(CCMP Messaging details not available yet.
Plan is to reference detailed flows in
previous sections as appropriate
in the example.)
Figure 33: Chatroom Join Messaging Details
8.1.1.3. Deleting a Chat Room
Depending upon the conferencing system policies and policies specific
to the chat room, the creator of the chat would typically be the
participant authorized to delete the chat room.
In the example in section Section 8.1.1.1, "Alice" has created a chat
room and provided the conference information, including the necessary
conference ID, to desired participants and allow them to request to
join themselves. "Bob" and others are participants in the chat.
Figure 34 provides an example of "Alice" later deleting this same
chat room.
Details to be added.
Figure 34: Deleting a chat room
Upon receipt of the Conference Control Protocol request to "delete"
the specific chat room as identified by the conference object ID, the
conferencing system must determine whether "Alice" has the authority
to delete this conference. Since "Alice" is the creator of the
conference, the "delete" operation is performed, with the appropriate
signaling sent to the participants, including a response to "Alice"
indicating that the chat room has been deleted.
One step in the deletion of the chat room may include notifitying the
participants (including "Bob") that they have been removed via the
Conference Notification Service.
(CCMP Messaging details not available yet.
Plan is to reference detailed flows in
previous sections .)
Figure 35: Chatroom Deletion Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 61]
Internet-Draft CCMP Call Flow Examples July 2009
8.1.2. Advanced Operations
This section provides details of the realization of advanced chat
features, such as sidebars and private messages, within the context
of the centralized conferencing framework. As with Section 8.1.1,
the objective of this section is to further illustrate the model,
mechanisms and protocols presented in the previous sections and also
serves to validate that the model, mechanisms and protocols are
sufficient to support advance IM chat features.
8.1.2.1. Text Sidebar
The concept of a 'sidebar' in conferencing system is fully described
in the Sidebar section and related subsections within the
Conferencing Scenarios Realization section of the centralized
conferencing framework document [RFC5239]. The creation,
manipulation and deletion of sidebars for chat rooms follows the same
principles.
A conference object representing a sidebar is created by cloning the
parent associated with the existing conference and updating any
information specific to the sidebar. A sidebar conference object is
implicitly linked to the parent conference object (i.e. it is not an
independent object) and is associated with the parent conference
object identifier. A conferencing system manages and enforces the
parent and appropriate localized restrictions on the sidebar
conference object (e.g., no members from outside the parent
conference instance can join, sidebar conference can not exist if
parent conference is terminated, etc.).
Figure 36 provides an example of one client "Alice" involved in
active chat room with "Bob" and "Carol". "Alice" wants to create a
sidebar to have a side discussion with "Bob" while still receiving
the session based messaging associated with the main chat room.
Whether the text is interleaved with the main chat or whether a
separate window is created for the sidebar is implementation
specific. "Alice" initiates the sidebar by sending a request to the
conferencing system to create a conference chat reservation based
upon the active chat conference object. "Alice" and "Bob" would
remain on the roster of the main conference, such that other
participants could be aware of their participation in the main
conference, while the text sidebar conference is occurring.
Details to be added.
Barnes, et al. Expires January 14, 2010 [Page 62]
Internet-Draft CCMP Call Flow Examples July 2009
Figure 36: Client Creation of a Sidebar Conference
Upon receipt of the Conference Control Protocol request to "reserve"
a new sidebar chat conference, based upon the active chat conference
received in the request, the conferencing system uses the received
active chat conference to clone a conference chat reservation for the
sidebar. As discussed previously, the sidebar reservation is NOT
independent of the active conference (i.e., parent). The
conferencing system also reserves or allocates a conference ID to be
used for any subsequent protocol requests from any of the members of
the conference. The conferencing system maintains the mapping
between this conference ID and the conference object ID associated
with the sidebar reservation through the conference instance.
Upon receipt of the conference control protocol response to reserve
the conference, "Alice" can now create an active chat conference
using that reservation or create additional reservations based upon
the existing reservations. In this example, "Alice" wants only "Bob"
to be involved in the sidebar, thus she manipulates the membership.
"Alice" also only wants the text from the original conference, but
wants the text within the sidebar to be restricted to the
participants in the sidebar. "Alice" sends a conference control
protocol request to update the information in the reservation and to
create an active conference.
Upon receipt of the conference control protocol request to update the
reservation and to create an active chat conference for the sidebar,
as identified by the conference object ID, the conferencing system
ensures that "Alice" has the appropriate authority based on the
policies associated with that specific conference object to perform
the operation. The conferencing system must also validate the
updated information in the reservation, ensuring that a member like
"Bob" is already a user of this conferencing system.
Depending upon the policies, the initiator of the request (i.e.,
"Alice") and the participants in the sidebar (i.e., "Bob") may be
notified of his addition to the sidebar via the conference
notification service.
Details to be added.
Figure 37: Chatroom Sidebar Messaging Details
Barnes, et al. Expires January 14, 2010 [Page 63]
Internet-Draft CCMP Call Flow Examples July 2009
8.1.2.2. Private Message
The case of private messages can be handled as a sidebar with just
two participants, identical to the example in section
Section 8.1.2.1. The other context, referred to as whisper, in this
document refers to situations involving one time media targetted to
specific user(s). An example of a whisper would be a text message
injected only to the conference chair or to a new participant joining
a conference.
Figure 38 provides an example of one user "Alice" who's chairing a
fixed length conference with "Bob" and "Carol". The configuration is
such that only the chair is providing a warning when there is only 10
minutes left in the conference. At that time, "Alice" is moved into
a sidebar created by the conferencing system and only "Alice"
receives that text message announcing the 10 minute warning.
Details to be added.
Figure 38: Whisper
When the conferencing system determines that there is only 10 minutes
left in the conference which "Alice" is chairing, rather than
creating a reservation as was done for the sidebar in
Section 8.1.2.1, the conferencing system directly creates an active
chat sidebar conference, based on the active chat conference
associated with "Alice". As discussed previously, the sidebar
conference is NOT independent of the active conference (i.e.,
parent). The conferencing system also allocates a conference ID to
be used for any subsequent manipulations of the sidebar chat
conference. The conferencing system maintains the mapping between
this conference ID and the conference object ID associated with the
active sidebar conference through the conference instance.
Immediately upon creation of the active chat sidebar conference, the
text announcement is provided to "Alice". Depending upon the
policies, Alice may be notified of her addition to the sidebar via
the conference notification service. "Alice" continues to receive
the text messages from the main conference.
Upon delivery of the text announcement, "Alice" is removed from the
sidebar and the sidebar conference is deleted. Depending upon the
policies, "Alice" may be notified of her removal from the sidebar via
the conference notification service.
Barnes, et al. Expires January 14, 2010 [Page 64]
Internet-Draft CCMP Call Flow Examples July 2009
Details to be added.
Figure 39: Chatroom Sidebar Messaging Details
9. IANA Considerations
This document has no IANA considerations.
10. Security Considerations
The security considerations applicable to the implementation of these
call flows is documented in the XCON Framework, with additional
security considerations documented in the CCMP document. Where
applicable, statements with regards to the necessary security are
discussed in particular flows, however, since this is only an
informational document, readers are strongly recommended to carefully
consider the security considerations defined in the XCON Framework
and the CCMP document.
11. Change Summary
NOTE TO THE RFC-Editor: Please remove this section prior to
publication as an RFC.
The following are the major changes between the individual 01 version
to the WG 00:
o Updates to reflect most recent version of CCMP, including
parameter names, etc.
o Added protocol details to many of the examples.
o Editorial: Simplifying intro, terms, etc.
The following are the major changes between the 00 and the 01
versions of the draft:
o Updates to reflect change of CCMP to HTTP transport model.
Barnes, et al. Expires January 14, 2010 [Page 65]
Internet-Draft CCMP Call Flow Examples July 2009
12. Acknowledgements
The detailed content for this document is derived from the prototype
work of Lorenzo Miniero, Simon Pietro-Romano, Tobia Castaldi and
their colleagues at the University of Napoli.
13. References
13.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5239] Barnes, M., Boulton, C., and O. Levin, "A Framework for
Centralized Conferencing", RFC 5239, June 2008.
[I-D.ietf-xcon-ccmp]
Barnes, M., Boulton, C., Romano, S., and H. Schulzrinne,
"Centralized Conferencing Manipulation Protocol",
draft-ietf-xcon-ccmp-02 (work in progress), March 2009.
13.2. Informative References
[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.
[RFC4579] Johnston, A. and O. Levin, "Session Initiation Protocol
(SIP) Call Control - Conferencing for User Agents",
BCP 119, RFC 4579, August 2006.
[RFC4597] Even, R. and N. Ismail, "Conferencing Scenarios",
RFC 4597, August 2006.
[RFC4582] Camarillo, G., Ott, J., and K. Drage, "The Binary Floor
Control Protocol (BFCP)", RFC 4582, November 2006.
[I-D.ietf-xcon-event-package]
Camarillo, G., Srinivasan, S., Even, R., and J.
Urpalainen, "Conference Event Package Data Format
Extension for Centralized Conferencing (XCON)",
draft-ietf-xcon-event-package-01 (work in progress),
September 2008.
[I-D.ietf-xcon-common-data-model]
Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen,
Barnes, et al. Expires January 14, 2010 [Page 66]
Internet-Draft CCMP Call Flow Examples July 2009
"Conference Information Data Model for Centralized
Conferencing (XCON)", draft-ietf-xcon-common-data-model-13
(work in progress), April 2009.
[I-D.ietf-mediactrl-call-flows]
Amirante, A., Castaldi, T., Miniero, L., and S. Romano,
"Media Control Channel Framework (CFW) Call Flow
Examples", draft-ietf-mediactrl-call-flows-00 (work in
progress), March 2009.
[RFC5567] Melanchuk, T., "An Architectural Framework for Media
Server Control", RFC 5567, June 2009.
[I-D.ietf-mediactrl-mixer-control-package]
McGlashan, S., Melanchuk, T., and C. Boulton, "A Mixer
Control Package for the Media Control Channel Framework",
draft-ietf-mediactrl-mixer-control-package-07 (work in
progress), May 2009.
[I-D.boulton-xcon-session-chat]
Barnes, M., Boulton, C., and S. Loreto, "Chatrooms within
a Centralized Conferencing (XCON) System",
draft-boulton-xcon-session-chat-04 (work in progress),
July 2009.
Authors' Addresses
Mary Barnes
Nortel
2201 Lakeside Blvd
Richardson, TX
Email: mary.barnes@nortel.com
Chris Boulton
NS-Technologies
Email: chris@ns-technologies.com
Barnes, et al. Expires January 14, 2010 [Page 67]
Internet-Draft CCMP Call Flow Examples July 2009
Lorenzo Miniero
Meetecho
Via Carlo Poerio 89/a
Napoli 80121
Italy
Email: lminiero@meetecho.com
Roberta Presta
University of Napoli
Via Claudio 21
Napoli 80125
Italy
Email: roberta.presta@unina.it
Simon Pietro Romano
University of Napoli
Via Claudio 21
Napoli 80125
Italy
Email: spromano@unina.it
Barnes, et al. Expires January 14, 2010 [Page 68]