conference control manipulation protocol (ccmp) draft-ietf-xcon-ccmp-02.txt authors: mary barnes...

32
Conference Control Manipulation Protocol (CCMP) draft-ietf-xcon-ccmp-02.txt Authors: Mary Barnes ([email protected] ) Chris Boulton (cboulton@a vaya.com ) Simon Pietro Romano ([email protected] ) Henning Schulzrinne ( [email protected] ) XCON WG IETF-74 Meeting San Francisco, CA, Tuesday March 24, 2009

Upload: amberlynn-pearson

Post on 20-Jan-2018

238 views

Category:

Documents


0 download

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 history

TRANSCRIPT

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

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…

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…