XCON                                                        H. Khartabil
Internet-Draft                                                  A. Niemi
Expires: March 10, 2005                                            Nokia
                                                       September 9, 2004


            Privileges for Manipulating a Conference Policy
            draft-ietf-xcon-conference-policy-privileges-00

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 March 10, 2005.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

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
   client to manipulate the conference policy.  This document specifies
   an Extensible Markup Language (XML) Schema that enumerates the
   conference policy meta data that enable a user to assign privileges
   to users that enables them to read and/or manipulate parts of or the
   entire conference policy.




Khartabil & Niemi        Expires March 10, 2005                 [Page 1]


Internet-Draft              CPCP-Privileges               September 2004


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions Used in This Document  . . . . . . . . . . . . . .  3
   3.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Structure of a Conference Policy Privileges XML Document . . .  3
     4.1   MIME Type for CPCP XML Document  . . . . . . . . . . . . .  3
     4.2   Privileges Root  . . . . . . . . . . . . . . . . . . . . .  4
     4.3   XML Document Description . . . . . . . . . . . . . . . . .  4
       4.3.1   Conference Policy Privileges . . . . . . . . . . . . .  4
     4.4   XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 11
   5.  Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     5.1   A Simple Conference Policy Privileges Document . . . . . . 13
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
     7.1   application/privileges+xml MIME TYPE . . . . . . . . . . . 15
     7.2   URN Sub-Namespace Registration for
           urn:ietf:params:xml:ns:privileges  . . . . . . . . . . . . 16
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17
   9.  Normative References . . . . . . . . . . . . . . . . . . . . . 17
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 18
       Intellectual Property and Copyright Statements . . . . . . . . 20





























Khartabil & Niemi        Expires March 10, 2005                 [Page 2]


Internet-Draft              CPCP-Privileges               September 2004


1.  Introduction

   The Conference Policy Control Protocol (CPCP) [1]specifies an
   Extensible Markup Language (XML) Schema that enumerates the
   conference policy data elements that enable a user to define a
   conference policy.  It, however, does not define user privileges (who
   is allowed to read or modify certain parts or all of a conference
   policy).

   In many cases, the creator of the conference policy is the sole user
   with access rights to the conference policy and other users do not
   have any rights to view nor modify the document.  However, there is a
   need for different privileges to exist where users can modify certain
   parts of the conference policy XML document.  This document specifies
   an Extensible Markup Language (XML) Schema that enumerates the
   conference policy meta data that enable such privileges to exist.

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].

3.  Terminology

   This document uses terminology from [13].  Some additional
   definitions are introduced in [1], including the defintion of a
   privileged user.

4.  Structure of a Conference Policy Privileges XML Document

   The conference policy privileges document is an XML [4] document that
   MUST be well-formed and MUST be valid.  The Conference policy
   privelges 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 privileges documents and document
   fragments.  The namespace URI for elements defined by this
   specification is a URN [6], using the namespace identifier 'ietf'
   defined by [7] and extended by [8].  This URN is:

      urn:ietf:params:xml:ns:privileges


4.1  MIME Type for CPCP XML Document

   The MIME type for the CPCP XML document is "application/
   privileges+xml".




Khartabil & Niemi        Expires March 10, 2005                 [Page 3]


Internet-Draft              CPCP-Privileges               September 2004


4.2  Privileges Root

   A conference policy privileges document begins with the root element
   tag <privileges>.  Other elements from different namespaces MAY be
   present for the purposes of extensibility.  Elements or attributes
   from unknown namespaces MUST be ignored.

   A user may create a new conference policy privieleges at the CPS by
   placing a new conference policy document at the CPS.  Depending on
   server policy and user privileges, the CPS may accept the creation.
   Only the creator of the conference can create a conference policy
   privileges document for that conference policy.

   A conference that exists without a conference policy privileges
   document allows all privileges to the creator of the conference
   policy only.  A conference policy privielges document can be deleted
   permanently by removing the conference policy document from the CPS.
   When the user deletes a conference policy document, the user SHOULD
   also delete the conference policy privielges document associated with
   the deleted conference.  A CPS may apply local policy in determining
   when and if to delete the conference policy privielges document if it
   has not been removed after a the conference policy document was
   deleted.

4.3  XML Document Description

