From: http://www.ietf.org/internet-drafts/draft-koskelainen-xcon-xcap-cpcp-usage-02.txt Title: An Extensible Markup Language (XML) Configuration Access Protocol (XCAP) Usage for Conference Policy Manipulation Reference: IETF XCON Working Group, Internet Draft, 'draft-koskelainen-xcon-xcap-cpcp-usage-02' Date: February 4, 2004 -------------------------------------------------------------------------- XCON P. Koskelainen Internet-Draft H. Khartabil Expires: August 4, 2004 Nokia February 4, 2004 An Extensible Markup Language (XML) Configuration Access Protocol (XCAP) Usage for Conference Policy Manipulation draft-koskelainen-xcon-xcap-cpcp-usage-02 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 August 4, 2004. Copyright Notice Copyright (C) The Internet Society (2004). All Rights Reserved. Abstract This document describes conference policy data elements and the mechanisms to manipulate them at a server via Conference Policy Control Protocol (CPCP). Extensible Markup Language (XML) Configuration Access Protocol (XCAP) is used to implement CPCP. This document specifies an XML Schema and XCAP application usage that are needed to implement CPCP. Koskelainen & Khartabil Expires August 4, 2004 [Page 1] Internet-Draft XCAP CPCP February 2004 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Application Unique ID . . . . . . . . . . . . . . . . . . . 4 5. Resource Interdependencies . . . . . . . . . . . . . . . . . 5 6. Additional Constraints . . . . . . . . . . . . . . . . . . . 5 7. Naming Conventions . . . . . . . . . . . . . . . . . . . . . 5 8. Authorization Policies . . . . . . . . . . . . . . . . . . . 5 9. MIME Type for CPCP XML Document . . . . . . . . . . . . . . 5 10. Overview of Operation . . . . . . . . . . . . . . . . . . . 5 11. Communication Between Conference Entities . . . . . . . . . 6 12. Conference Creation and Termination . . . . . . . . . . . . 6 13. Manipulating the Participant Lists . . . . . . . . . . . . . 6 13.1 Expelling a Participant . . . . . . . . . . . . . . . . . . 7 14. Privileges: Who can modify the conference policy . . . . . . 7 15. Conference URI(s) . . . . . . . . . . . . . . . . . . . . . 8 16. Floor Control Policy vs. Floor Control Protocol . . . . . . 8 17. Structure of a Conference Policy document . . . . . . . . . 9 18. XML Document Description . . . . . . . . . . . . . . . . . . 10 18.1 element . . . . . . . . . . . . . . . 10 18.2 element . . . . . . . . . . . . . . . . . 11 18.3 element . . . . . . . . . . . . . . . . . 11 18.4 (Access Control List) element . . . . . . . . . . . . 12 18.5 (Privilege Control List) element . . . . . . . . . . . 13 18.6
(Dial-Out List) element . . . . . . . . . . . . . . . . 14 18.7 (Security Control) element . . . . . . . . . . . . . . 14 18.8 element . . . . . . . . . . . . . 15 18.9 element . . . . . . . . . . . . . 16 19. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . 16 20. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 23 21. Security Considerations . . . . . . . . . . . . . . . . . . 26 22. IANA Considerations . . . . . . . . . . . . . . . . . . . . 26 22.1 XCAP Application Usage ID . . . . . . . . . . . . . . . . . 26 22.2 application/conference-policy+xml mime TYPE . . . . . . . . 26 22.3 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:conference-policy . . . . . . . . . . 27 23. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 24. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 Normative References . . . . . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 29 Intellectual Property and Copyright Statements . . . . . . . 30 Koskelainen & Khartabil Expires August 4, 2004 [Page 2] Internet-Draft XCAP CPCP February 2004 1. Introduction SIP conferencing framework [11] 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. A centralized server,called focus, can expel and invite users, and may have proprietary access control lists and user privilege definitions. However, in many cases it is useful to have standardized conference policy elements such as access control lists and the standardized protocol means to manipulate them as defined in conference policy control protocol requirements [7] document. This document provides both standardized conference policy elements and an XCAP [8] application usage to manipulate them. Other mechanisms, such as web page or voice response system can also be used to manipulate conference policy data. 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 [9]. 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. 3. Terminology This document uses terminology from [11]. Some additional definitions are introduced here. ACL Access control list (ACL) defines users who can join to a conference. Users may have allowed, blocked, pending or expelled status in the list. Each conference has its own ACL. CPS Conference Policy Server. See [11] Conference participant Koskelainen & Khartabil Expires August 4, 2004 [Page 3] Internet-Draft XCAP CPCP February 2004 Conference participant is a user who has 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. PCL Privilege control control (PCL) defines privileges for a user. Each user in a conference may have different list of privileges and each conference has its own PCL. Privileged user In this document, a privileged user is the creator. Defining privileges to modify certain parts of a conference policy is outside the scope of this document. CPS XCAP URI The URI of the XCAP server that is used to create the conference. The URI contsruction is specified in [8]. It is refered 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 contsruction is specified in [8]. 4. Application Unique ID XCAP requires application usages to define a unique application usage ID (AUID) in either the IETF tree or a vendor tree. This specification defines the "conference-policy" AUID within the IETF tree, via the IANA registration in Section 22. Koskelainen & Khartabil Expires August 4, 2004 [Page 4] Internet-Draft XCAP CPCP February 2004 5. Resource Interdependencies The conference policy server must fill the conference URI(s), if a conference URI was not proposed by the client. The client then needs to perform a HTTP GET to retrieve the modified policy containing the assigned conference URI(s). The CPS MAY assign multiple conference URIs to a conference, one for each call signaling protocol that it supports. Section 15 and Section 18.1 discuss this is more detail. 6. Additional Constraints These are defined within the XML structure definition. 7. Naming Conventions There are no naming conventions that need to be defined for this application usage. 8. Authorization Policies This application usage does not modify the default XCAP authorization policy, which is that only a user can read, write or modify their own documents. A server can allow privileged users to modify documents that they don't own, but the establishment and indication of such policies is outside the scope of this document. It is anticipated that a future application usage will define which users are allowed to modify a list resource. 9. MIME Type for CPCP XML Document The MIME type for the CPCP XML document is application/ conference-policy+xml 10. Overview of Operation This document assumes that the user knows the location of conference policy server (the XCAP URI), the details of that discovery are beyond the scope of this document. CPCP is implemented as an XCAP application usage [8]. CPCP allows clients to manipulate the conference policy at conference policy server (CPS). CPS is able to inform the focus about changes in conference policy, if necessary. For example, if new users are added to the dial-out list, then conference policy server informs the focus which makes the invitations as requested. Some assumptions about the conferencing architecture are made. Koskelainen & Khartabil Expires August 4, 2004 [Page 5] Internet-Draft XCAP CPCP February 2004 Clients always connect to the conference policy server (CPS) when they perform XCAP operations. It is assumed that CPS informs other conferencing entities, such as focus, floor control server and mixer directly or via focus. For example, if user A wants to expel user B from an ongoing conference, user A must first manipulate the conference policy data. CPS then communicates that change to the focus to perform the operation. 11. Communication Between Conference Entities The communication between different (logical) conferencing elements is beyond the scope of this document. It can be expected that in most cases CPS includes also those logical functions. If the focus is not co-located with CPS, one way for the CPS to communicate changes to the conference policy is for the focus to subscribe to the XCAP event package [10]. 12. Conference Creation and Termination Conference is identified by one or more conference URIs. Conference URI assignment is discussed in Section 15 and Section 18.1. A user may create a new conference at the CPS by using HTTP PUT and sending it to the CPS XCAP URI. Depending on server policy and user privileges, the CPS may accept the creation. A conference can be deleted permanently using HTTP DELETE, which consequently frees the resources. When the user deletes a conference, CPS MUST also delete all its sub-conferences ("side bars") at a server. Conference side bars are separate (independent) URIs at the server. A running conference instance can be also stopped by modifying the conference time information. This leaves conference ACLs and privileges intact but stops the conference. If a conference is in progress when deleted or stopped, the focus issues signalling requests to terminate all conference related sessions it has with clients. In SIP, the focus issues BYE requests. 13. Manipulating the Participant Lists A user with sufficient privileges is allowed to perform user management operations, such as adding a new user to the conference or expelling a user from the conference. These operations are performed by modifying the conference policy at the conference policy server. After authorising the user to do such manipulations, the conference policy server communicates the change to the focus. The focus reacts Koskelainen & Khartabil Expires August 4, 2004 [Page 6] Internet-Draft XCAP CPCP February 2004 by performing operations such as sending SIP INVITE, BYE or REFER. Asking the focus to invite a user into the conference is achieved by sending a HTTP PUT request to the CPS that modifies the Dial-Out List (DL) adding URIs to it. The CPS then triggers the focus to send the conference invitation, eg: SIP INVITE(s) as needed. Similarly, a user can be removed from the Dial-out list by issuing a HTTP DELETE removing the URIs. Asking the focus to allow certain users to join the conference is done by sending a HTTP PUT request to the CPS that modifies the ACL by adding URIs with access type of "Allowed". The CPS then informs the focus of such change to the ACL. If the conference is long-lasting, it is possible that new rules are added all the time but old rules are almost never removed (some of them are overwritten, though). This leads easily to the situation that the ACL contains many unnecessary rules which are not really needed anymore. Therefore, there is a need to delete ACL rule. This can be achieved with the HTTP DELETE. Conflicting rules MUST NOT exist (e.g. both allowed and blocked action is defined for same target). It is the responsibly of the CPS to ensure such restriction. If a conflict occurs, the CPS can ... 13.1 Expelling a Participant Expel operation uses the HTTP PUT request as well, as the user is put on the ACL list with an access type of "Expelled". This also triggers the CPS to inform the focus about the need to issue a terminating request, such as a SIP BYE. A participant cannot be expelled by placing him in the ACL list with an action to block. This is because the focus interprets a user placed on the block list as a user who is not allowed to dial into the conference, but does not prohibit the focus from inviting that user to join, if that user is on the Dial-out list. Having the user on an Expel list explicitly informs the focus not to invite that user, even if s/he is on the Dial-out list. 14. Privileges: Who can modify the conference policy There is a need for different privileges to exist where users can modify certain parts of the conference policy XML document. This specification does not specify such privileges and relies on other XCAP usage documents to define those privileges. If no such XCAP usage document exists, the base XCAP document defines the default privileges so that only the creator of the document is the sole user Koskelainen & Khartabil Expires August 4, 2004 [Page 7] Internet-Draft XCAP CPCP February 2004 with write access. This specification, however, makes ready the CPCP XML document to allow an external usage document to define which parts of such an XML document a user can modify (which parts of an XML document a user has read/write access to) by dividing the CPCP XML document into sections, each with a separate namespace. It is envisioned that the XCAP usage document for read/write access of another XCAP XML document uses namespaces as the key to allow/disallow users from reading and/or modifying that XCAP usage document. 15. Conference URI(s) A conference is identified by one or more conference URIs. Conference URIs can be proposed by the creator of the conference policy, as it may be useful to have human-friendly name in some cases, or can be assigned by the CPS. If the creator has proposed a conference URI, the server needs to decide whether it accept the name proposed by the client or not. It does this determination by examining if the conference URI already exists or not. If it exists, the server ... A Conference URI can be SIP, SIPS, TEL, or any supported URI scheme. There must be at least one URI for a conference. The CPS MAY assign multiple conference URIs to a conference, one for each call signaling protocol that it supports. If the creator of the conference policy proposed a conference URI for a protocol that the server does not support, the server ... 16. Floor Control Policy vs. Floor Control Protocol Conference floor control is an optional feature provided by a separate floor control protocol (FCP). However, creating a floor and defining a floor policy belongs to CPCP. Moreover, setting some key floor parameters, such as floor moderator in moderator controlled floor policy, belongs to CPCP. FCP only defines how to request, grant, deny and revoke a floor within given floor policy. For example, in a typical conference the privileged conference user (creator) uses CPCP for creating a floor for audio plane, defining the floor policy as "moderator-controlled" and appointing one user - possibly himself - to act as a floor moderator governing the access to the floor. When the floor has been created and possible floor moderator has been assigned, the floor moderator gets notifications from the focus and is able to accept or deny floor requests from the conference users. Note that FCP does not create media streams (just the virtual floor attached to media), as media streams are created using CPCP. The Koskelainen & Khartabil Expires August 4, 2004 [Page 8] Internet-Draft XCAP CPCP February 2004 details of FCP are beyond the scope of this draft. 17. Structure of a Conference Policy document Conference policy document is an XML [5] 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 [2], using the namespace identifier 'ietf' defined by [3] and extended by [13]. This URN is: urn:ietf:params:xml:ns:conference-policy A conference policy document begins with the root element tag "conference-policy". 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 multiple namespaces: o "urn:ietf:params:xml:ns:conference-settings": This namespace defines elements for conference setting. The inclusion of this namespace is optional. It contains the mandatory element . This element contains the conference URI(s) and maximum number of participants. It can occur only once in the document. o "urn:ietf:params:xml:ns:conference-info": This namespace defines elements to carry conference information. The inclusion of this namespace is optional. It contains the mandatory element . This element includes informational 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 "urn:ietf:params:xml:ns:conference-time": This optional namespace defines conference time information. It defines the mandatory element that includes elements defining start and stop times for a conference. o "urn:ietf:params:xml:ns:conference-acl": This optional namespace is for the access control list. It defines the mandatory element that contains URIs for users who can dial into the conference, users who are blocked from dialling in, and expelled users. o "urn:ietf:params:xml:ns:conference-pcl": This optional namespace is for the privilege control list. It defines the mandatory Koskelainen & Khartabil Expires August 4, 2004 [Page 9] Internet-Draft XCAP CPCP February 2004 element that contains privileges and URIs for users who have those privileges. o "urn:ietf:params:xml:ns:conference-dl": This optional namespace is for the dial-out list. It defines the mandatory
element that contains URIs for users that the focus will invite to the conference. o "urn:ietf:params:xml:ns:conference-sc": This optional namespace is for security control. It defines the element that contains conference security level and passwords. o "urn:ietf:params:xml:ns:conference-mp": This optional namespace is for the media policy for a conference. It defines the element that contains the media types to be used in the conference. o "urn:ietf:params:xml:ns:conference-fp": This optional namespace is for the floor control policy. It defines the element. The elements are described in more detail in the forthcoming sections. 18. XML Document Description 18.1 element is an optional element. It can occur more than to accommodate to multiple signaling protocols. Once a conference URI is set, it MUST NOT be changed or removed for the duration of the conference. Only one URI per protocol MUST be set. URIs can be added at any time. This is in its own XML namespace, so it is separated from other elements and hence relevant modification rights (privileges) can be given more easily to other namespaces. is an optional. It carries the maximum number of participants allowed in the conference. When the maximum number of participants threshold is reached, no new users are not allowed to join until the number of participants decreases again. If using SIP, the server can reject a request to join (INVITE) with a "480 Temporarily Unavailable" response. Alternatively, the sever may implement a waiting queue. Koskelainen & Khartabil Expires August 4, 2004 [Page 10] Internet-Draft XCAP CPCP February 2004 18.2 element Mandatory element has its own namespace and it can occur only once in a document. It includes informative conference parameters which may be helpful describing the purpose of a conference, e.g. for search purposes or for providing host contact information. The element, which describes the current topic in a conference. The optional element is the display name of the conference, which usually does not change over time. and are optional elements. They provide additional textual information about the conference. This information can be made available to potential conference participants by means outside the scope of this document. Examples of usage could be searching for a conference based on some keywords. The optional element points to a URI where additional information about the conference can be found. The optional element contains several elements. It gives additional information about the user hosting the conference. This information can, for example, be included into the SDP fields of the SIP INVITEs sent by the focus. The element is optional and can occur more than once. 18.3 element The information related to conference time and lifetime is contained in the element. The conference may occur for a limited period of time (i.e. bounded), or the conference may be unbounded (i.e. it does not have a specified end time). Bounded conferences may occur multiple times(e.g. on weekly basis). has its own XML namespace. It contains one or more elements each defining the time information of a single conference occurrence. Multiple elements MAY be used if a conference is active at multiple irregularly spaced times; each additional element contains time information for a specific occurrence. For each occurrence, the element specifies when a conference starts. the element specifies the time a conference stops. If the element is not present, it indicates that the conference starts immediately. If the Koskelainen & Khartabil Expires August 4, 2004 [Page 11] Internet-Draft XCAP CPCP February 2004 is set to zero, then conference occurrence is not bounded, i.e. permanent, though it will not become active until the . If the element is not present, it indicates that the conference terminates as soon as the last participant leaves the conference. The focus might wait a small period of time before terminating the conference, in case a participant joins straight after the last participant leaves. When saying that a conference starts, or becomes active (start-time), it means that the mixing starts. A focus will most likely allow participants to connect shortly before start time, but may put them on hold until the start time. Participants on the Dial out list may also be dialled to shortly before start time. A conference terminates with stop-time. The creator is free to set the stop-time to be the time s/he leaves (and therefore the conference terminates when s/he leaves), terminate the conference as s/he leaves (modifying stop-time), or leave before the stop-time and therefore the conference continues. The stop-time can be changed by the conference creator, during the conference, to allow the extension of the conference based on best effort. A conference always terminates when the conference policy is removed, regardless of the stop time. The absence of this conference time information indicates that a conference starts immediately and terminates when the conference policy is removed. See Section 12 for more details 18.4 (Access Control List) element ACL has its own XML namespace. The purpose of Access Control List (ACL) is to control who can join the conference.A conference has one consisting of one or more elements and the parameter for those URIs. Access-Types are one of Allowed/Blocked/Pending/Expelled. Allowed means that the target is allowed to join the conference. Blocked means that the target is not allowed to join the conference. This can be used in the where the allowed URIs are wild-carded and the user wants to explicitly block one potential participant, whose URI falls within the wildcarded URIs, from joining. The other way around is also possible where the blocked URIs are wildcarded and the user wants to explicitly allow one potential participant, whose URI falls within the wildcarded URIs,to join. Pending means that authorisation for the target is not granted and while further processing is required - such as consulting the moderator. Expelled means that user is expelled from current conference and is not allowed to join or be dialled-out (even if dial-out list includes Koskelainen & Khartabil Expires August 4, 2004 [Page 12] Internet-Draft XCAP CPCP February 2004 user's URI). Wildcards are allowed in ACL as follows. The domain part is allowed to be wildcard only if the username is a wildcard. Wildcard in the domain part MUST be immediately after the @-sign. A wildcard in the domain is interpreted as multiple zones. For example: sip:*@*.example.com includes sip:*@engineering.example.com as well as sip:*@tester.engineering.example.com. The use of wildcarding has been restricted to avoid ambiguous entries in the access control list. Examples of allowed wildcards are - sip:*@example.com, *@*.com, *@*. Examples are not allowed wildcards are - sip:bob@example.*, sip:bob@*.com, sip:*@example.*.com. "Most-specific expression wins" policy is used if overlapping rules are found. Basically, this means that user specific rule is searched first and if it is not found, then most specific wildcard rule is utilized. There is a need for the ACL to contain an entry that defines the default access types for users not explicitly allowed nor blocked from joining the conference, i.e. everybody else. For example: "Pending" action for *@*. If that entry is missing, the focus local policy dictates the behaviour. Sip: and sips: schemes are treated as equivalent in the ACL since it defines users and not the security used by users. It is also possible to ask the focus to refer users to the conference. An optional Boolean attribute "refer" exists in the that indicates to the server that the creator of the conference wishes for the focus to refer the identified potential participants to the conference when a conference occurrence has started. In SIP, this is achieved by the focus sending a REFER request to those potential participants. The default value for the "refer" attribute is "false". 18.5 (Privilege Control List) element Advanced privilege models can be applied in conferencing context (e.g. who is allowed to modify ACL, who is allowed to expel users etc). This document defines only one privilege and leaves the definition of additional privileges (e.g. who can modify ACL) as a separate standardisation effort. The element is mandatory and has its own XML namespace. It defines which users has what privileges. The element may Koskelainen & Khartabil Expires August 4, 2004 [Page 13] Internet-Draft XCAP CPCP February 2004 contain one or more elements. The element carries 2 pieces of information: the target URI, and the privileges for that URI, . All mandatory elements. The target URI can be wildcarded as described for the ACL in Section 18.4. Example URIs are: sip:bob@company.com sip:*@example.com The only privilege defined in this document is RIGHT_TO_SUBSCRIBE_TO_CONF_EVENT_PACKAGE. It defines which users are allowed to subscribe to the conference state event package [12]and be notified. 18.6
(Dial-Out List) element The dial-out list (DL) is a list of user URIs that the focus uses to learn who to invite to join a conference. This list can be updated during the conference lifetime so it can be used for mid-conference invites (and mass-invites) as well. DL has its own XML namespace. The
element includes a mandatory element. The element includes the mandatory element. This elements carries the URI of the user to be invited. 18.7 (Security Control) element The conference security encompasses three aspects: controlling the visibility of a conference, securing the SIP messages, and performing authentication for individual users. This element has its own XML namespace. The conference security settings start with the mandatory >SC> element. It contains the mandatory element. This element can hold one of two values: visible or invisible. The element controls whether information in the , and elements may be made available publicly. For example, an application at a conference server might list the ongoing conferences on web page, or it may allow searching for conferences based on the keywords listed in the element. Setting to "invisible" instructs the application not to reveal any such information. Koskelainen & Khartabil Expires August 4, 2004 [Page 14] Internet-Draft XCAP CPCP February 2004 However, information in other elements, such as , should not be seen by anyone else other than a privileged user, even with the element set to "visible". We define two mechanisms for securing the signaling between users and the focus: TLS and S/MIME. TLS is used to provide transport layer security on a hop-by-hop basis. According to SIP [6], using SIPS URI scheme in a request signifies that TLS must be used to secure each hop over which the request is forwarded until the request reaches the SIP entity responsible for the domain portion of the Request-URI. The element inside the element has 2 boolean parameter: TLS and S/MIME. When in TLS parameter is set to "true" (thus implying the use of SIPS URI scheme, if SIP is used as the signaling protocol), it is required that TLS is used end-to-end. In other words, TLS must be used also on the last hop between the entity responsible for the domain portion of the Request-URI and the conference policy server. If end-to-end confidentiality of entire SIP messages is not required by the conference policy, but it is required that the message bodies within SIP are encrypted, the S/MIME attribute must have a value "true". TLS and S/MIME may be required independent of each other. In other words, it may be required to use neither, one, or both depending on the settings of these parameters. The conference creator can define an authentication policy for the participants. This is done with the optional element. If the element is present, then at least one inside the element must be present, each identifies a user or a set of users for which the authentication mechanism apply. The target URI can be wildcarded as described for the ACL in Section 18.4. The authentication policy defined in the optional element defines how the participants should be authenticated. Two authentication mechanisms are defined in this document: Digest and Digest-AKA. The authentication policy can also be set to none. The password associated with each user in the Digest authentication is included in the optional attribute. This attribute is ignored if authentication is set to "none". 18.8 element This element has its own XML namespace. The absence of this namespace Koskelainen & Khartabil Expires August 4, 2004 [Page 15] Internet-Draft XCAP CPCP February 2004 and its elements from an XML document indicates that the conference does not have a floor. The is mandatory and contains the required boolean attribute that indicates if the floor is moderator controlled or not. One or more elements can appear in the element. The number of those elements indicates how many floors the conference can have. A floor can be used for one or more media types; the mandatory element can contain zero or more of the