XCON H. Khartabil Internet-Draft P. Koskelainen Expires: April 12, 2005 A. Niemi Nokia October 12, 2004 The Conference Policy Control Protocol (CPCP) draft-ietf-xcon-cpcp-01 Status of this Memo This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. 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 become aware will be disclosed, in accordance with RFC 3668. 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 12, 2005. Copyright Notice Copyright (C) The Internet Society (2004). Abstract The Conference Policy is defined as the complete set of rules for a particular conference manipulated by the conference policy server. The Conferece Policy Control Protocol (CPCP) is the protocol used by clients to manipulate the conference policy. This document describes the Conference Policy Control Protocol (CPCP). It specifies an Extensible Markup Language (XML) Schema that enumerates the Khartabil, et al. Expires April 12, 2005 [Page 1] Internet-Draft CPCP October 2004 conference policy data elements that enable a user to define a conference policy. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions Used in This Document . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Structure of a Conference Policy document . . . . . . . . . . 5 4.1 MIME Type for CPCP XML Document . . . . . . . . . . . . . 5 4.2 Conference Root . . . . . . . . . . . . . . . . . . . . . 5 4.3 XML Document Description . . . . . . . . . . . . . . . . . 6 4.3.1 Conference Settings . . . . . . . . . . . . . . . . . 6 4.3.2 Conference Information . . . . . . . . . . . . . . . . 8 4.3.3 Conference Time . . . . . . . . . . . . . . . . . . . 9 4.3.4 Conference Dial-Out List . . . . . . . . . . . . . . . 10 4.3.5 Conference Refer List . . . . . . . . . . . . . . . . 11 4.3.6 Conference Media Streams . . . . . . . . . . . . . . . 11 4.3.7 Conference Authorization Rules . . . . . . . . . . . . 12 4.3.7.1 Conditions . . . . . . . . . . . . . . . . . . . . 12 4.3.7.1.1 Validity . . . . . . . . . . . . . . . . . . . 13 4.3.7.1.2 Identity . . . . . . . . . . . . . . . . . . . 14 4.3.7.1.2.1 Interpreting the Element . . . . . . 15 4.3.7.1.3 Sphere . . . . . . . . . . . . . . . . . . . . 15 4.3.7.1.4 Conference Policy Identity . . . . . . . . . . 15 4.3.7.1.4.1 Matching Any Identity . . . . . . . . . . 15 4.3.7.1.4.2 Matching Identities in External Lists . . 15 4.3.7.1.5 Matching Pseudonymous Identities . . . . . . . 15 4.3.7.1.6 Matching Referred Identities . . . . . . . . . 16 4.3.7.1.7 Matching Invited Identities . . . . . . . . . 16 4.3.7.1.8 Matching Identities of Former Conference Participants . . . . . . . . . . . . . . . . . 17 4.3.7.1.9 Matching Identities Currently in the Conference . . . . . . . . . . . . . . . . . . 17 4.3.7.1.10 Matching Key Participant Identities . . . . . 17 4.3.7.1.11 Matching Identities on the Dial-out List . . . 17 4.3.7.1.12 Matching Identities on the Refer List . . . . 17 4.3.7.1.13 Floor ID . . . . . . . . . . . . . . . . . . . 17 4.3.7.1.14 Matching Participant Passcodes . . . . . . . . 17 4.3.7.1.15 Matching Passcodes . . . . . . . . . . . . . . 18 4.3.7.2 Actions . . . . . . . . . . . . . . . . . . . . . 19 4.3.7.2.1 Conference State Events . . . . . . . . . . . 19 4.3.7.2.2 Floor Control Events . . . . . . . . . . . . . 19 4.3.7.2.3 Conference Join Handling . . . . . . . . . . . 20 4.3.7.2.4 Dynamically Referring Users . . . . . . . . . 20 4.3.7.2.5 Dynamically Inviting Users . . . . . . . . . . 20 4.3.7.2.6 Dynamically Removing Users . . . . . . . . . . 21 4.3.7.2.7 Floor Request Handling . . . . . . . . . . . . 21 Khartabil, et al. Expires April 12, 2005 [Page 2] Internet-Draft CPCP October 2004 4.3.7.3 Transformations . . . . . . . . . . . . . . . . . 22 4.3.7.3.1 Key Participant . . . . . . . . . . . . . . . 22 4.3.7.3.2 Floor Moderator . . . . . . . . . . . . . . . 22 4.3.7.3.3 Conference Information . . . . . . . . . . . . 22 4.3.7.3.4 Floor Holder . . . . . . . . . . . . . . . . . 22 4.3.7.3.5 Floor Requests . . . . . . . . . . . . . . . . 23 4.3.7.3.6 Providing anonymity . . . . . . . . . . . . . 23 4.4 XML Schema Extensibility . . . . . . . . . . . . . . . . . 23 4.5 XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 24 5. Conference Policy Manipulation and Conference Entity Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.1 Overview of Operation . . . . . . . . . . . . . . . . . . 28 5.2 Use of External Lists . . . . . . . . . . . . . . . . . . 29 5.3 Communication Between Conference Entities . . . . . . . . 29 5.4 Manipulating Participant Lists . . . . . . . . . . . . . . 29 5.4.1 Expelling a Participant . . . . . . . . . . . . . . . 30 5.5 Re-joining a Conference . . . . . . . . . . . . . . . . . 31 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.1 A Simple Conference Policy Document . . . . . . . . . . . 32 6.2 A Complex Conference Policy Document . . . . . . . . . . . 32 7. Security Considerations . . . . . . . . . . . . . . . . . . . 34 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 8.1 XCAP Application Usage ID . . . . . . . . . . . . . . . . 36 8.2 application/conference-policy+xml MIME TYPE . . . . . . . 36 8.3 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:conference-policy . . . . . . . . . 37 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 37 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 37 11. Normative References . . . . . . . . . . . . . . . . . . . . 38 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 39 Intellectual Property and Copyright Statements . . . . . . . . 41 Khartabil, et al. Expires April 12, 2005 [Page 3] Internet-Draft CPCP October 2004 1. Introduction The SIP conferencing framework [13] defines the mechanisms for multi-party centralized conferencing in a SIP environment. Existing SIP mechanisms allow users, for example, to join and leave a conference, as described in [9]. A centralised server, called focus, can expel and invite users, and may have proprietary access control lists and user privilege definitions. This document defines an XML Schema in Section 4 that enumerates the conference policy data elements that enable a user to define a conference policy. This policy document may be given to a focus using a number of transports that are outside the scope of this document. A focus conforming to this specification MUST support the XML object defined in Section 4. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [2]. 3. Terminology This document uses terminology from [13]. Some additional definitions are introduced here. Conference authorization policy (CAP): Conference authorization policy consists of an unordered set of rules, which control the permissions and privileges that are given to conference participants. Conference Policy Server (CPS): Conference Policy Server. See [13] Conference participant: A conference participant is a user who has an on-going session (e.g. SIP dialog) with the conference focus. Key participant: A key participant is a user whose participantion in the conference is required for the conference to take place as s/he can be the note taker, the person with whom a debate is taking place, etc. A key participant may be required to be in a conference before the conference starts and may be required for the conference not to end. Floor control: Floor control is a mechanism that enables applications or users to gain safe and mutually exclusive or non-exclusive access to the shared object or resource in a Khartabil, et al. Expires April 12, 2005 [Page 4] Internet-Draft CPCP October 2004 conference. Dial-Out List (DL): The Dial-out list (DL) is a list of users who the focus needs to invite to the conference. Privileged user: A privileged user is a user that has the right to manipulate parts or all of the conference policy XML document. Conference Policy URI: The URI of conference policy. It identifies the XML document. The URI construction is specified in [10]. Refer List (RL): The Refer list (RL) is a list of users who the focus needs to refer to the conference. Sidebar: A sub-conference of a main conference. 4. Structure of a Conference Policy document The conference policy document is an XML [6] document that MUST be well-formed and MUST be valid according to schemas, including extension schemas, available to the validater and applicable to the XML document. The Conference policy documents MUST be based on XML 1.0 and MUST be encoded using UTF-8. This specification makes use of XML namespaces for identifying conference policy documents and document fragments. The namespace URI for elements defined by this specification is a URN [3], using the namespace identifier 'ietf' defined by [4] and extended by [15]. This URN is: urn:ietf:params:xml:ns:conference-policy 4.1 MIME Type for CPCP XML Document The MIME type for the CPCP XML document is "application/conference-policy+xml". 4.2 Conference Root A conference policy document begins with the root element tag . Other elements from different namespaces MAY be present for the purposes of extensibility. Elements or attributes from unknown namespaces MUST be ignored. The conference policy is build up using the following: o The element: This element is mandatory and contains various conference settings. It contains the conference URI(s), the maximum number of participants, the conference security level, Khartabil, et al. Expires April 12, 2005 [Page 5] Internet-Draft CPCP October 2004 and sidebar settings. It can occur only once in the document. o The element: This element is optional and includes information describing the conference, that can be used, for example, search purposes. This information can also be used in the session description when the focus is sending invitations. It can occur only once in the document. o The