XCON H. Khartabil Internet-Draft P. Koskelainen Expires: January 14, 2005 A. Niemi Nokia July 16, 2004 The Conference Policy Control Protocol (CPCP) draft-ietf-xcon-cpcp-xcap-01 Status of this Memo By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, and any of which I 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 January 14, 2005. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract This document describes the Conference Policy Control Protocol (CPCP). It specifies an Extensible Markup Language (XML) Schema that enumerates the conference policy data elements that enable a user to define a conference policy. It also defines an XML Configuration Access Protocol (XCAP) application usage that may be used to store and manipulate a conference policy. Khartabil, et al. Expires January 14, 2005 [Page 1] Internet-Draft CPCP July 2004 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions Used in This Document . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Structure of a Conference Policy document . . . . . . . . . . 6 4.1 MIME Type for CPCP XML Document . . . . . . . . . . . . . 6 4.2 Conference Root . . . . . . . . . . . . . . . . . . . . . 6 4.3 XML Document Description . . . . . . . . . . . . . . . . . 7 4.3.1 Conference Settings . . . . . . . . . . . . . . . . . 7 4.3.2 Conference Information . . . . . . . . . . . . . . . . 8 4.3.3 Conference Time . . . . . . . . . . . . . . . . . . . 9 4.3.4 Conference Authorization Rules . . . . . . . . . . . . 10 4.3.5 Conference Dial-Out List . . . . . . . . . . . . . . . 21 4.3.6 Conference Refer List . . . . . . . . . . . . . . . . 22 4.3.7 Conference Security Control . . . . . . . . . . . . . 22 4.3.8 Conference Floor Policy . . . . . . . . . . . . . . . 22 4.3.9 Conference Media Streams . . . . . . . . . . . . . . . 23 4.4 XML Schema Extensibility . . . . . . . . . . . . . . . . . 24 4.5 XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 24 5. Conference Policy Manipulation and Conference Entity Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.1 Overview of Operation . . . . . . . . . . . . . . . . . . 30 5.2 Use of External Lists . . . . . . . . . . . . . . . . . . 31 5.3 Communication Between Conference Entities . . . . . . . . 31 5.4 Manipulating Participant Lists . . . . . . . . . . . . . . 31 5.4.1 Expelling a Participant . . . . . . . . . . . . . . . 32 5.5 Re-joining a Conference . . . . . . . . . . . . . . . . . 33 5.6 Floor Control Policy vs. Floor Control Protocol . . . . . 33 6. An XCAP Usage for Conference Policy Manipulation . . . . . . . 34 6.1 Application Unique ID . . . . . . . . . . . . . . . . . . 34 6.2 Resource Interdependencies . . . . . . . . . . . . . . . . 34 6.3 Additional Constraints . . . . . . . . . . . . . . . . . . 34 6.4 Naming Conventions . . . . . . . . . . . . . . . . . . . . 34 6.5 Authorization Policies . . . . . . . . . . . . . . . . . . 34 6.6 MIME Type for CPCP XML Document . . . . . . . . . . . . . 35 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.1 An Example CPCP Document . . . . . . . . . . . . . . . . . 35 7.2 CPCP Manipulations Using XCAP . . . . . . . . . . . . . . 38 8. Security Considerations . . . . . . . . . . . . . . . . . . . 40 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 9.1 XCAP Application Usage ID . . . . . . . . . . . . . . . . 41 9.2 application/conference-policy+xml MIME TYPE . . . . . . . 41 9.3 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:conference-policy . . . . . . . . . 42 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 43 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 43 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 43 Khartabil, et al. Expires January 14, 2005 [Page 2] Internet-Draft CPCP July 2004 12.1 Normative References . . . . . . . . . . . . . . . . . . . . 43 12.2 Informative References . . . . . . . . . . . . . . . . . . . 44 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 45 Intellectual Property and Copyright Statements . . . . . . . . 46 Khartabil, et al. Expires January 14, 2005 [Page 3] Internet-Draft CPCP July 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. In some cases, such as some ad-hoc scenarios described in [9], there is a static conference policy which is not changed or manipulated during a conference. This policy document may be given to a focus using a number of transports. Mechanisms such as a web page or a voice response system can also be used to manipulate conference policy data. However, in many cases it is useful to have standardised means to manipulate conference policy elements such as access control lists. The requirements for such protocol are defined in [8]. Section 6 of this document describes one such protocol for the real-time manipulation of conference policy. An XML Configuration Access Protocol (XCAP) [10] application usage is defined which meets the requirements in [8] to store and manipulate a conference policy object. XCAP has many advantages in its use for conference policy control protocol. It is a HTTP 1.1 based protocol that allows clients to read, write, modify and delete application data stored in XML format at a server. XCAP maps XML document elements and attributes to HTTP URIs that can be directly accessed by HTTP. One application area which has already adopted XCAP is the manipulation of event lists [11]. A focus conforming to this specification MUST support the XML object defined in Section 4 . For manipulation of the the XML object, the system MAY support the XCAP usage defined in Section 6. 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. Khartabil, et al. Expires January 14, 2005 [Page 4] Internet-Draft CPCP July 2004 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 Conference participant is a user who has an on-going session (e.g. SIP dialog) with the conference focus. 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 conference. Dial-Out List (DL) 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 manipulate parts or all of the conference policy settings. CPS XCAP URI The URI of the XCAP server that is used to create the conference. The URI construction is specified in [10]. It is referred to in XCAP as the host part. Conference Policy URI The URI of conference policy. In XCAP, it is the CPS XCAP URI along with the abs_path. It identifies the XML document. The URI construction is specified in [10]. Khartabil, et al. Expires January 14, 2005 [Page 5] Internet-Draft CPCP July 2004 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. 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) and the maximum number of participants. It can occur only once in the document. o The element: This element is optional and includes information describing the conference, e.g. for 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