Upload
isabella-potter
View
215
Download
0
Embed Size (px)
Citation preview
Conference Control Manipulation Protocol
(CCMP)draft-ietf-xcon-ccmp-03.txt
Authors: Mary Barnes ([email protected]) Chris Boulton ([email protected])
Simon Pietro Romano ([email protected]) Henning Schulzrinne ([email protected])
XCON WGIETF-75 Meeting
Stockholm, Sweden, Friday July 31, 2009
2 XCON Protocol: CCMP July 31, 2009
Brief reminder about the CCMP approach
Changes since -02 version
Issues Discussion
Way Forward
Comments/Questions
Agenda
3 XCON Protocol: CCMP July 31, 2009
CCMP approach since -02 version
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
4 XCON Protocol: CCMP July 31, 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
5 XCON Protocol: CCMP July 31, 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 √ √ √ √
sidebarsByRefrequest
√ N/A N/A N/A
sidebarByRefRequest
√ √ √ √
6 XCON Protocol: CCMP July 31, 2009
Message-independent CCMP error codes
success:— Successful completion of the requested operation
badRequest:— Syntactically malformed request
invalidPassword:— Target conference object's password contained in the request is wrong
passwordRequired:— Conference password missing in a request to access a password-protected conference object.
unauthorized:— User not allowed to perform the required operation
forbidden:— Operation not allowed (e.g., cancellation of a blueprint)
requestTimeout:— The time required to serve the request has exceeded the envisaged service threshold
serverInternalError:— The server cannot complete the required service due to a system internal error
notImplemented:— Operation envisaged in the protocol, but not implemented in the contacted server.
7 XCON Protocol: CCMP July 31, 2009
Message-dependent CCMP error codesOperation________
Response code
Create Retrieve Update
Delete
modified All create requests
N/A All update request
s
N/A
objectNotFound userRequest, sidebarByValRe
quest, sidebarByRefRe
quest
All retrieve requests, EXCEPT:
blueprintsRequest,
confsRequest
All update request
s
All delete
requests
userNotFound userRequest (3rd party invite with third user
entity) (*)
userRequest userRequest
userRequest
invalidConfUserID All create requests, EXCEPT:
userRequest with no
confUserID (**)
All retrieve requests
All update request
s
All delete
requests
forbiddenDeleteParent N/A N/A N/A All delete
requests
forbiddenChangeProtected
N/A N/A All update request
s
N/A
8 XCON Protocol: CCMP July 31, 2009
'userNotFound’ and 'invalidConfUserID'
(*) 'userNotFound' in answer to a 'userRequest/create' operation:— in the case of a third-party invite:
– this code can be returned if the 'confUserId' (contained in the 'entity' attribute of the 'userInfo' parameter) of the user to be added is unknown
— in the case above:– if instead it is the 'confUserID' of the sender of the request that is
invalid:– an 'invalidConfUserID' error code is returned to the client
(**) 'invalidConfUserID' is not sent in answers to 'userRequest/ create' messages having a 'null' confUserId:— this case is associated with a user who is unaware of his own XCON-
USERID, but wants to enter a known conference.
9 XCON Protocol: CCMP July 31, 2009
About conference users
We assume users (and associated user profiles) are NOT created via CCMP
‘userRequest/create’ operation— is not used to “create” a new user…
— …but rather to add an existing user to a conference
Is such approach:— Clear enough in the draft?
— Accepted as a shared assumption?
10 XCON Protocol: CCMP July 31, 2009
Main modifications since -02 version (1/2)
Definition of the ‘operation’ parameter modified:— Now part of the general ccmp-request-message-type
– xsd updated (also in the draft appendix)– Sample call flow updated (section 8 of the draft)
New error codes added:— Related to users management:
– invalidConfUserId, userNotFound— Related to operations on password-protected conference objects:
– passwordRequired, invalidPassword
Security considerations section enriched:— Brand-new material about:
– Overall considerations– Assuring that the Proper Conferencing Server has been contacted– User Authentication and Authorization– Security and Privacy of Identity
11 XCON Protocol: CCMP July 31, 2009
Main modifications since -02 version (2/2)
Revised normative statements for the various protocol messages and operations
Added descriptions for all the operation types, as appropriate
Added section to describe requirements for an HTTP implementation to support CCMP
Updated section on notifications
XCON SIP event package is default…
…some discussion of an HTTP callback mechanism
Misc editorial nits
qualifying message names in the text, etc., etc., etc.
12 XCON Protocol: CCMP July 31, 2009
Main open issues (1/3)
How to behave in case of ‘success’ with ‘create’ and/or ‘update’ operations?— In what cases do we send back to the client the (successfully
created/modified) conference object?– E.g.: is this needed in cases like creation by cloning?
– In such case, if I get back a code of ‘success’ with no conf object information, I can:
• Make a ‘confRequest/retrieve’ operation on the newly created object (whose confObjId can be found in the response…)
Should we extend such approach also to responses carrying a response code of ‘modified’?— As before, I become aware of the modifications by issuing a
subsequent ‘retrieve’ targeting the modified object…
13 XCON Protocol: CCMP July 31, 2009
Main open issues (2/3)
When creating sidebars or conferences through blueprint cloning:— Should we include the modifications that we want to be applied to
the cloned object directly in the cloning (i.e. ‘create’) request?– Remind that, currently:
– I first ‘create’ a new object through cloning
– I then ‘update’ the newly created object to let it fit my original requirements
– With the envisaged modification:
– I send a single ‘create’ request containing the modifications that have to be applied to the cloned object
14 XCON Protocol: CCMP July 31, 2009
Main open issues (3/3)
Should we consider adding “filters” to CCMP requests?— E.g. something like:
– blueprintsRequest(“give me just blueprints associated with no video content”)
– confsRequest (“just active conferences”)– confsRequest(“just those in which I’m currently participating”)
— Aim:– Reduce traffic between client and server– Avoid overwhelming clients with bunches of un-needed
information– Client-side filtering might be resource-consuming, especially
in the case of mobile nodes– …
— Note well:– Filters might take the form of xpath queries
15 XCON Protocol: CCMP July 31, 2009
Way Forward
Move forward based on issues resolution
Complete protocol document
Solicit additional feedback from WG and potential developer community
Propose WGLC (soon...) for this draft?
16 XCON Protocol: CCMP July 31, 2009
ANY COMMENTS/Questions?