4.3.1  Conference Policy Privileges

   One of the key components of the conference policy privileges
   document is the set of authorization rules that specify who is
   allowed to read and manipulate a conference policy.  The unordered
   list of authorization rules together define the conference policy
   privileges in the form of an authorization policy.

   The <xml-document-rules> element appears after the root element and
   contains the mandatory "uri" attribute.  This attributes carries the
   URI of the conference policy document that the privileges defines
   within it apply to.

   The conference policy privileges are enclosed in the
   <xml-document-rules> element are formatted according to the XML
   schema defined in the common policy framework [2].  In the
   <xml-document-rules> element, there can be multiple rules, each rule
   is represented by the <rule> element, each of which consist of three
   parts: conditions, actions and transformations.  Conditions determine
   whether a particular rule applies to a request.  Each action or
   transformation in the applied rule is a positive grant of permission
   to the conference policy user.  The details of each specific element



Khartabil & Niemi        Expires March 10, 2005                 [Page 4]


Internet-Draft              CPCP-Privileges               September 2004


   and attribute is described in [2].

   Asking the conference policy server to allow certain users to
   manipulate the conference policy is achieved by modifying an existing
   authorization rule or creating a new one.

   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 conference policy meta data contains many unnecessary rules
   which are not really needed anymore.  Therefore, there is a need to
   delete rules.  This can be achieved by removing that portion of the
   policy.

   Conflicting rules may exist (for example, both allowed and blocked
   action is defined for same target).  The common policy directives [2]
   dictate the behaviour in such situations.

   This section outlines the new conditions, actions and transformations
   for conference policy privileges.

4.3.1.1  Conditions

4.3.1.1.1  Validity

   The <validity> element, as defined in  the common policy framework
   [2], expresses the rule validity period by two attributes, a starting
   and a ending time.  Times are expressed in XML dateTime format.
   Expressing the lifetime of a rule implements a garbage collection
   mechanism.  A rule maker might not have always access to the
   conference policy server to remove some rules which grant
   permissions.  Hence this mechanisms allows to remove or invalidate
   granted permissions automatically without further interaction between
   the rule maker and the conference policy server.

   To give a real life example, there are often meetings where users can
   have access to modify the dial-out list from 10 minutes before the
   conference starts until 10 mintues after the conference starts.  One
   rules can be set in this scenario.  The following example demostrates
   this.  The meeting starts at 9:30 and ends at 12:30.  A manager with
   identity "manager@example.com can read and modify the dial-out list
   betweem 8:50 and 9:40.  After that time until the conference ends,
   the manager can only read the dial-out-list








Khartabil & Niemi        Expires March 10, 2005                 [Page 5]


Internet-Draft              CPCP-Privileges               September 2004


     <rule id="1">
       <conditions>
          <validity>
           <from>2004-12-17T08:50:00-05:00</from>
           <to>2004-12-17T09:40:00-05:00</to>
         </validity>
        <identity>
           <id>manager@example.com</id>
         </identity>
       </conditions>
       <actions>
         <allow-modify-dol>allow</allow-modify-dol>
       </actions>
       <transformations/>
     </rule>
     <rule id="2">
       <conditions>
         <identity>
           <id>manager@example.com</id>
         </identity>
       </conditions>
       <actions>
         <allow-read-dol>allow</allow-read-dol>
       </actions>
       <transformations/>
     </rule>
     ...
     <time>
       <occurrence>
         <mixing-start-time required-participant="participant">
           2004-12-17T09:30:00-05:00</mixing-start-time>
         <mixing-stop-time required-participant="none">
           2004-12-17T12:30:00-05:00</mixing-stop-time>
       </occurrence>
     </time>



4.3.1.1.2  Identity

   The <identity> element is already defined in the common policy
   framework [2]The presence of the <identity> element is a condition
   requires any identity within it to be authenticated before a rule is
   applied to it.  This includes the <id> element (Section 4.3.1.1.2.1),
   the <any> element (Section 4.3.1.1.2.2), the <external-list> element
   (Section 4.3.1.1.2.3), their exceptions, and any future extension
   that carries an identity.  The absence of the <identity> element with
   in a condition indicated that the rule applies to all unauthenticated



Khartabil & Niemi        Expires March 10, 2005                 [Page 6]


Internet-Draft              CPCP-Privileges               September 2004


   identities.  That is participants that have provided no authenticated
   identity to the conference focus.

