Download presentation
Presentation is loading. Please wait.
Published byAmberlynn Pearson Modified over 8 years ago
1
Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes (mary.barnes@nortel.com)mary.barnes@nortel.com Chris Boulton (cboulton@avaya.com)cboulton@avaya.com Simon Pietro Romano (spromano@unina.it)spromano@unina.it Henning Schulzrinne (hgs+xcon@cs.columbia.edu)hgs+xcon@cs.columbia.edu XCON WG IETF-74 Meeting San Francisco, CA, Tuesday March 24, 2009
2
1 XCON Protocol: CCMP March 24, 2009 A brief reminder of the most recent history of the CCMP Changes since -01 version Overview of Protocol & Implementation Issue Discussion Way Forward Comments/Questions Agenda
3
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 history
4
3 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 URIs CCMP 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)http://www.meetecho.com
5
4 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!
6
5 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
7
6 XCON Protocol: CCMP March 24, 2009 CCMP request messages Operation ________ Request Type RetrieveCreateUpdateDelete blueprintsRequest √ N/A blueprintRequest √ N/A confsRequest √ N/A confRequest √√√√ usersRequest √ N/A √ userRequest √√√√ sidebarsByValRequest √ N/A sidebarByValrequest √ N/A √√ sidebarsByRefrequest √ N/A sidebarByRefRequest √ N/A √√
8
7 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 elements User: —a single element —directly addressable through the XCON-USERID
9
CCMP Protocol overview: a call flows perspective Call flow dumps based on work carried out @ University of Napoli
10
9 XCON Protocol: CCMP March 24, 2009 Reminder #1: XCON System Decomposition Logical XCON Server Floor Control Client CONFERENCE BLUEPRINT: Pre-configured Initial/Default values Conf Event Notification Server Focus Conference & Media Control Client CCMP Server Call Signaling Client ACTIVE Conference: Of TYPE CONFERENCE-INFO Notification Client Floor Control Server SIP/ PSTN/ H.323 T.120/ Etc. CCMP SIP NOTIFY/ Etc. BFCP CONFERENCE RESERVATION: Of TYPE CONFERENCE-INFO Logical XCON Client ACTIVE Conference: Of TYPE CONFERENCE-INFO CONFERENCE RESERVATION: Of TYPE CONFERENCE-INFO CONFERENCE BLUEPRINT: Pre-configured Initial/Default values
11
10 XCON Protocol: CCMP March 24, 2009 Reminder #2: Basic Data Objects INSTANCE ACTIVE CONFERENCE (Type Conference-Info) Conference-Information Type Conference-description conf-URIs, service-URIs, max-user-count, available-media conference-state sidebars-by-ref, sidebars-by-val Conference Definition, Creation, Lifetime CONFERENCE BLUEPRINT (Type Conference-Info) Pre-configured Initial/Default values RESERVATION (Type Conference-Info ) floor-information Users: allowed-users-list, user, roles… media-type, mixer-type
12
11 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
13
12 XCON Protocol: CCMP March 24, 2009 Alice asks for blueprints
14
13 XCON Protocol: CCMP March 24, 2009 Drill-down query: blueprintRequest
15
14 XCON Protocol: CCMP March 24, 2009 Conference creation through cloning
16
15 XCON Protocol: CCMP March 24, 2009 Modification of conf info
17
16 XCON Protocol: CCMP March 24, 2009 Adding users to the conf
18
17 XCON Protocol: CCMP March 24, 2009 Joining the conference
19
CCMP Protocol implementation Implementation based on work carried out @ University of Napoli
20
19 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 databasehttp://xml.apache.org/xindice/ –Storing, querying (XPath), updating (XUpdate) of XML documents HTTP stack: —Apache ‘commons’ implementation
21
20 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
22
21 XCON Protocol: CCMP March 24, 2009 “confsRequest” answer from server…
23
22 XCON Protocol: CCMP March 24, 2009 confsRequest: behind the scenes Native XML database (Xindice, http://xml.apache.org/xindice/ ) used for storing conference objectshttp://xml.apache.org/xindice/
24
23 XCON Protocol: CCMP March 24, 2009 Creating a new conference via blueprints
25
24 XCON Protocol: CCMP March 24, 2009 “blueprintsRequest” answer from server Send a blueprintRequest to the conf server
26
25 XCON Protocol: CCMP March 24, 2009 blueprintsRequest: behind the scenes Native XML database (Xindice, http://xml.apache.org/xindice/ ) used for storing blueprintshttp://xml.apache.org/xindice/
27
26 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…
28
27 XCON Protocol: CCMP March 24, 2009 The newly created conference…
29
28 XCON Protocol: CCMP March 24, 2009 XML-DB view of the new conference
30
29 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?
31
30 XCON Protocol: CCMP March 24, 2009 Way Forward Move forward based on Issue resolution Complete protocol document and prototype, including error handling and security Solicit additional feedback from WG and potential developer community ...
32
31 XCON Protocol: CCMP March 24, 2009 ANY COMMENTS/Questions?
33
32 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? ApplicationServerApplicationServerMediaServerMediaServer UserAgentUserAgent User Signalling (e.g. SIP) SIP (Media Dialog) RTP/SRTP TCP/TLS (ControlChannel ) SIP (Control Dialog) ‘Standard’ mediactrl approach Conf. Control Server ServerMediaServerMediaServer UserAgentUserAgent SIP (Media Dialog) RTP/SRTP TCP/TLS (ControlChannel ) SIP (Control Dialog) ‘mediactrl-enabled’ CCMP approach SIP (Media Dialog) TCP/TLS (ControlChannel ) SIP (Control Dialog)
34
33 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…
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.