Presentation is loading. Please wait.

Presentation is loading. Please wait.

Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris Boulton.

Similar presentations


Presentation on theme: "Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris Boulton."— Presentation transcript:

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…


Download ppt "Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes Chris Boulton."

Similar presentations


Ads by Google