4.3.1.1.2.1  Interpreting the <id> Element

   As earlier indicated, the <identity> element is already defined in
   the common policy framework [2].  However, the rules for interpreting
   the identities in <id> elements are left for each application to
   define separately.  This document, however, does not define the rules
   for interpreting identities in <id> elements in conferencing
   applications since those interpretation rules are signalling protocol
   specific.

      OPEN ISSUE: Do we need to state more than this? How are identities
      derived from users that join using POTS, H.323, etc.?


4.3.1.1.2.2  Matching Any Identity

   The <any> element is used to match any participant.  This allows a
   conference priveleges to be open to any authenticated user.  Just as
   for the <domain> element in <identity> element, The <any> element
   contains a list of <except> elements and allows to implement a simple
   blacklist mechanism.  The <except> element contains the identity.  It
   differs from the <domain> element in that the domain part is needed
   in the identity since it has not domain to refer to.

4.3.1.1.2.3  Matching Identities in External Lists

   The <external-list> element can be used to match those participants
   that are part of a resource list that is created externally.  The use
   of <external-list> is similar to that defined in Section x of [1].

4.3.1.2  Actions

4.3.1.2.1  Modifying Conference setting

   The <allow-modify-settings> element represents a boolean action.  If
   set to TRUE, the identity is allowed  to modify the conference
   settings in the conference policy.  If set to FALSE, any
   modifications to the conference settings are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.2  Modifying Conference Information

   The <allow-modify-information> element represents a boolean action.



Khartabil & Niemi        Expires March 10, 2005                 [Page 7]


Internet-Draft              CPCP-Privileges               September 2004


   If set to TRUE, the identity is allowed  to modify the conference
   information in the conference policy.  If set to FALSE, any
   modifications to the conference information are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.3  Modifying Conference Time

   The <allow-modify-time> element represents a boolean action.  If set
   to TRUE, the identity is allowed  to modify the conference time in
   the conference policy.  If set to FALSE, any modifications to the
   conference time are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.4  Modifying Authorization rules

   The <allow-modify-authorization-rules> element represents a boolean
   action.  If set to TRUE, the identity is allowed  to modify the
   authorization rules of a conference in the conference policy.  If set
   to FALSE, any modifications to the rules are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.5  Modifying Conference Dial-out List

   The <allow-modify-dol> element represents a boolean action.  If set
   to TRUE, the identity is allowed  to modify the conference dial-out
   list in the conference policy.  If set to FALSE, any modifications to
   the dial-out list are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.6  Modifying Conference Refer List

   The <allow-modify-rl> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to modify the conference refer list in
   the conference policy.  If set to FALSE, any modifications to the
   refer list are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.





Khartabil & Niemi        Expires March 10, 2005                 [Page 8]


Internet-Draft              CPCP-Privileges               September 2004


4.3.1.2.7  Modifying Conference media streams

   The <allow-modify-ms> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to modify the conference media streams
   in the conference policy.  If set to FALSE, any modifications to the
   media streams are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.8  Creating Sidebars

   The <allow-modify-sidebar> element represents a boolean action.  If
   set to TRUE, the identity is allowed  to create and manipulate a
   sidebar by creating and modifying a <sidebar> element in a conference
   policy.  If set to FALSE, any sidebar creation and manipulation is
   rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.9  Modifying Conference Dial-in List

   The conference dial-in list is virtual and is not represented by a
   physical list in the conference policy.  It is rather a collection of
   authorization rules that allow users to join a conference.  The
   <allow-modify-dil> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to create an authorization rule in the
   conference policy that give a user a join handling of "allow".  If
   set to FALSE, any modifications to authorization rules are rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.10  Reading Conference setting

   The <allow-read-settings> element represents a boolean action.  If
   set to TRUE, the identity is allowed  to read the conference settings
   in the conference policy.  If set to FALSE, any attempts to read the
   conference settings are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.11  Reading Conference Information

   The <allow-read-information> element represents a boolean action.  If
   set to TRUE, the identity is allowed  to read the conference



Khartabil & Niemi        Expires March 10, 2005                 [Page 9]


Internet-Draft              CPCP-Privileges               September 2004


   information in the conference policy.  If set to FALSE, any attempts
   to read the conference information are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.12  Reading Conference Time

   The <allow-read-time> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to read the conference time in the
   conference policy.  If set to FALSE, any attempts to read the
   conference time are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.13  Reading Authorization rules

   The <allow-read-authorization-rules> element represents a boolean
   action.  If set to TRUE, the identity is allowed  to read the
   authorization rules of a conference in the conference policy.  If set
   to FALSE, any attempts to read the rules are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.14  Reading Conference Dial-out List

   The <allow-read-dol> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to read the conference dial-out list
   in the conference policy.  If set to FALSE, any attempts to read the
   dial-out list are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.15  REading Conference Refer List

   The <allow-read-rl> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to read the conference refer list in
   the conference policy.  If set to FALSE, any attempts to read the
   refer list are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.






