conference control manipulation protocol (ccmp) draft-ietf-xcon-ccmp-02.txt authors: mary barnes...
DESCRIPTION
2 XCON Protocol: CCMP March 24, 2009 00 version of the draft Dublin 72): —Baseline protocol specification based on agreement for semantic approach: –CCMP was based on Web Services and SOAP –CCMP made use of discrete methods and operations Prototype implementation available from University of Napoli: —Used as a proof-of-concept both for protocol specification and for its actual exploitation in real-world conferencing scenarios —Demo at IETF 72 Recent CCMP historyTRANSCRIPT
![Page 1: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/1.jpg)
Conference Control Manipulation Protocol
(CCMP)draft-ietf-xcon-ccmp-02.txt
Authors: Mary Barnes ([email protected]) Chris Boulton ([email protected])
Simon Pietro Romano ([email protected]) Henning Schulzrinne ([email protected])
XCON WGIETF-74 Meeting
San Francisco, CA, Tuesday March 24, 2009
![Page 2: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/2.jpg)
2 XCON Protocol: CCMP March 24, 2009
A brief reminder of the most recent history of the CCMPChanges since -01 versionOverview of Protocol & Implementation Issue DiscussionWay ForwardComments/Questions
Agenda
![Page 3: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/3.jpg)
3 XCON Protocol: CCMP March 24, 2009
00 version of the draft (@ Dublin 72):— Baseline protocol specification based on agreement for semantic
approach:– CCMP was based on Web Services and SOAP– CCMP made use of discrete methods and operations
Prototype implementation available from University of Napoli:— Used as a proof-of-concept both for protocol specification and for its
actual exploitation in real-world conferencing scenarios— Demo at IETF 72
Recent CCMP history
![Page 4: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/4.jpg)
4 XCON Protocol: CCMP March 24, 2009
Recent CCMP history (cont.)
Version -01 (@ Minneapolis 73) proposed to adopt REST— Even though the protocol specification was kept independent of the
chosen transport protocol
Resources associated with URIsCCMP Provided means to:
— Access information: Active/scheduled conferences, Blueprints, Conference users
— Manipulate Conference Objects: creation, updating, deletion
Prototype implementation available from University of Napoli— Integrated in the client (http://www.meetecho.com)
![Page 5: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/5.jpg)
5 XCON Protocol: CCMP March 24, 2009
-02 version approach: background…
Feedback from IETF 73 (useful suggestions also from APP area people):— A transport-independent protocol can hardly be defined as a RESTful
one– Some REST requirements:
– Need to map application-level protocol error codes onto HTTP error codes
– Need to map CRUD operations onto correspoding HTTP methods:• Create POST• Retrieve GET• Update PUT• Delete DELETE
— Lesson learned:– Don’t say you go REST if you want to stay awake!
![Page 6: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/6.jpg)
6 XCON Protocol: CCMP March 24, 2009
-02 version approach: core features
HTTP single verb transport + CCMP body—XML-based CCMP requests
– carried inside the body of HTTP POST messages—XML-based CCMP responses
– carried inside the body of HTTP 200 OK messages– Application-level errors (and related error codes) are
transparent to HTTP—CCMP messages use a MIME type of
‘application/ccmp+xml’– Appearing inside ‘Content-Type’ and ‘Accept’ HTTP
header fields
![Page 7: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/7.jpg)
7 XCON Protocol: CCMP March 24, 2009
CCMP request messages
Operation________
Request Type
Retrieve Create Update Delete
blueprintsRequest √ N/A N/A N/A
blueprintRequest √ N/A N/A N/A
confsRequest √ N/A N/A N/A
confRequest √ √ √ √usersRequest √ N/A √ N/A
userRequest √ √ √ √sidebarsByValRequest
√ N/A N/A N/A
sidebarByValrequest √ N/A √ √sidebarsByRefrequest
√ N/A N/A N/A
sidebarByRefRequest
√ N/A √ √
![Page 8: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/8.jpg)
8 XCON Protocol: CCMP March 24, 2009
CCMP-managed Resources
Conference Object:— compliant with the XCON data model— uniquely addressable through an XCON URI
Blueprints:— same as conference objects…
Users:— a set of <user> elements
User:— a single <user> element— directly addressable through the XCON-USERID
![Page 9: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/9.jpg)
CCMP Protocol overview: a call flows perspective
Call flow dumps based on work carried Call flow dumps based on work carried out @ University of Napoliout @ University of Napoli
![Page 10: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/10.jpg)
12 XCON Protocol: CCMP March 24, 2009
Storyboard
Alice asks for blueprints— blueprintsRequest
She then makes a drill-down query for a specific blueprint— blueprintRequest
She creates a new conference by cloning the existing blueprint — confRequest/create
She modifies conference-related information— confRequest/update
She specifies a list of users to be added to the conf— usersRequest
She joins the conf— userRequest
She makes a third-party join to the conf on behalf of another user— userRequest
![Page 11: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/11.jpg)
13 XCON Protocol: CCMP March 24, 2009
Alice asks for blueprints
![Page 12: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/12.jpg)
14 XCON Protocol: CCMP March 24, 2009
Drill-down query: blueprintRequest
![Page 13: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/13.jpg)
15 XCON Protocol: CCMP March 24, 2009
Conference creation through cloning
![Page 14: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/14.jpg)
16 XCON Protocol: CCMP March 24, 2009
Modification of conf info
![Page 15: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/15.jpg)
17 XCON Protocol: CCMP March 24, 2009
Adding users to the conf
![Page 16: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/16.jpg)
18 XCON Protocol: CCMP March 24, 2009
Joining the conference
![Page 17: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/17.jpg)
CCMP Protocol implementation
Implementation based on work carried Implementation based on work carried out @ University of Napoliout @ University of Napoli
![Page 18: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/18.jpg)
20 XCON Protocol: CCMP March 24, 2009
Implementation choices
Data model implemetation:— JAXB (Java XML Binding)
– Easy creation of Java classes from data model (xsd) classes– Marshalling facilities:
– From Java classes to XML documents– Unmarshalling facilities
– From XML documents to Java classes
Conference objects database:— Apache xindice (http://xml.apache.org/xindice/) native XML database
– Storing, querying (XPath), updating (XUpdate) of XML documents
HTTP stack:— Apache ‘commons’ implementation
![Page 19: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/19.jpg)
21 XCON Protocol: CCMP March 24, 2009
CCMP in action: the * client
Send a confsRequest (with a “retrieve”
operation) message to the conf server
*http://www.meetecho.com
![Page 20: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/20.jpg)
22 XCON Protocol: CCMP March 24, 2009
“confsRequest” answer from server…
![Page 21: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/21.jpg)
23 XCON Protocol: CCMP March 24, 2009
confsRequest: behind the scenesNative XML database (Xindice, http://xml.apache.org/xindice/ ) used for storing conference objects
![Page 22: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/22.jpg)
24 XCON Protocol: CCMP March 24, 2009
Creating a new conference via blueprints
![Page 23: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/23.jpg)
25 XCON Protocol: CCMP March 24, 2009
“blueprintsRequest” answer from server
Send a blueprintRequest to
the conf server
![Page 24: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/24.jpg)
26 XCON Protocol: CCMP March 24, 2009
blueprintsRequest: behind the scenesNative XML database (Xindice, http://xml.apache.org/xindice/ ) used for storing blueprints
![Page 25: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/25.jpg)
27 XCON Protocol: CCMP March 24, 2009
“blueprintResponse” and creation through blueprint cloning
blueprintResponse Prepare new conf object from blueprint
Send confRequest/create to the conf server…
![Page 26: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/26.jpg)
28 XCON Protocol: CCMP March 24, 2009
The newly created conference…
![Page 27: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/27.jpg)
29 XCON Protocol: CCMP March 24, 2009
XML-DB view of the new conference
![Page 28: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/28.jpg)
30 XCON Protocol: CCMP March 24, 2009
Main open issue as per IETF 72, IETF 73
Additional data required in data model:— Data element(s) for parent and child information supporting key
framework concepts:– Cloning– Manipulating conference data
— Data elements for “main-conference/sidebar” relationship
Proposal: Update data model for this element(s) Clarify text in document
We (a few of us, indeed ) had a discussion on the mailing list related to this topic: Did we reach consensus?
![Page 29: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/29.jpg)
31 XCON Protocol: CCMP March 24, 2009
Way Forward
Move forward based on Issue resolutionComplete protocol document and prototype,
including error handling and securitySolicit additional feedback from WG and
potential developer community...
![Page 30: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/30.jpg)
32 XCON Protocol: CCMP March 24, 2009
ANY COMMENTS/Questions?
![Page 31: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/31.jpg)
33 XCON Protocol: CCMP March 24, 2009
No problem at all, as long as you keep on providing a means for carrying CCMP messages back and forth
A ‘crazy’ example:—Use mediactrl control channel between UAC and AS
(i.e. conference control server)
What if you don’t want to use HTTP as the CCMP transport protocol?
ApplicatiApplicationon
ServerServer MediaMediaServerServerUserUser
AgentAgent
User Signalling(e.g. SIP) SIP (Media Dialog)
RTP/SRTP
TCP/TLS (ControlChannel)
SIP (Control Dialog)
‘Standard’ mediactrl approach
Conf. Conf. ControlControlServerServer MediaMedia
ServerServerUserUser
AgentAgentSIP (Media Dialog)
RTP/SRTP
TCP/TLS (ControlChannel)
SIP (Control Dialog)
‘mediactrl-enabled’ CCMP approach
SIP (Media Dialog)
TCP/TLS (ControlChannel)
SIP (Control Dialog)
![Page 32: Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris…](https://reader036.vdocument.in/reader036/viewer/2022081507/5a4d1bf87f8b9ab0599ea178/html5/thumbnails/32.jpg)
34 XCON Protocol: CCMP March 24, 2009
“mediactrl-enabled” CCMP transport
CCMP becomes a control package, like all other mediactrl packages (mixer, IVR, etc..)
UAC-initiated CONTROL messages to the AS used to trigger AS-initiated CONTROL messages to the MS
Notifications:— Provided for free by the mediactrl framework:
– through exploitation of the asynchronous expedition of unsolicited AS-generated CONTROL messages to the UAC…