XCON O. Levin Internet-Draft Microsoft Corporation Expires: April 27, 2006 R. Even Polycom P. Hagendorf RADVISION October 24, 2005 Centralized Conference Control Protocol (CCCP) draft-levin-xcon-cccp-03 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 27, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document defines a Centralized Conferencing Control Protocol (CCCP) as a part of the XCON Working Group protocols suite. CCCP uses a client-server model for creation, querying, and manipulation of XCON entities, conference objects and sub-objects. An XCON entity, which implements a CCCP server, provides a means for Levin, et al. Expires April 27, 2006 [Page 1]
Internet-Draft CCCP October 2005 authorized CCCP clients (e.g. conference participants) to affect the behavior of a conference in the XCON system. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Transport . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. The Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Transaction Model . . . . . . . . . . . . . . . . . . . . 4 4.2. Multiple Primitives in a Single Operation . . . . . . . . 5 4.3. Response Codes and Failures . . . . . . . . . . . . . . . 6 5. Using the Data Model . . . . . . . . . . . . . . . . . . . . . 6 6. Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6.1. System Primitives . . . . . . . . . . . . . . . . . . . . 7 6.1.1. Cancel . . . . . . . . . . . . . . . . . . . . . . . . 7 6.1.2. Ping . . . . . . . . . . . . . . . . . . . . . . . . . 8 6.1.3. getTemplates . . . . . . . . . . . . . . . . . . . . . 8 6.1.4. getActiveConferences . . . . . . . . . . . . . . . . . 9 6.2. Conference Primitives . . . . . . . . . . . . . . . . . . 9 6.2.1. addConference . . . . . . . . . . . . . . . . . . . . 9 6.2.2. modifyConference . . . . . . . . . . . . . . . . . . . 11 6.2.3. deleteConference . . . . . . . . . . . . . . . . . . . 12 6.2.4. getConference . . . . . . . . . . . . . . . . . . . . 13 6.3. User Primitives . . . . . . . . . . . . . . . . . . . . . 14 6.3.1. addUser . . . . . . . . . . . . . . . . . . . . . . . 14 6.3.2. modifyUser . . . . . . . . . . . . . . . . . . . . . . 15 6.3.3. modifyUserRoles . . . . . . . . . . . . . . . . . . . 16 6.3.4. deleteUser . . . . . . . . . . . . . . . . . . . . . . 17 6.3.5. getUser . . . . . . . . . . . . . . . . . . . . . . . 18 6.4. Endpoint Primitives . . . . . . . . . . . . . . . . . . . 19 6.4.1. addEndpoint . . . . . . . . . . . . . . . . . . . . . 19 6.4.2. modifyEndpoint . . . . . . . . . . . . . . . . . . . . 20 6.4.3. deleteEndpoint . . . . . . . . . . . . . . . . . . . . 21 6.4.4. getEndpoint . . . . . . . . . . . . . . . . . . . . . 22 6.5. Endpoint Media Primitives . . . . . . . . . . . . . . . . 24 6.5.1. addEndpointMedia . . . . . . . . . . . . . . . . . . . 24 6.5.2. modifyEndpointMedia . . . . . . . . . . . . . . . . . 25 6.5.3. deleteEndpointMedia . . . . . . . . . . . . . . . . . 25 6.5.4. getEndpointMedia . . . . . . . . . . . . . . . . . . . 26 6.6. Sidebar Primitives . . . . . . . . . . . . . . . . . . . . 27 6.6.1. addSidebar . . . . . . . . . . . . . . . . . . . . . . 27 6.6.2. modifySidebar . . . . . . . . . . . . . . . . . . . . 28 6.6.3. deleteSidebar . . . . . . . . . . . . . . . . . . . . 28 6.6.4. addUserToSidebar . . . . . . . . . . . . . . . . . . . 28 6.6.5. deleteUserFromSidebar . . . . . . . . . . . . . . . . 28 6.6.6. moveUserBetweenSidebars . . . . . . . . . . . . . . . 28 Levin, et al. Expires April 27, 2006 [Page 2]
Internet-Draft CCCP October 2005 6.7. Stimulus Primitives . . . . . . . . . . . . . . . . . . . 28 7. The XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 28 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 47 8.1. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:cccp . . . . . . . . . . . . . . . 47 8.2. XML Schema Registration . . . . . . . . . . . . . . . . . 48 9. Security Considerations . . . . . . . . . . . . . . . . . . . 48 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 48 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 49 11.1. Normative References . . . . . . . . . . . . . . . . . . . 49 11.2. Informative References . . . . . . . . . . . . . . . . . . 49 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 50 Intellectual Property and Copyright Statements . . . . . . . . . . 51 Levin, et al. Expires April 27, 2006 [Page 3]
Internet-Draft CCCP October 2005 1. Introduction The SIPPING Conference Framework [6] describes a general centralized conferencing architecture. The XCON Framework [7] defines how this architecture can be realized by an XCON compliant system. This document defines a Centralized Conferencing Control Protocol (CCCP) as a conference control protocol in the XCON protocols suite described in XCON Framework [7]. CCCP uses a client-server model for creation, querying, and manipulation of XCON entities, conference objects and sub-objects. By implementing a CCCP server, an XCON entity provides a means for authorized CCCP clients (e.g. conference participants) to affect the behavior of a conference in the XCON system. CCCP is a semantic- oriented protocol, which uses the XML types defined in the SIPPING Conference Package [2] for the representation of the conference object and its sub-objects . In future, the CCCP can be extended to include manipulations on additional conferencing objects being represented by XML schemas such as policies and templates. 2. Terminology In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119 [1] and indicate requirement levels for compliant implementations. 3. Transport The protocol design assumes that CCCP runs on a reliable transport protocol. CCCP is agnostic to the details of the transport protocol being used beneath and does not rely on any information being conveyed on the transport level. This model allows for using different transport protocols based on the system requirements and also for multiplexing otherwise independent CCCP communications over a common transport channel. 4. The Protocol 4.1. Transaction Model CCCP is a client-server protocol. The protocol defines two Levin, et al. Expires April 27, 2006 [Page 4]
Internet-Draft CCCP October 2005 operations: request and response. A client issues requests to a server. The server MUST reply with a single final response. Two final responses are defined: "failure" and "success". Before issuing the final response, the server MAY reply with multiple provisional responses. Currently a single provisional response "pending" is defined. Editor's Note: Timeouts TBD. A CCCP request carries the following attributes: requestId: A unique string generated by the CCCP client across all its requests. from: A transport URI which identifies the CCCP client. to: A transport URI which identifies the CCCP server. originator: A trusted ID of the originator of the request. The combination of the 'requestId', 'to', and 'from' attributes in the request constitutes the CCCP transaction ID. A CCCP response carries the following attributes: requestId: The original request ID generated by the client and echoed as is by the server. from: A transport URI which identifies the CCCP server. to: A transport URI which identifies the CCCP client. code: The general response code: success, pending, or failure. reason: The general CCCP failure reason. timeout: The updated timeout used with pending responses (details TBD). retryAfter: The suggested delay used with serverBusy responses. 4.2. Multiple Primitives in a Single Operation A CCCP operation (i.e. a request and a corresponding response) MAY contain multiple primitives. The CCCP MUST process the received primitives one-by-one in the order they appear in the request body. If the request contains multiple primitives, the corresponding response operation MUST contain the response primitive for each and in the same order as in the request. Multiple primitives within the same request MUST be executed as an atomic operation. This means that if one primitive fails, the state of the object MUST be rolled back to its state before processing the request. Levin, et al. Expires April 27, 2006 [Page 5]
Internet-Draft CCCP October 2005 If a CCCP server is not willing to process a multi-primitive request, it MUST fail the transaction with the response code "notSupported". 4.3. Response Codes and Failures CCCP defines the following reasons for failure of a request operation : serverBusy: Optional retryAfter can be included in the response. timeout: Operation took too long and was aborted by the server. unauthorized: Client is not authorized to perform the operation. requestMalformed: The XML document in the request is either not well-formed or not compliant with the schema. requestTooLarge: Result of the request operation length check. requestCancelled: The pending request was canceled by CCCP. notSupported: One of the primitives or their combination is not supported by the server. otherFailure: Result of any other server fault condition. Most CCCP primitives define their own optional response codes. This allows communicating the detailed primitive result in addition to the CCCP general response code. 5. Using the Data Model The CCCP operations are applied to the data objects expressed in terms of SIPPING Conference Package [2] XML types whenever possible. The considerations listed below MUST be taken into account when using the schema with CCCP. The information included in the request expresses the desired data object state to be achieved after the operation is successfully completed. By definition, the CCCP primitives allow for inclusion of any information that can be expressed in terms of the conference-type and its sub-types. Attributes 'state' and 'version' of the conference-type and its sub- types are never used with CCCP. The information in the response is provided as a feedback to the request only and typically doesn't carry the full state of the object. For each primitive request, the CCCP explicitly defines (see Section 6) what information (i.e. attributes and elements) MUST be provided by the client and what information (when provided by the client) MUST NOT be ignored by the server. The rest of the information included by the client MAY be treated as optional by the server. Levin, et al. Expires April 27, 2006 [Page 6]
Internet-Draft CCCP October 2005 For each primitive response, the CCCP explicitly defines (see Section 6) what information (i.e. attributes and elements) if included by the server MUST NOT be ignored by the client. The rest of the information included by the client MAY be treated as optional by the server. If neither mandatory information nor new data is generated, the server MAY return minimum schema compliant construct, such as an element with empty body and the attributes identifying the corresponding request only. On the other hand, the CCCP server MAY include any rich dynamically generated information to the client (for example, to be displayed to a user or be logged in by the system) in the response. The client MAY ignore any information received in the response, unless stated otherwise in Section 6. 6. Primitives This section describes the defined CCCP primitives and includes valid XML document examples for each. The corresponding CCCP XML schema is provided in Section 7. 6.1. System Primitives 6.1.1. Cancel Cancel a pending request. This primitive can be issued by a client to cancel a pending transaction. The primitive is an independent transaction on its own. The body of the primitive MUST carry the requestId of one of the pending requests. <request requestId="10" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <cancel> <requestId>5</requestId> </cancel> </request> Note that a valid response can contain an empty body. Levin, et al. Expires April 27, 2006 [Page 7]
Internet-Draft CCCP October 2005 <response requestId="10" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <cancel/> </response> 6.1.2. Ping Ping a CCCP Server. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <ping/> </request> A successful response is shown below. <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <ping/> </response> 6.1.3. getTemplates Get the list of templates supported by the system. Levin, et al. Expires April 27, 2006 [Page 8]
Internet-Draft CCCP October 2005 XML TBD. 6.1.4. getActiveConferences Get the list of conference identifiers for active conference objects in the system. XML TBD. 6.2. Conference Primitives 6.2.1. addConference Create a conference. The 'conferenceEntity' value in the request is a client's suggestion only. The CCCP server MAY replace the suggested value with a different 'conferenceEntity' value in the corresponding response. Levin, et al. Expires April 27, 2006 [Page 9]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addConference> <conference-info entity="sip:McuConf1@company.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <conference-description> <subject>Design Review</subject> <conf-uris> <entry> <uri>tel:+1-8666119036</uri> <display-text>FFD bridge</display-text> </entry> </conf-uris> <service-uris> <entry> <uri>https://company.com/ConfServer</uri> </entry> </service-uris> <available-media> <entry label="1"> <type>audio</type> </entry> </available-media> </conference-description> </conference-info> </addConference> </request> The CCCP server MAY replace the suggested 'conferenceEntity' with a different value in the corresponding response. In the case of a successful response, the CCCP client MUST use the new value and SHOULD use all the new parameters allocated by the server to the conference. Levin, et al. Expires April 27, 2006 [Page 10]
Internet-Draft CCCP October 2005 <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addConference> <conference-info entity="sip:McuConf1@company.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <conference-description> <subject>Design Review</subject> <conf-uris> <entry> <uri>tel:+1-8666119036</uri> <display-text>FFD bridge</display-text> </entry> </conf-uris> <service-uris> <entry> <uri>https://company.com/ConfServer</uri> </entry> </service-uris> <available-media> <entry label="1"> <type>audio</type> </entry> </available-media> </conference-description> </conference-info> </addConference> </response> 6.2.2. modifyConference Modify conference parameters. Levin, et al. Expires April 27, 2006 [Page 11]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyConference> <conference-info entity="sip:McuConf1@company.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <conference-description> <subject>Spec Review</subject> </conference-description> </conference-info> </modifyConference> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyConference/> </response> 6.2.3. deleteConference Remove conference from the system. Levin, et al. Expires April 27, 2006 [Page 12]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteConference> <conferenceKeys confEntity="sip:McuConf1@company.com"/> </deleteConference> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteConference/> </response> 6.2.4. getConference Retrieve the conference information. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getConference> <conferenceKeys confEntity="sip:conf233@example.com"/> </getConference> </request> Levin, et al. Expires April 27, 2006 [Page 13]
Internet-Draft CCCP October 2005 <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getConference> <conference-info entity="sip:McuConf1@company.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <conference-description> <subject>Design Review</subject> <conf-uris> <entry> <uri>tel:+1-8666119036</uri> <display-text>FFD bridge</display-text> </entry> </conf-uris> <service-uris> <entry> <uri>https://company.com/ConfServer</uri> </entry> </service-uris> <available-media> <entry label="1"> <type>audio</type> </entry> </available-media> </conference-description> </conference-info> </getConference> </response> 6.3. User Primitives 6.3.1. addUser The client MUST provide the 'userEntity' value in the request. Levin, et al. Expires April 27, 2006 [Page 14]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addUser> <conferenceKeys confEntity="sip:conf233@example.com"/> <user entity="sip:bob@example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob Hoskins</display-text> <roles> <entry>presenter</entry> </roles> </user> </addUser> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addUser/> </response> 6.3.2. modifyUser Modify the user information. Levin, et al. Expires April 27, 2006 [Page 15]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyUser> <conferenceKeys confEntity="sip:conf233@example.com"/> <user entity="sip:bob@example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob Hoskins III</display-text> <associated-aors> <entry> <uri>tel:2562566</uri> <display-text>the description</display-text> <purpose>optional tbd values</purpose> </entry> </associated-aors> <roles> <entry>presenter</entry> </roles> </user> </modifyUser> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyUser/> </response> 6.3.3. modifyUserRoles This is a dedicated primitive to change user's roles. The same effect can be achieved by using the modifyUser primitive. Note that a CCCP server can choose to implement both approaches simultaneously Levin, et al. Expires April 27, 2006 [Page 16]
Internet-Draft CCCP October 2005 to be invoked by different clients. Editor's Note: The dedicated primitive is defined to demonstrate that both approaches are possible with CCCP. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyUserRoles> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> <user-roles xmlns="urn:ietf:params:xml:ns:conference-info"> <entry>presenter</entry> </user-roles> </modifyUserRoles> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyUserRoles/> </response> 6.3.4. deleteUser Remove the user from the conference roster. Levin, et al. Expires April 27, 2006 [Page 17]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteUser> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> </deleteUser> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteUser/> </response> 6.3.5. getUser Retrieve the information about a conference participant. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getUser> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> </getUser> Levin, et al. Expires April 27, 2006 [Page 18]
Internet-Draft CCCP October 2005 </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getUser> <conferenceKeys confEntity="sip:conf233@example.com"/> <user entity="sip:bob@example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob Hoskins III</display-text> <associated-aors> <entry> <uri>tel:2562566</uri> <display-text>the description</display-text> <purpose>optional tbd values</purpose> </entry> </associated-aors> <roles> <entry>presenter</entry> </roles> </user> </getUser> </response> 6.4. Endpoint Primitives 6.4.1. addEndpoint Bring the specified user into a conference by establishing a call (signaling and media) with him/her/it. The endpoint 'entity' value MAY be replaced or augmented by the CCCP server. The 'media-id' value MAY be replaced or augmented by the CCCP server. If the server returns this information in the response, the client MUST use the values provided by the server. Levin, et al. Expires April 27, 2006 [Page 19]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addEndpoint> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> <endpoint entity="sip:bob@pc4.example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob's Laptop</display-text> <joining-method>dialed-out</joining-method> <media id="1"> <display-text>main audio</display-text> <type>audio</type> </media> </endpoint> </addEndpoint> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addEndpoint/> </response> 6.4.2. modifyEndpoint Modify the call description or/and its behaivior. Levin, et al. Expires April 27, 2006 [Page 20]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyEndpoint> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> <endpoint entity="sip:bob@pc4.example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob's Laptop</display-text> </endpoint> </modifyEndpoint> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyEndpoint/> </response> 6.4.3. deleteEndpoint Disconnect the call. Levin, et al. Expires April 27, 2006 [Page 21]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteEndpoint> <endpointKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com"/> </deleteEndpoint> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteEndpoint/> </response> 6.4.4. getEndpoint Retrieve the information about the call. Levin, et al. Expires April 27, 2006 [Page 22]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getEndpoint> <endpointKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com"/> </getEndpoint> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getEndpoint> <userKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com"/> <endpoint entity="sip:bob@pc4.example.com" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>Bob's Laptop</display-text> <joining-method>dialed-out</joining-method> <media id="1"> <display-text>main audio</display-text> <type>audio</type> </media> </endpoint> </getEndpoint> </response> Levin, et al. Expires April 27, 2006 [Page 23]
Internet-Draft CCCP October 2005 6.5. Endpoint Media Primitives 6.5.1. addEndpointMedia Add the specified media stream to the call. The 'media-id' value MAY be replaced or augmented by the CCCP server. The CCCP client MUST use the new value if returned by the server in the response. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addEndpointMedia> <endpointKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com"/> <media id="1" xmlns="urn:ietf:params:xml:ns:conference-info"> <display-text>main audio</display-text> <type>audio</type> </media> </addEndpointMedia> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <addEndpointMedia/> </response> Levin, et al. Expires April 27, 2006 [Page 24]
Internet-Draft CCCP October 2005 6.5.2. modifyEndpointMedia Modify the media behavior. This primitive can be used to mute and un-mute the call. <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyEndpointMedia> <endpointKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com"/> <media id="1" xmlns="urn:ietf:params:xml:ns:conference-info"> <type>audio</type> <status>recvonly</status> </media> </modifyEndpointMedia> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <modifyEndpointMedia/> </response> 6.5.3. deleteEndpointMedia Remove the specified media stream from the call. Levin, et al. Expires April 27, 2006 [Page 25]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteEndpointMedia> <mediaKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com" mediaId="1"/> </deleteEndpointMedia> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <deleteEndpointMedia/> </response> 6.5.4. getEndpointMedia Retrieve the information about the specified stream in the call. Levin, et al. Expires April 27, 2006 [Page 26]
Internet-Draft CCCP October 2005 <request requestId="1" from="https://company.com:444/Client" to="https://Mcu55.company.com:444/MCU" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getEndpointMedia> <mediaKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com" mediaId="1"/> </getEndpointMedia> </request> <response requestId="1" from= "https://Mcu55.company.com:444/MCU" to= "https://company.com:444/Client" code="success" xmlns="urn:ietf:params:xml:ns:cccp" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:cccp cccp.xsd"> <getEndpointMedia> <endpointKeys confEntity="sip:conf233@example.com" userEntity="sip:bob@example.com" endpointEntity="sip:bob@pc33.example.com"/> <media id="1" xmlns="urn:ietf:params:xml:ns:conference-info"> <type>audio</type> <status>recvonly</status> </media> </getEndpointMedia> </response> 6.6. Sidebar Primitives 6.6.1. addSidebar Create a sidebar in the conference. Levin, et al. Expires April 27, 2006 [Page 27]
Internet-Draft CCCP October 2005 XML TBD. 6.6.2. modifySidebar Modify the sidebar parameters in the conference. XML TBD. 6.6.3. deleteSidebar Remove the sidebar from the conference. XML TBD. 6.6.4. addUserToSidebar Add the specified conference participant to the sidebar. XML TBD. 6.6.5. deleteUserFromSidebar Remove the specified conference participant from the sidebar. XML TBD. 6.6.6. moveUserBetweenSidebars Move the the specified conference participant from sidebar A to sidebar B. XML TBD. 6.7. Stimulus Primitives This operation is used to convey opaque to the CCCP logic requests from a CCCP client to a CCCP server to be processed by applications above CCCP. XML TBD. 7. The XML Schema <?xml version="1.0" encoding="utf-8" ?> <xs:schema targetNamespace="urn:ietf:params:xml:ns:cccp" xmlns:tns="urn:ietf:params:xml:ns:cccp" Levin, et al. Expires April 27, 2006 [Page 28]
Internet-Draft CCCP October 2005 xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ci="urn:ietf:params:xml:ns:conference-info" xmlns:cis="urn:ietf:params:xml:ns:conference-info-separator" elementFormDefault="qualified" attributeFormDefault="unqualified" > <!-- This import brings in the standard Conference Package definitions --> <xs:import namespace="urn:ietf:params:xml:ns:conference-info" schemaLocation="ci.xsd"/> <!-- This import brings in the standard Conference Package Standard Separator definitions --> <xs:import namespace="urn:ietf:params:xml:ns:conference-info-separator" schemaLocation="ci-separator.xsd"/> <!-- REQUEST ELEMENT --> <xs:element name="request" type="tns:request-type"/> <!-- RESPONSE ELEMENT --> <xs:element name="response" type="tns:response-type"/> <!-- REQUEST TYPE --> <xs:complexType name="request-type"> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element name="cancel" type="tns:cancel-type"/> <xs:element name="ping" type="tns:ping-type"/> <xs:element name="addConference" type="tns:add-conference-type"/> <xs:element name="modifyConference" type="tns:add-conference-type"/> <xs:element name="getConference" Levin, et al. Expires April 27, 2006 [Page 29]
Internet-Draft CCCP October 2005 type="tns:get-conference-type"/> <xs:element name="deleteConference" type="tns:delete-conference-type"/> <xs:element name="addUser" type="tns:add-user-type"/> <xs:element name="modifyUser" type="tns:add-user-type"/> <xs:element name="modifyUserRoles" type="tns:modify-user-roles-type"/> <xs:element name="getUser" type="tns:get-user-type"/> <xs:element name="deleteUser" type="tns:delete-user-type"/> <xs:element name="addEndpoint" type="tns:add-endpoint-type"/> <xs:element name="modifyEndpoint" type="tns:add-endpoint-type"/> <xs:element name="getEndpoint" type="tns:get-endpoint-type"/> <xs:element name="deleteEndpoint" type="tns:delete-endpoint-type"/> <xs:element name="addEndpointMedia" type="tns:add-endpoint-media-type"/> <xs:element name="modifyEndpointMedia" type="tns:add-endpoint-media-type"/> <xs:element name="getEndpointMedia" type="tns:get-endpoint-media-type"/> <xs:element name="deleteEndpointMedia" type="tns:delete-endpoint-media-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> <xs:attribute name="requestId" type="xs:string" use="required"/> <!-- The URI of the CCCP client sending the CCCP request --> <xs:attribute name="from" type="xs:anyURI" use="required"/> <!-- The URI of the CCCP server the request is destined to --> <xs:attribute name="to" type="xs:anyURI" use="required"/> <!-- The trusted Identifier of the originator of the request --> Levin, et al. Expires April 27, 2006 [Page 30]
Internet-Draft CCCP October 2005 <xs:attribute name="originator" type="xs:anyURI" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- RESPONSE TYPE --> <xs:complexType name="response-type"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:choice> <xs:element name="cancel" type="tns:cancel-response-type"/> <xs:element name="ping" type="tns:ping-response-type"/> <xs:element name="addConference" type="tns:add-conference-response-type"/> <xs:element name="modifyConference" type="tns:add-conference-response-type"/> <xs:element name="getConference" type="tns:get-conference-response-type"/> <xs:element name="deleteConference" type="tns:delete-conference-response-type"/> <xs:element name="addUser" type="tns:add-user-response-type"/> <xs:element name="modifyUser" type="tns:add-user-response-type"/> <xs:element name="modifyUserRoles" type="tns:modify-user-roles-response-type"/> <xs:element name="getUser" type="tns:get-user-response-type"/> <xs:element name="deleteUser" type="tns:delete-user-response-type"/> <xs:element name="addEndpoint" type="tns:add-endpoint-response-type"/> <xs:element name="modifyEndpoint" type="tns:add-endpoint-response-type"/> <xs:element name="getEndpoint" type="tns:get-endpoint-response-type"/> <xs:element name="deleteEndpoint" type="tns:delete-endpoint-response-type"/> <xs:element name="addEndpointMedia" type="tns:add-endpoint-media-response-type"/> <xs:element name="modifyEndpointMedia" type="tns:add-endpoint-media-response-type"/> <xs:element name="getEndpointMedia" type="tns:get-endpoint-media-response-type"/> <xs:element name="deleteEndpointMedia" Levin, et al. Expires April 27, 2006 [Page 31]
Internet-Draft CCCP October 2005 type="tns:delete-endpoint-media-response-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> <xs:attribute name="requestId" type="xs:string" use="required"/> <!-- The URI of the CCCP server sending the CCCP response --> <xs:attribute name="from" type="xs:anyURI" use="required"/> <!-- The URI of the CCCP client the response is destined to --> <xs:attribute name="to" type="xs:anyURI" use="required"/> <!-- The trusted Identifier of the responder --> <xs:attribute name="responder" type="xs:anyURI" use="optional"/> <xs:attribute name="code" type="tns:response-code-type" use="required"/> <xs:attribute name="reason" type="tns:reason-code-type" use="optional"/> <xs:attribute name="displayString" type="xs:string" use="optional"/> <xs:attribute name="timeOut" type="xs:nonNegativeInteger" use="optional"/> <xs:attribute name="retryAfter" type="xs:nonNegativeInteger" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- RESPONSE CODE TYPE --> <xs:simpleType name="response-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="success"/> <xs:enumeration value="pending"/> <xs:enumeration value="failure"/> </xs:restriction> </xs:simpleType> <!-- REASON CODE TYPE Levin, et al. Expires April 27, 2006 [Page 32]
Internet-Draft CCCP October 2005 --> <xs:simpleType name="reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="serverBusy"/> <xs:enumeration value="timeout"/> <xs:enumeration value="unauthorized"/> <xs:enumeration value="requestMalformed"/> <xs:enumeration value="requestTooLarge"/> <xs:enumeration value="requestCancelled"/> <xs:enumeration value="notSupported"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- CONFERENCE KEYS TYPE --> <xs:complexType name="conference-keys-type"> <xs:attribute name="confEntity" type="xs:anyURI"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- USER KEYS TYPE --> <xs:complexType name="user-keys-type"> <xs:attribute name="confEntity" type="xs:anyURI"/> <xs:attribute name="userEntity" type="xs:anyURI"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ENDPOINT KEYS TYPE --> <xs:complexType name="endpoint-keys-type"> <xs:attribute name="confEntity" type="xs:anyURI"/> <xs:attribute name="userEntity" type="xs:anyURI"/> <xs:attribute name="endpointEntity" type="xs:anyURI"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- MEDIA KEYS TYPE --> Levin, et al. Expires April 27, 2006 [Page 33]
Internet-Draft CCCP October 2005 <xs:complexType name="media-keys-type"> <xs:attribute name="confEntity" type="xs:anyURI"/> <xs:attribute name="userEntity" type="xs:anyURI"/> <xs:attribute name="endpointEntity" type="xs:anyURI"/> <xs:attribute name="mediaId" type="xs:string"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- CANCEL TYPE --> <xs:complexType name="cancel-type"> <xs:sequence> <xs:element name="requestId" type="xs:string"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- CANCEL RESPONSE TYPE --> <xs:complexType name="cancel-response-type"> <xs:sequence> <xs:element name="requestId" type="xs:string" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="reason" type="tns:cancel-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- CANCEL REASON CODE TYPE --> <xs:simpleType name="cancel-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="requestDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- Levin, et al. Expires April 27, 2006 [Page 34]
Internet-Draft CCCP October 2005 PING TYPE --> <xs:complexType name="ping-type"> <xs:sequence> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- PING RESPONSE TYPE --> <xs:complexType name="ping-response-type"> <xs:sequence> <xs:element name="serverStatus" type="tns:server-status-type" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD CONFERENCE TYPE --> <xs:complexType name="add-conference-type"> <xs:sequence> <xs:element ref="ci:conference-info"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD CONFERENCE RESPONSE TYPE --> <xs:complexType name="add-conference-response-type"> <xs:sequence> <xs:element ref="ci:conference-info" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> Levin, et al. Expires April 27, 2006 [Page 35]
Internet-Draft CCCP October 2005 <xs:attribute name="reason" type="tns:add-conference-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD CONFERENCE REASON CODE TYPE --> <xs:simpleType name="add-conference-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceExistsAlready"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- GET CONFERENCE TYPE --> <xs:complexType name="get-conference-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET CONFERENCE RESPONSE TYPE --> <xs:complexType name="get-conference-response-type"> <xs:sequence> <xs:element ref="ci:conference-info" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-conference-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET CONFERENCE REASON CODE TYPE --> Levin, et al. Expires April 27, 2006 [Page 36]
Internet-Draft CCCP October 2005 <xs:simpleType name="get-conference-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- DELETE CONFERENCE TYPE --> <xs:complexType name="delete-conference-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE CONFERENCE RESPONSE TYPE --> <xs:complexType name="delete-conference-response-type"> <xs:sequence> <xs:element ref="ci:conference-info" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:delete-conference-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE CONFERENCE REASON CODE TYPE --> <xs:simpleType name="delete-conference-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> Levin, et al. Expires April 27, 2006 [Page 37]
Internet-Draft CCCP October 2005 <!-- ADD USER TYPE --> <xs:complexType name="add-user-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type"/> <xs:element ref="ci:user"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD USER RESPONSE TYPE --> <xs:complexType name="add-user-response-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type" minOccurs="0"/> <xs:element ref="ci:user" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="reason" type="tns:add-user-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD USER REASON CODE TYPE --> <xs:simpleType name="add-user-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userExistsAlready"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- MODIFY USER ROLES TYPE --> <xs:complexType name="modify-user-roles-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type"/> Levin, et al. Expires April 27, 2006 [Page 38]
Internet-Draft CCCP October 2005 <xs:element ref="ci:user-roles"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- MODIFY USER ROLES RESPONSE TYPE --> <xs:complexType name="modify-user-roles-response-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type" minOccurs="0"/> <xs:element ref="ci:user" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-user-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET USER TYPE --> <xs:complexType name="get-user-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET USER RESPONSE TYPE --> <xs:complexType name="get-user-response-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type" minOccurs="0"/> <xs:element ref="ci:user" minOccurs="0"/> <xs:sequence minOccurs="0"> Levin, et al. Expires April 27, 2006 [Page 39]
Internet-Draft CCCP October 2005 <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-user-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET USER REASON CODE TYPE --> <xs:simpleType name="get-user-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- DELETE USER TYPE --> <xs:complexType name="delete-user-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE USER RESPONSE TYPE --> <xs:complexType name="delete-user-response-type"> <xs:sequence> <xs:element name="conferenceKeys" type="tns:conference-keys-type" minOccurs="0"/> <xs:element ref="ci:user" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> Levin, et al. Expires April 27, 2006 [Page 40]
Internet-Draft CCCP October 2005 </xs:sequence> <xs:attribute name="reason" type="tns:delete-user-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE USER REASON CODE TYPE --> <xs:simpleType name="delete-user-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- ADD ENDPOINT TYPE --> <xs:complexType name="add-endpoint-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type"/> <xs:element ref="ci:endpoint"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD ENDPOINT RESPONSE TYPE --> <xs:complexType name="add-endpoint-response-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type" minOccurs="0"/> <xs:element ref="ci:endpoint" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> Levin, et al. Expires April 27, 2006 [Page 41]
Internet-Draft CCCP October 2005 <xs:attribute name="reason" type="tns:add-user-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET ENDPOINT TYPE --> <xs:complexType name="get-endpoint-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET ENDPOINT REASON CODE TYPE --> <xs:simpleType name="get-endpoint-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="endpointDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- GET ENDPOINT RESPONSE TYPE --> <xs:complexType name="get-endpoint-response-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type" minOccurs="0"/> <xs:element ref="ci:endpoint" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-endpoint-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> Levin, et al. Expires April 27, 2006 [Page 42]
Internet-Draft CCCP October 2005 <!-- DELETE ENDPOINT TYPE --> <xs:complexType name="delete-endpoint-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE ENDPOINT REASON CODE TYPE --> <xs:simpleType name="delete-endpoint-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="endpointDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- DELETE ENDPOINT RESPONSE TYPE --> <xs:complexType name="delete-endpoint-response-type"> <xs:sequence> <xs:element name="userKeys" type="tns:user-keys-type" minOccurs="0"/> <xs:element ref="ci:endpoint" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:delete-endpoint-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD ENDPOINT MEDIA TYPE --> Levin, et al. Expires April 27, 2006 [Page 43]
Internet-Draft CCCP October 2005 <xs:complexType name="add-endpoint-media-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type"/> <xs:element ref="ci:media"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD ENDPOINT MEDIA RESPONSE TYPE --> <xs:complexType name="add-endpoint-media-response-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type" minOccurs="0"/> <xs:element ref="ci:media" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:add-endpoint-media-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- ADD ENDPOINT MEDIA REASON CODE TYPE --> <xs:simpleType name="add-endpoint-media-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="endpointDoesntExist"/> <xs:enumeration value="mediaExistsAlready"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- GET ENDPOINT MEDIA TYPE --> <xs:complexType name="get-endpoint-media-type"> Levin, et al. Expires April 27, 2006 [Page 44]
Internet-Draft CCCP October 2005 <xs:sequence> <xs:element name="mediaKeys" type="tns:media-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- GET ENDPOINT MEDIA REASON CODE TYPE --> <xs:simpleType name="get-media-reason-code-type"> <xs:restriction base="xs:string"> <xs:enumeration value="conferenceDoesntExist"/> <xs:enumeration value="userDoesntExist"/> <xs:enumeration value="endpointDoesntExist"/> <xs:enumeration value="mediaDoesntExist"/> <xs:enumeration value="otherFailure"/> </xs:restriction> </xs:simpleType> <!-- GET ENDPOINT MEDIA RESPONSE TYPE --> <xs:complexType name="get-endpoint-media-response-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type" minOccurs="0"/> <xs:element ref="ci:media" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-media-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE ENDPOINT MEDIA TYPE --> <xs:complexType name="delete-endpoint-media-type"> <xs:sequence> <xs:element name="mediaKeys" Levin, et al. Expires April 27, 2006 [Page 45]
Internet-Draft CCCP October 2005 type="tns:media-keys-type"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- DELETE ENDPOINT MEDIA RESPONSE TYPE --> <xs:complexType name="delete-endpoint-media-response-type"> <xs:sequence> <xs:element name="endpointKeys" type="tns:endpoint-keys-type" minOccurs="0"/> <xs:element ref="ci:media" minOccurs="0"/> <xs:sequence minOccurs="0"> <xs:element ref="cis:separator"/> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:attribute name="reason" type="tns:get-media-reason-code-type" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- SERVER LIST TYPE --> <xs:complexType name="server-list-type"> <xs:sequence> <xs:element name="entry" type="tns:server-description-type" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="ci:state" use="optional" default="full"/> <xs:attribute name="version" type="xs:unsignedInt" use="optional"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- SERVER DESCRIPTION TYPE --> <xs:complexType name="server-description-type"> <xs:sequence> Levin, et al. Expires April 27, 2006 [Page 46]
Internet-Draft CCCP October 2005 <xs:element name="status" type="tns:server-status-type" minOccurs="0"/> <xs:element name="modality" type="xs:string"/> <xs:element name="vendor" type="xs:string"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="entity" type="xs:anyURI" use="required"/> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:complexType> <!-- SERVER STATUS TYPE --> <xs:simpleType name="server-status-type"> <xs:restriction base="xs:string"> <xs:enumeration value="full"/> <xs:enumeration value="loaded"/> <xs:enumeration value="normal"/> <xs:enumeration value="unavailable"/> </xs:restriction> </xs:simpleType> </xs:schema> 8. IANA Considerations This document registers a new XML namespace and a new XML schema. 8.1. URN Sub-Namespace Registration for urn:ietf:params:xml:ns:cccp This section registers a new XML namespace, as per the guidelines in RFC 3688 [5]. URI: The URI for this namespace is urn:ietf:params:xml:ns:cccp Registrant Contact: IETF XCON Working Group <xcon@ietf.org>, as designated by the IESG <iesg@ietf.org> XML: Levin, et al. Expires April 27, 2006 [Page 47]
Internet-Draft CCCP October 2005 BEGIN <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/> <title>Centralized Conference Information Namespace</title> </head <body> <h1>Namespace for Centralized Conference Control Protocol</h1> <h2>urn:ietf:params:xml:ns:cccp</h2> <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p> </body> </html> END 8.2. XML Schema Registration This specification registers a schema, as per the guidelines in RFC 3688 [5]. URI: please assign Registrant Contact: IETF XCON Working Group <xcon@ietf.org>, as designated by the IESG <iesg@ietf.org> XML: The XML can be found as the sole content of Section 7 9. Security Considerations Manipulation of conference state and policy information through the conference control protocol require a strong means for authentication, conference information protection, and applying comprehensive authorization rules by a focus. Users of this specification MUST use encrypted transport means and comply with the security considerations discussed in the XCON Framework [7] and the SIP Event Package for Conference State [2] . 10. Acknowledgements The author would like to thank Gur Kimchi for his earlier work that served as the starting point for this specification. 11. References Levin, et al. Expires April 27, 2006 [Page 48]
Internet-Draft CCCP October 2005 11.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Rosenberg, J., "A Session Initiation Protocol (SIP) Event Package for Conference State", draft-ietf-sipping-conference-package-12 (work in progress), July 2005. [3] Levin, O., "Extensions to the Session Initiation Protocol (SIP) Event Package for Conference State", draft-levin-xcon-conference-package-ext-00 (work in progress), October 2005. 11.2. Informative References [4] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002. [5] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [6] Rosenberg, J., "A Framework for Conferencing with the Session Initiation Protocol", draft-ietf-sipping-conferencing-framework-05 (work in progress), May 2005. [7] Barnes, M., "A Framework and Data Model for Centralized Conferencing", draft-ietf-xcon-framework-01 (work in progress), July 2005. Levin, et al. Expires April 27, 2006 [Page 49]
Internet-Draft CCCP October 2005 Authors' Addresses Orit Levin Microsoft Corporation One Microsoft Way Redmond, WA 98052 USA Email: oritl@microsoft.com Roni Even Polycom 94 Derech Em Hamoshavot Petach Tikva, 49130 Israel Email: roni.even@polycom.co.il Pierre Hagendorf RADVISION 24, Raul Wallenberg St. Tel-Aviv, 69719 Israel Email: pierre@radvision.com Levin, et al. Expires April 27, 2006 [Page 50]
Internet-Draft CCCP October 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Levin, et al. Expires April 27, 2006 [Page 51]