Khartabil & Niemi        Expires March 10, 2005                [Page 10]


Internet-Draft              CPCP-Privileges               September 2004


4.3.1.2.16  Reading Conference media streams Information

   The <allow-read-ms> element represents a boolean action.  If set to
   TRUE, the identity is allowed  to read the conference media streams
   information in the conference policy.  If set to FALSE, any attempts
   to read the media streams information are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.2.17  Reading Sidebar Information

   The <allow-read-sidebar> element represents a boolean action.  If set
   to TRUE, the identity is allowed  to read side bar inforation in the
   conference policy, indicating how many sidebars are currently in a
   conference.  If set to FALSE, any attempts to read sidebar
   information is rejected.

   If this element is undefined it has a value of FALSE, causing the
   modifications to be rejected.

4.3.1.2.18  Reading Conference Dial-in List

   The Dial-in List is defined in Section 4.3.1.2.9.  If set to TRUE,
   the identity is allowed  to read authorizations rule in the
   conference policy that give a user a join handling of "allow".  If
   set to FALSE, any attempts to read such rules are rejected.

   If this element is undefined it has a value of FALSE, causing the
   read requests to be rejected.

4.3.1.3  Transformations

   No transformations are defined at this time.

4.4  XML Schema


   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema targetNamespace="urn:ietf:params:xml:ns:privileges" xmlns="urn:ietf:params:xml:ns:privileges" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
        <!-- This import brings in the XML language attribute xml:lang-->
        <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
        <xs:element name="privileges">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="xml-document-rules" type="XMLDocument"/>
                        </xs:sequence>
                </xs:complexType>



Khartabil & Niemi        Expires March 10, 2005                [Page 11]


Internet-Draft              CPCP-Privileges               September 2004


        </xs:element>
        <xs:complexType name="XMLDocument">
                <xs:sequence>
                        <xs:element name="rule" type="ruleType" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:attribute name="uri" type="xs:string" use="required"/>
        </xs:complexType>
        <xs:complexType name="ruleType">
                <xs:sequence>
                        <xs:element name="conditions" minOccurs="0">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element ref="condition" minOccurs="0" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="actions" minOccurs="0">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element ref="action" minOccurs="0" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="transformations" minOccurs="0">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element ref="transformation" minOccurs="0" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                </xs:sequence>
                <xs:attribute name="id" type="xs:string" use="required"/>
        </xs:complexType>
        <xs:element name="condition" abstract="true"/>
        <xs:element name="action" abstract="true"/>
        <xs:element name="transformation" abstract="true"/>
        <xs:element name="validity" substitutionGroup="condition">
                <xs:complexType>
                        <xs:all>
                                <xs:element name="from" type="xs:dateTime"/>
                                <xs:element name="to" type="xs:dateTime"/>
                        </xs:all>
                </xs:complexType>
        </xs:element>
        <xs:element name="identity" substitutionGroup="condition">
                <xs:complexType>
                        <xs:choice>
                                <xs:element name="id" type="xs:string" maxOccurs="unbounded"/>



Khartabil & Niemi        Expires March 10, 2005                [Page 12]


Internet-Draft              CPCP-Privileges               September 2004


                                <xs:sequence>
                                        <xs:element name="domain" type="xs:string"/>
                                        <xs:sequence minOccurs="0">
                                                <xs:element name="except" type="xs:string" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:sequence>
                                <xs:sequence>
                                        <xs:element name="any" type="xs:string"/>
                                        <xs:sequence minOccurs="0">
                                                <xs:element name="except" type="xs:string" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:sequence>
                                <xs:sequence>
                                        <xs:element name="external-list" type="xs:string"/>
                                        <xs:sequence minOccurs="0">
                                                <xs:element name="except" type="xs:string" maxOccurs="unbounded"/>
                                        </xs:sequence>
                                </xs:sequence>
                        </xs:choice>
                </xs:complexType>
        </xs:element>
        <xs:element name="allow-modify-settings" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-information" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-time" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-authorization-rules" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-dol" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-rl" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-ms" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-sidebar" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-modify-dil" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-settings" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-information" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-time" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-authorization-rules" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-dol" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-rl" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-ms" type="xs:boolean" substitutionGroup="action"/>
        <xs:element name="allow-read-sidebar" type="xs:boolean" substitutionGroup="action"/>
   </xs:schema>


5.  Examples

5.1  A Simple Conference Policy Privileges Document

   The following document dictates that Bob and Alice are allowed to
   read and modify the conference settings at
   "http://xcap.example.com/services/conferences/users/Alice/conference.xml" why John can only read the dial-out list.



Khartabil & Niemi        Expires March 10, 2005                [Page 13]


Internet-Draft              CPCP-Privileges               September 2004








   <?xml version="1.0" encoding="UTF-8"?>
   <privileges xmlns="urn:ietf:params:xml:ns:privileges" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <xml-document-rules uri="http://xcap.example.com/services/conferences/users/Alice/conference.xml">
                <rule id="1">
                        <conditions>
                                <identity>
                                        <id>bob@example.com</id>
                                        <id>alice@example.com</id>
                                </identity>
                        </conditions>
                        <actions>
                                <allow-modify-settings>true</allow-modify-settings>
                                <allow-read-settings>true</allow-read-settings>
                        </actions>
                        <transformations/>
                </rule>
                <rule id="2">
                        <conditions>
                                <identity>
                                        <id>john@example.com</id>
                                </identity>
                        </conditions>
                        <actions>
                                <allow-read-dol>true</allow-read-dol>
                        </actions>
                        <transformations/>
                </rule>
        </xml-document-rules>
   </privileges>


6.  Security Considerations

   A conference document may contain information that is highly
   sensitive.  Its delivery to the conference server needs to happen
   strictly, paying special attention to integrity and confidentiality.
   Reading the document is also a security concern since the conference
   policy contains sensitive information like the topic of the
   conference, who is allowed to join and the URIs of the users that can
   participate.

   Manipulations of the conference policy have similar security issues.



Khartabil & Niemi        Expires March 10, 2005                [Page 14]


Internet-Draft              CPCP-Privileges               September 2004


   Users with relevant privileges can manipulate parts of the conference
   policy giving themselves and others privileges to manipulate the
   conference policy, including the dial-out list and the security level
   settings for a conference.  This can happen because the conference
   policy itself carries the identities and the authorization rules that
   apply to those identities.  Those authorization rules carry the
   privileges that certain identities have.  If an unauthorized user
   gets access to this document (pretending to be someone else), s/he
   can manipulate those rules giving himself and other unauthorized
   users access to the conference policy.  S/he can also manipulate
   other parts of the conference policy under a false identity.  Some of
   the things that a malicious user can do include: denying users
   certain privileges, giving himself floor moderation, removing users
   from lists, removing rules for certain identities, giving privileges
   to other malicious users, changing the media streams and changing
   conference time.  Therefore, it is very important that only
   authorized clients are able to manipulate the conference policy.  Any
   conference policy transport protocol MUST provide authentication,
   confidentiality and integrity.

   In the case that XCAP is used to create and manipulate a conference
   policy, the XCAP base specification mandates that all XCAP servers
   MUST implement HTTP Authentication: Basic and Digest Access
   Authentication [14].  Furthermore, XCAP servers MUST implement HTTP
   over TLS [15].  It is recommended that administrators of XCAP servers
   use an HTTPS URI as the XCAP root services URI, so that the digest
   client authentication occurs over TLS.  By using these means, XCAP
   client and server can ensure the confidentiality and integrity of the
   XCAP created conference policy document  and its manipulation
   operations, and that only authorized clients are allowed to perform
   them.

7.  IANA Considerations

7.1  application/privileges+xml MIME TYPE

   MIME media type: application

   MIME subtype name: privileges+xml

   Mandatory parameters: none

   Optional parameters: Same as charset parameter application/xml as
   specified in RFC 3023 [5].

   Encoding considerations: Same as encoding considerations of
   application/xml as specified in RFC 3023 [5].




Khartabil & Niemi        Expires March 10, 2005                [Page 15]


Internet-Draft              CPCP-Privileges               September 2004


   Security considerations: See section 10 of RFC 3023 [5] and section
   Section 7 of this document.

   Interoperability considerations: none.

   Published specification: This document.

   Applications which use this media type: This document type has been
   used to support conference policy manipulation for SIP based
   conferencing.

   Additional information:

   Magic number: None

   File extension: .cl or .xml

   Macintosh file type code: "TEXT"

   Personal and email address for further information: Hisham Khartabil
   (hisham.khartabil@nokia.com)

   Intended Usage: COMMON

   Author/change controller: The IETF

7.2  URN Sub-Namespace Registration for
    urn:ietf:params:xml:ns:privileges

   This section registers a new XML namespace, as per guidelines in URN
   document [8].

   URI: The URI for this namespace is urn:ietf:params:xml:ns:privileges.

   Registrant Contact: IETF, XCON working group, Hisham Khartabil
   (hisham.khartabil@nokia.com)

   XML:













Khartabil & Niemi        Expires March 10, 2005                [Page 16]


Internet-Draft              CPCP-Privileges               September 2004


   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>Conference Policy Namespace</title>
   </head>
   <body>
     <h1>Namespace for Conference Policy</h1>
     <h2>application/conference-policy+xml</h2>
     <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
   </body>
   </html>
   END


8.  Acknowledgements

   The authors would like to thank Hannes Tschofenig, Aki Niemi, Alan
   Johnston, and the IETF XCON working group for their feedback and
   suggestions.

9  Normative References

   [1]   Khartabil, H., Koskelainen, P. and A. Niemi, "The Conference
         Policy Control Protocol (CPCP)", Internet-Draft
         I-D.draft-ietf-xcon-cpcp, September 2004.

   [2]   Schulzrinne, H., Tschofenig, H., Cuellar, J., Polk, J. and J.
         Rosenberg, "Common Policy", Internet-Draft
         I-D.ietf-geopriv-common-policy, February 2004.

   [3]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", RFC 2119, BCD 14, March 1997.

   [4]   Bray, T., Paoli, J., Sperberg-McQueen, C. and E. Maler,
         "Extensible Markup Language (XML) 1.0 (Second Edition)", W3C
         REC REC-xml-20001006, October 2000.

   [5]   Murata, M., Laurent, S. and D. Kohn, "XML Media Types", RFC
         3023, January 2001.

   [6]   Moats, R., "URN Syntax", RFC 2141, May 1997.

   [7]   Moats, R., "A URN Namespace for IETF Documents", RFC 2648,



Khartabil & Niemi        Expires March 10, 2005                [Page 17]


Internet-Draft              CPCP-Privileges               September 2004


         August 1999.

   [8]   Mealling, M., "The IETF XML Registry", RFC 3688, January 2004.

   [9]   Koskelainen, P. and H. Khartabil, "Requirements for conference
         policy control protocol", draft-ietf-xcon-cpcp-req-01 (work in
         progress), January 2004.

   [10]  Johnston, A. and O. Levin, "Session Initiation Protocol Call
         Control - Conferencing for User Agents",
         draft-ietf-sipping-cc-conferencing-03 (work in progress),
         February 2004.

   [11]  Rosenberg, J., "The Extensible Markup Language (XML)
         Configuration Access Protocol (XCAP)",
         draft-ietf-simple-xcap-02 (work in progress), February 2004.

   [12]  Rosenberg, J., "An Extensible Markup Language (XML)
         Configuration Access Protocol (XCAP) Usage for Presence Lists",
         draft-ietf-simple-xcap-list-usage-02 (work in progress),
         February 2004.

   [13]  Rosenberg, J., "A Framework for Conferencing with the Session
         Initiation Protocol",
         draft-ietf-sipping-conferencing-framework-01 (work in
         progress), October 2003.

   [14]  Franks, J., "HTTP Authentication: Basic and Digest Access
         Authentication", RFC 2617, June 1999.

   [15]  Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.


Authors' Addresses

   Hisham Khartabil
   Nokia
   P.O. Box 321
   Helsinki  FIN-00045
   Finland

   EMail: hisham.khartabil@nokia.com









Khartabil & Niemi        Expires March 10, 2005                [Page 18]


Internet-Draft              CPCP-Privileges               September 2004


   Aki Niemi
   Nokia
   P.O. Box 100
   NOKIA GROUP, FIN  00045
   Finland

   Phone: +358 50 389 1644
   EMail: aki.niemi@nokia.com











































Khartabil & Niemi        Expires March 10, 2005                [Page 19]


Internet-Draft              CPCP-Privileges               September 2004


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 (2004).  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.




Khartabil & Niemi        Expires March 10, 2005                [Page 20]