XCON                                                             O. Novo
Internet-Draft                                              G. Camarillo
Expires: September 7, 2006                                      Ericsson
                                                               D. Morgan
                                                    Fidelity Investments
                                                          March 06, 2006


A Common Conference Information Data Model for Centralized Conferencing
                                 (XCON)
                draft-novo-xcon-common-data-model-01.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 7, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document collects, organizes, and describes the conference
   variables that have been introduced in various protocol drafts of the
   XCON and SIPPING working groups.  The goal of this document is to
   allow the conference control protocols to use a unified common
   conference information data model for XCON.  This document formally



Novo, et al.            Expires September 7, 2006               [Page 1]


Internet-Draft          Common Conference Schema              March 2006


   defines an Extensible Markup Language (XML) Schema that represents
   the common conference information in a conferencing server.  The
   information is modeled as a series of elements, each of which
   contains a set of children and attributes.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Common Conference Data . . . . . . . . . . . . . . . . . . . .  3
     3.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     3.2.  <conference-description> . . . . . . . . . . . . . . . . .  9
       3.2.1.  <conference-time>  . . . . . . . . . . . . . . . . . . 10
       3.2.2.  <conf-uris>  . . . . . . . . . . . . . . . . . . . . . 11
       3.2.3.  <service-uris> . . . . . . . . . . . . . . . . . . . . 11
       3.2.4.  <maximum-user-count> . . . . . . . . . . . . . . . . . 12
       3.2.5.  <available-media>  . . . . . . . . . . . . . . . . . . 12
     3.3.  <host-info>  . . . . . . . . . . . . . . . . . . . . . . . 12
     3.4.  <conference-state> . . . . . . . . . . . . . . . . . . . . 12
     3.5.  <security-mechanism> . . . . . . . . . . . . . . . . . . . 13
     3.6.  <floor-information>  . . . . . . . . . . . . . . . . . . . 13
     3.7.  <users>  . . . . . . . . . . . . . . . . . . . . . . . . . 13
       3.7.1.  <dial-in-list> . . . . . . . . . . . . . . . . . . . . 14
       3.7.2.  <dial-out-list>  . . . . . . . . . . . . . . . . . . . 14
       3.7.3.  <refer-list> . . . . . . . . . . . . . . . . . . . . . 14
       3.7.4.  <privileges-control-list>  . . . . . . . . . . . . . . 14
         3.7.4.1.  <data-access-rights> . . . . . . . . . . . . . . . 15
         3.7.4.2.  <conference-rules> . . . . . . . . . . . . . . . . 15
           3.7.4.2.1.  <condition>  . . . . . . . . . . . . . . . . . 15
           3.7.4.2.2.  <actions>  . . . . . . . . . . . . . . . . . . 16
       3.7.5.  <user> . . . . . . . . . . . . . . . . . . . . . . . . 17
     3.8.  <sidebars-by-ref>  . . . . . . . . . . . . . . . . . . . . 17
     3.9.  <sidebars-by-val>  . . . . . . . . . . . . . . . . . . . . 18
     3.10. Template . . . . . . . . . . . . . . . . . . . . . . . . . 18
       3.10.1. <template-by-val>  . . . . . . . . . . . . . . . . . . 18
       3.10.2. <template-by-ref>  . . . . . . . . . . . . . . . . . . 18
   4.  XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 18
   5.  XML Schema Extensibility . . . . . . . . . . . . . . . . . . . 35
   6.  XML example  . . . . . . . . . . . . . . . . . . . . . . . . . 35
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 45
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 45
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 45
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 46
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 46
     10.2. Informative References . . . . . . . . . . . . . . . . . . 46
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 48
   Intellectual Property and Copyright Statements . . . . . . . . . . 49



Novo, et al.            Expires September 7, 2006               [Page 2]


Internet-Draft          Common Conference Schema              March 2006


1.  Introduction

   This document defines an Extensible Markup Language (XML) Schema that
   represents the common conference information in a conferencing
   server.  The information is modeled as a series of elements, each of
   which contains children and attributes.

   The common conference information is a part of the Conference Object.
   The Conference Object contains two components: the "Common Conference
   Information" component and the "Conference Template" component.  The
   common conference information component contains the XML schema,
   which is used to represent the core information that is utilized in
   any conference (capabilities,membership, roles, call control
   signalling, media, etc...) and specifies the set of rights,
   permissions and limitations pertaining to operations being performed
   on a certain Conference Object.

   This document gives an overview of the conference variables that have
   been introduced in various protocol drafts of the XCON working group
   to date and proposes to create a unified common conference
   information data model for XCON.

   This document has been constructed in compliance with the XCON
   Framework [1] and the Session Initiation Protocol (SIP) Event Package
   for Conference State [2].  It also incorporates data elements
   proposed in several XCON WG and SIPPING WG drafts.

   [Editors Note: This document is still in early stages of development
   and is intended to trigger discussions.]


2.  Terminology

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

   This document uses the terminology defined in the XCON Conferencing
   Framework [1] and the SIPPING Conferencing Framework [4].  In
   addition, it uses definitions from The Binary Floor Control Protocol
   [7].


3.  Common Conference Data

3.1.  General

   The conference object data model document is an XML [5] document that



Novo, et al.            Expires September 7, 2006               [Page 3]


Internet-Draft          Common Conference Schema              March 2006


   MUST be well formed and SHOULD be valid.  Conference object data
   model documents MUST be based on XML 1.0 and SHOULD be encoded using
   UTF-8.

   A Common Conference information document begins with the root element
   tag <conference-info> of conference-type.  The <conference-info> has
   the attribute 'entity' that contains the conference URI that
   identifies the conference being described in the document.

   The <conference-info> element is comprised of <conference-
   description>, <host-info>, <conference-state>, <security-mechanism>,
   <Floor Information>, <users>, <sidebars-by-ref>, <sidebars-by-val>,
   <template-by-ref>, and <template-by-val> child elements.  A common
   conference document must at least include the <conference-
   description>, <host-info>, <conference-state>, <available-media>, and
   <users> child elements.  Some of this information can be represented
   using the conference-info-type schema as defined in [2].

   Changes in the state of the conference should be communicated to the
   subscribers using a conference package subscribers (ex.  A Session
   Initiation Protocol (SIP) Event Package for Conference State).
   Critical changes should be communicated to specific subscribers,
   perhaps those with unique roles.

   The following non-normative diagram gives an example of the overall
   hierarchy used in this format.  The operator "!" preceding an element
   indicates that this element is MANDATORY in the data model.  The
   operator "*" preceding an element indicates that this element is
   introduced/proposed in this draft.

   [Editors Note: The non-normative diagram will be remove in the
   following versions of the draft.  Its uses is only to make easier the
   reader to see the hierarchical position of the elements.]

   !<conference-info>
        |
        |--!<conference-description>
        |     |--<display-text>
        |     |--<subject>
        |     |--<free-text>
        |     |--<keywords>
        |     |--<web-page>
        |     |--<security-level>
        |     |--<allow-sidebars>
        |     |--<conference-stage>
        |     |--<conference-time>
        |     |      |--<entry>
        |     |      |    |--<base>



Novo, et al.            Expires September 7, 2006               [Page 4]


Internet-Draft          Common Conference Schema              March 2006


        |     |      |    |--<mixing-start-offset>
        |     |      |    |--<mixing-end-offset>
        |     |      |    |--<can-join-after-offset>
        |     |      |    |--<must-join-before-offset>
        |     |      |    |--<request-user>
        |     |      |    |--<notify-end-of-conference>
        |     |      |    |--<allowed-extend-mixing-end-offset>
        |     |           ...
        |     |--<conf-uris>
        |     |      |--<SIP>
        |     |      |    |--<uri>
        |     |      |    |--<display-text>
        |     |      |    |--<purpose>
        |     |      |--<H323>
        |     |      |    |--<H.323-alias>
        |     |      |    |--<H.323-URI>
        |     |      |--<PSTN/ISDN>
        |     |      |    |--<phone numbers>
        |     |      ...
        |     |--<service-uris>
        |     |      |--<SIP>
        |     |      |    |--<uri>
        |     |      |    |--<display-text>
        |     |      |    |--<purpose>
        |     |      |--<H323>
        |     |      |    |--<H.323-alias>
        |     |      |    |--<H.323-URI>
        |     |      |--<PSTN/ISDN>
        |     |      |    |--<phone numbers>
        |     |      ...
        |     |--<maximum-user-count>
        |     |      |--<entry>
        |     |      |--<entry>
        |     |      ...
        |     |--!<available-media>
        |     |      |--!<entry>
        |     |      |     |--<type>
        |     |      |     |--<display-text>
        |     |      |     |--<status>
        |     |      |     |--<mixing-mode>
        |     |      |     |--<mix level>
        |     |      |     |--<codecs>
        |     |      |     |    |--<entry>
        |     |      |     |    |--<entry>
        |     |      |     |    ...
        |     |      |--<entry>
        |     |      |     |--<type>
        |     |      |     |--<display-text>



Novo, et al.            Expires September 7, 2006               [Page 5]


Internet-Draft          Common Conference Schema              March 2006


        |     |      |     |--<status>
        |     |      |     |--<mixing-mode>
        |     |      |     |--<mix level>
        |     |      |     |--<codecs>
        |     |      |     |    |--<entry>
        |     |      |     |    |--<entry>
        |     |      |     |    ...
        |     |      ...
        |
        |--!<host-info>
        |     |--<display-text>
        |     |--<web-page>
        |     |--!<uris>
        |     |     |--!<SIP>
        |     |     |     |--!<uri>
        |     |     |     |--<display-text>
        |     |     |     |--<purpose>
        |     |     |--<H323>
        |     |     |    |--<H.323-alias>
        |     |     |    |--<H.323-URI>
        |     |     |--<PSTN/ISDN>
        |     |     |    |--<phone numbers>
        |           ...
        |--!<conference-state>
        |     |--<allow-conference-state>
        |     |--<user-count>
        |     |--!<active>
        |     |--<locked>
        |
        |--<security-mechanism>
        |     |--<entry-protocol>
        |     |     |--<methods>
        |     |     |     |--<method>
        |     |     |     ...
        |     |     |--<option-tags>
        |     |     |     |--<option-tag>
        |     |     |     ...
        |     |     |--<feature-tags>
        |     |     |     |--<feature-tag>
        |     |     |     ...
        |     |     |--<bodies>
        |     |     |     |--<body-disposition>
        |     |     |     |    |--<body-format>
        |     |     |     ...
        |     ...
        |
        |--<floor-information>
        |     |--<allow-floor-events>



Novo, et al.            Expires September 7, 2006               [Page 6]


Internet-Draft          Common Conference Schema              March 2006


        |     |--<floor-request-handling>
        |     |--<conference-floor-policy>
        |     |     |--<floor>
        |     |     |    |--<media-types>
        |     |     |    |--<algorithm>
        |     |     |    |--<max-floor-users>
        |     |     |    |--<moderator-uri>
        |     |     |    |--<moderator-uri>
        |     |     |   ...
        |     |     ...
        |
        |--!<users>
        |     |--<join-handling>
        |     |--<users-must-be-specified>
        |     |--<dial-in-list>
        |     |     |--<target>
        |     |     |-- ...
        |     |
        |     |--<dial-out-list>
        |     |     |--<target>
        |     |     |-- ...
        |     |     |--<external>
        |     |     |-- ...
        |     |
        |     |--<refer-list>
        |     |     |--<target>
        |     |     |-- ...
        |     |     |--<external>
        |     |     |-- ...
        |     |
        |     |--<privileges-control-list>
        |     |    |--<data-access-rights>
        |     |    |      |--<entry name=sidebars-by-ref>
        |     |    |      |--<entry name=sidebars-by-val>
        |     |    |      |--<entry name=conference-time>
        |     |    |      |--<entry name=mixing-start-offset>
        |     |    |     ...
        |     |    |
        |     |    |--<conference-rules>
        |     |    |     |--<entry>
        |     |    |     |     |--<condition>
        |     |    |     |     |     |--<identity>
        |     |    |     |     |     |     |
        |     |    |     |     |     |     ...
        |     |    |     |     |     |
        |     |    |     |     |     |--<validity>
        |     |    |     |     |     |     |--<from>
        |     |    |     |     |     |     |--<until>



Novo, et al.            Expires September 7, 2006               [Page 7]


Internet-Draft          Common Conference Schema              March 2006


        |     |    |     |     |
        |     |    |     |     |--<actions>
        |     |    |     |     |     |
        |     |    |     |     |     ...
        |     |    |    ...
        |     |
        |     |--!<user>
        |     |    |--<display-text>
        |     |    |--<associated-aors>
        |     |    |--<provide-anonymity>
        |     |    |--<roles>
        |     |    |    |
        |     |    |   ...
        |     |    |--<languages>
        |     |    |--<cascaded-focus>
        |     |    |--<authorization-mechanism>
        |     |    |--<sphere>
        |     |    |--<allow-refer-users-dynamically>
        |     |    |--<allow-invite-users-dynamically>
        |     |    |--<allow-remove-users-dynamically>
        |     |    |--<floors>
        |     |    |     |--<entry>
        |     |    |     |     |--<show-floor-holder>
        |     |    |     |     |--<show-floor-requests>
        |     |    |     ...
        |     |    |--<endpoint>
        |     |    |      |--<display-text>
        |     |    |      |--<referred>
        |     |    |      |--<status>
        |     |    |      |--<joining-method>
        |     |    |      |--<joining-info>
        |     |    |      |--<disconnection-method>
        |     |    |      |--<disconnection-info>
        |     |    |      |--<media>
        |     |    |      |    |--<type>
        |     |    |      |    |--<display-text>
        |     |    |      |    |--<label>
        |     |    |      |    |--<src-id>
        |     |    |      |    |--<status>
        |     |    |      |   ...
        |     |    |      |--<call-info>
        |     |    |      |    |--<sip>
        |     |    |      |    |   |--<display-text>
        |     |    |      |    |   |--<call-id>
        |     |    |      |    |   |--<from-tag>
        |     |    |      |    |   |--<to-tag>
        |          ...    ...
        |--<sidebars-by-ref>



Novo, et al.            Expires September 7, 2006               [Page 8]


Internet-Draft          Common Conference Schema              March 2006


        |     |--<entry>
        |     |     |-- <user>
        |     |     |-- <display-text>
        |     |--<entry>
        |     |     |-- <user>
        |     |     |-- <display-text>
        |     ...
        |--<sidebars-by-val>
        |     |--<entry>
        |     |     |
        |     |    ...
        |     |--<entry>
        |     |     |
        |     ...   ...
        |--<template-by-val>
        |--<template-by-ref>
        |     |-<urn>
        |     |-<display-text>
        ...


   The following sections describe these elements in detail.  The full
   XML schema is provided in Section 4.

3.2.  <conference-description>

   The <conference-description> element describes the conference in its
   entirely.  It SHOULD have an extra attribute 'xml:lang' to specify
   the language used in the contents of this element as defined Section
   2.12 of [5].  It is comprised of <display-text>, <subject>, <free-
   text>, <keywords>, <web-page>, <security-level>, <allow-sidebars>,
   <conference-time>, <conf-uris>, <service-uris>, <maximum-user-count>,
   and <available-media>.

   The child elements <display-text>, <subject>, <free-text> and
   <keywords> are used to describe the conference content.  These
   elements are defined in [2].

   The child element <web-page> is an optional element that points to a
   URI with additional information about the conference.  These elements
   are described in [8].  The child elements <security-level> and
   <allow-sidebars> describe the capabilities of the conference.  These
   elements are described in [8].

   The <conference-stage> is a compulsory element that give the stage of
   the conference.  This element can have 4 values: reserved, started,
   running, and ended.  At the reserved stage the conference exists only
   in the conference control server.  There is no running focus and



Novo, et al.            Expires September 7, 2006               [Page 9]


Internet-Draft          Common Conference Schema              March 2006


   there are no subscribers or notifications.  The information is
   accessible only via the conference control protocol.  At he started
   stage, there are no users yet in the conference, still it is possible
   to subscribe to the conference state.  The running stage starts when
   the first user joins the conference.  In the ended stage, there are
   not any user connect to the conference, the conference information is
   only in the conference server if recurrence was defined.  A user can
   get information only from the conference control protocol.  For
   instance, the Session Initiation Protocol (SIP) Event Package for
   Conference State [2] is only applicable in the start and running
   stage.

   The <conference-time> child element has information related to
   conference time and duration of the conference.  Other elements from
   different namespaces MAY be present for the purposes of
   extensibility.  The <conf-uris> and <service-uris> are used to
   describe the conference-related URIs.  The <maximum-user-count> child
   element indicates the number of users that can be invited to the
   conference.  The <available-media> child element is used to describe
   the media characteristics of the conference.

   The following sections describe the remaining elements in more
   detail.  Other child elements can be used to extend <conference-
   description> in the future.

3.2.1.  <conference-time>

   The <conference-time> element contains the information related to
   conference time and duration of a conference.  The <conference-time>
   element contains one or more <entry> elements each defining the time
   information of a single conference occurrence.

   Every <entry> element contains a <mixing-start-offset> child element
   that specifies when conference media mixing starts before the
   conference starts, <mixing-end-offset> child element that specifies
   the time a conference media mixing stops after the conference stops.
   If the <mixing-start-offset> element is not present, it indicates
   that the conference media mixing starts immediately.  If the <mixing-
   end-offset> element is not present, it indicates that the conference
   occurrence is not bounded. <mixing-start-offset> and <mixing-end-
   offset> elements both have the mandatory 'require-participant'
   attribute.  This attribute has one of 4 values: 'none',
   'administrator', 'moderator', and 'participant'.  For mixing start
   offset, this attribute allows a privileged user to define when media
   mixing starts based on the latter of the mixing start time, and the
   time the first participant, administrator, or moderator arrives.  If
   the value is set to 'none', mixing starts according to the mixing
   start time.  For mixing end offset, this attribute allows a



Novo, et al.            Expires September 7, 2006              [Page 10]


Internet-Draft          Common Conference Schema              March 2006


   privileged user to define when media mixing ends based on the earlier
   of the mixing end offset, and the time the last participant, or
   moderator leaves.  If the value is set to 'none', mixing stops
   according to the mixing end offset.  If the conference policy was
   modified so that last privileged user is now a normal conference
   participant, and the conference requires a privileged user to
   continue; that conference MUST terminate [8].

   An administrator can indicate the time when users can join a
   conference by populating the <can-join-after-offset> element.
   Similarly, an administrator can define the time after which new users
   are not allowed to join the conference anymore.  This is done by
   populating the <must-join-before-offset> element.

   The <base> child element specifies the iCalendar object of the
   conference.  The iCalendar object components are defined in [6].

   The <entry> element also contains the <request-user> child element.
   This elements is explained in section 4.3.3 of [8].

   The <notify-end-of-conference> element defines in minutes when the
   system has to send a notification when the end of the conference is
   near.  If the <notify-end-of-conference> element is not present, it
   indicates that the system does not notify the users when the end of
   the conference is near.  The <allowed-extend-mixing-end-offset>
   refers to the possibility to extend the conference.  It has two
   values: allowed, denied.

3.2.2.  <conf-uris>

   The <conf-uris> contains the URI to be used in order to access the
   conference by different signaling means.  It contains a sequence of
   child elements: <SIP>, <H.323>, and <PSTN/ISDN>.  The <SIP> element
   contains the <uri>, <display-text>, and <purpose>.  These elements
   are described in [2].  The <H.323> element will include either a
   <H.323-alias> or a <H.323-URI> child elements.  The <PSTN/ISDN> has
   an attribute 'PIN code' with the PIN code of the conference if used.
   <PSTN/ISDN> element will include 1 to 6 <phone number> child elements
   (for H.320) as well.

3.2.3.  <service-uris>

   The <service-uris> describes auxiliary services available for the
   conference.  It contains a sequence of child elements: <SIP>,
   <H.323>, and <PSTN/ISDN>. <SIP> child element contains <uri>,
   <display-text>, and <purpose>.  These elements are described in [2].
   <H.323>, and <PSTN/ISDN> child elements are described in <conf-uris>
   section.



Novo, et al.            Expires September 7, 2006              [Page 11]


Internet-Draft          Common Conference Schema              March 2006


3.2.4.  <maximum-user-count>

   The <maximum-user-count> contains the overall number of users allowed
   to join the conference.  It contains a sequence of <entry> child
   elements.  An <entry> element MAY contain the number of users with a
   specific role allowed to join the conference [9].

3.2.5.  <available-media>

   The <available-media> has the 'label' attribute that is the media
   stream identifier assigned by the conferencing server.  This element
   contains a sequence of <entry> child elements of conference-medium-
   type.  Each <entry> element contains the <type>, <display-text>,
   <status>, <mixing-mode>, <mix level> and <codecs> child elements.
   The attribute 'label' and the <type>, <display-text>, and <status>
   elements are described in [2].  The <codecs> element specifies the
   allowed codecs in the conference [10].  It has an attribute
   'decision' that specifies if the focus decides the common codec
   automatically or needs the approvement of the moderator of the
   conference (automatic, moderator-controlled).  The <codecs> element
   contains a <entry> elements.  A <entry> element can have the
   attribute 'name' and 'policy'.  The 'name' attribute identifies a
   codec, and the 'decision' attribute and the policy attribute contains
   the policy for that codec (allowed, or disallowed) [10].

   The child elements <mixing-mode>, <mix level> describe a default
   policy by which the mixer will build the outgoing stream from the
   incoming streams.  Notice that this policy is different that the
   policy describe for the floors for each media.  The <mix level> child
   element describes the number of participants in audio media streams
   or the number of sub-windows in video media streams (for instance, a
   value of 4 in the <mix level> element for video stremas means 2x2
   layout).  The <mixing-mode> child element MUST contain one and only
   one of the "Moderator-controlled", "FCFS", and "Automatic" values
   indicating the default algorithm to be use with every media stream.

3.3.  <host-info>

   The <host-info> element contains information about the entity hosting
   the conference.  It contains the <display-text>, <web-page> child
   elements.  These child elements are explained in [2]. <host-info>
   contains the <uris> child element as well. <uris> contains a sequence
   of child elements: <SIP>, <H.323>, and <PSTN/ISDN>.  The child
   elements of <uris> are described in <conf-uris> section.

3.4.  <conference-state>

   The <conference-state> element and the <user-count>, <active>, and



Novo, et al.            Expires September 7, 2006              [Page 12]


Internet-Draft          Common Conference Schema              March 2006


   <locked> child element are explained in section 5.5 of [2].  The
   <allow-conference-state> is described in section 4.3.7.2 of [8].

3.5.  <security-mechanism>

   The <security-mechanism> element has a single mandatory attribute,
   'name'.  The 'name' attribute identifies a protocol the policy of
   each protocol element is referring to.  It contains a series of
   <entry-protocol> sub-elements.  Each <entry-protocol> sub-element
   contains the policy related to the usage of a particular protocol.

   [Editors Note: The <security-mechanism> element only has defined the
   feature for the SIP protocol.  Discussion about other protocols
   (PSTN, HTML, Jabber, H.323, etc...) are in the XCON WG mailing list.]

   The <entry-protocol> element has a series of child elements: methods,
   option-tags, feature-tags, and bodies.  These elements are described
   in sections 6.1, 6.2,6.3, and 6.4 of [10].

3.6.  <floor-information>

   The <floor-information> element has the <allow-floor-events>, <floor-
   request-handling>, and the <conference-floor-policy> child elements.
   Other elements from different namespaces MAY be present for the
   purposes of extensibility.  The <conference-floor-policy> element has
   one or more <floor>.  The number of <floors> child elements indicates
   how many floors the conference can have.  A <floor> element has the
   mandatory <Media-types> element, the mandatory <Algorithm> element
   that MUST contain one and only one of the "Moderator-controlled",
   "FCFS", and "Random" values indicating the algorithm, the optional
   <Max-floor-users> element, and the optional <Moderator-URI> set of
   element indicating the URIs of the moderators.

   The <conference-floor-policy> element, its attributes, and the
   <conference-floor-policy> child element are described in Section 18.8
   of [11].  The <allow-floor-events>, and <floor-request-handling> are
   described in section 4.3.7.2 of [8].  This draft extends the
   <conference-floor-policy> element with a new attribute 'label'.  The
   'label' attribute identifies the media that the floor is controlling.

3.7.  <users>

   The <users> element contains the <join-handling>, <users-must-be-
   specified>, <dial-in-list>, <dial-out-list>, <refer-list>,
   <privileges-control-list> and <user> child elements.

   The <join-handling> element besides to have the "block", "confirm",
   and "allow" values described in section 4.3.7.2.3 of [8], it has the



Novo, et al.            Expires September 7, 2006              [Page 13]


Internet-Draft          Common Conference Schema              March 2006


   following extra values: "IVR", "directed-operator", "moderator-
   controlled".  If the <join-handling> element has the "IVR" value, the
   user has to define the PIN code, in the case of "directed-operator"
   the user is directed to an operator, in the case of the "moderator-
   controlled" value the user has to wait for the approve of the chair
   of the conference.

   The <users-must-be-specified> element is a boolean value specifying
   whether only defined users can join the conference.  If the <users-
   must-be-specified> element is set to true, the conference initiator
   will need to specify the users.

   The following sections describe the remaining elements in more
   detail.  Other child elements can be used to extend <conference-
   description> in the future.

3.7.1.  <dial-in-list>

   The <dial-out-list> child element contains a list of user URIs, PSTN
   phone number, role, or domain (*@example.com) that the focus uses to
   determine who can join the conference.  The <dial-in-list> element
   includes zero or more <target> child element and zero or more
   <external> child element.  Those two child elements includes the
   mandatory 'uri' attribute.  If users are specify in this list, the
   system does not need any IVR to ask the user for conference ID since
   the system knows according, for instance, to the "contact" in SIP or
   calling number in PSTN, to which conference to connect the user.

3.7.2.  <dial-out-list>

   The <dial-out-list> child element contains a list of user URIs, PSTN
   phone number, role, or domain (*@example.com) that the focus uses to
   determine who to invite to join a conference.  The <dial-out-list>
   element includes zero or more <target> child element and zero or more
   <external> child element.  Those two child elements includes the
   mandatory 'uri' attribute.  The use of the <external> and <target>
   elements are described in section 4.3.4 of [8].

3.7.3.  <refer-list>

   The <refer-list> child element contains a list of resources that the
   focus needs to refer to the conference.  The <refer-list> is
   identical to the <dial-out-list> element and is described in section
   4.3.5 of [8].

3.7.4.  <privileges-control-list>

   The <privileges-control-list> refers to a virtual set of rights,



Novo, et al.            Expires September 7, 2006              [Page 14]


Internet-Draft          Common Conference Schema              March 2006


   permissions and limitations pertaining to operations.  This element
   contains the <data-access-rights> and the <conference-rules>.

3.7.4.1.  <data-access-rights>

   The <data-access-rights> element describes the read/write access
   privileges for accessing the Conference Object as a whole.  It is
   partially described in [1].  The <data-access-rights> contains a list
   of <entry> elements defined in the Conference Object.  Every element
   has three attributes: the attribute 'name', 'read-only', and the
   attribute 'read-write'.  When the conferencing server receives a
   request for access to privacy-sensitive data it needs to match it
   against the 'read-only' and the 'read-write' attributes.  Each
   attribute of each individual element is evaluated and as a result it
   is determined if the user can access that element.  The attributes
   specify the minimum subscriber's role that can access or modify the
   element of the conference.  Subscribers with a lower role cannot
   access or modify the element.  If an element is not defined in the
   <data-access-rights> then the 'read-only' attribute MUST be
   interpreted as a "participant" and the 'read-write' attribute MUST be
   interpreted as an "administrator" by default.  It is possible to
   defined only one of the attributes of the element, the other
   attribute SHOULD be interpreted by default.  This draft does not
   define the set of possible conferencing roles.

   However, it can also be the case that conflicts can occur given a
   hierarchy of elements.  In that case, the lower-level element
   privileges predominate over the upper-level privileges element.

3.7.4.2.  <conference-rules>

   The <conference-rules> element is a set of <entry> child elements
   with specific authorization rules that indicate who is allowed to
   subscribe to conference-information notifications, see floors,
   request/grant floors, and so on.  It is partially described in [8]

   Every <entry> element is represent by the 'id' attribute, each of
   which identifies a rule inside the conference.  It contains the
   <condition> and <actions> sub elements.

3.7.4.2.1.  <condition>

   The <condition> element determines whether a particular privilege
   applies to a user, a role, or domain.

   The <condition> element has the <identity> and the <validity> child
   element.  These elements MUST NOT appear more than once in the
   condition part of a single rule.



Novo, et al.            Expires September 7, 2006              [Page 15]


Internet-Draft          Common Conference Schema              March 2006


   The <identity> element is already defined in Section 7.1 of [12].
   This draft explains the <id>, <domain>, <any-identity> and <except>
   child elements of the <identity> element and gives some examples.
   The absence of the <identity> element in a <condition> element
   indicates that the privilege applies to all unauthenticated
   identities.

   Other child elements of the <identity> element defined in [8] are the
   <external-list> (Section 4.3.7.1.4.2), <pseudonymous> (Section
   4.3.7.1.5), <has-been-referred> (Section 4.3.7.1.6), <has-been-
   invited> (Section 4.3.7.1.7), <has-been-in-conference> (Section
   4.3.7.1.8), <is-in-conference> (Section 4.3.7.1.9), <key-participant>
   (Section 4.3.7.1.10), <is-on-dialout-list> (Section 4.3.7.1.11), <is-
   on-refer-list> (Section 4.3.7.1.12), <floor-id> (Section 4.3.7.1.13),
   <participant-passcode> (Section 4.3.7.1.14), and <key-participant-
   passcode> (Section 4.3.7.1.15) child elements.

   The <validity> element expresses the validity period of the rule with
   a starting and an ending time.  The <validity> element and its child
   elements ,<from> and <until>, are defined in section 7.3 of [12].

3.7.4.2.2.  <actions>

   The <actions> element in the applied rule is a positive grant of
   permission to the conference data model or the conferencing system.
   The <actions> element has the following operations defined in [8]:

   <allow-refer-users-dynamically> defined in section 4.3.7.2.4, <allow-
   invite-users-dynamically> defined in section 4.3.7.2.5, <allow-
   remove-users-dynamically> defined in section 4.3.7.2.6, <show-floor-
   holder> defined in section 4.3.7.3.4, <show-floor-requests> defined
   in section 4.3.7.3.5, <provide-anonymity> defined in section
   4.3.7.3.6,

   There are defined the following operations as well in this document:

   <read-write>

   The <read-write> element represents a boolean action.  If set to
   TRUE, the identity is allowed to modify the element described inside
   the 'element' attribute in the conference policy.  If set to FALSE,
   any modifications to the element are rejected.

   <read-only>

   The <read-only> element represents a boolean action.  If set to TRUE,
   the identity is allowed to read the element described inside the
   'element' attribute in the conference policy.  If set to FALSE, any



Novo, et al.            Expires September 7, 2006              [Page 16]


Internet-Draft          Common Conference Schema              March 2006


   attempts to read the element are rejected.

3.7.5.  <user>

   The element <user> describes a single participant in the conference.

   The following elements as well as the attributes of <user> are
   defined in [2], section 5.6: <display-text>, <associated-aors>,
   <roles>, <languages>, <cascaded-focus>, <endpoint>, <display-text>,
   <referred>, <status>, <joining-method>, <joining-info>,
   <disconnection-method>, <disconnection-info>, <media>, <label>,
   <src-id>, <call-info>, <display-text>, <call-id>, <to-tag>, <from-
   tag>.

   The <provide-anonymity> provides anonymity to the user.  It is
   defined in 4.3.7.3.6 of [8].  When a user is defined then the role
   must be defined or set to "participant" by default.  This
   specification does not define the set of possible conferencing roles
   nor the semantics associated with each.

   The <authorization-mechanism> element defines how the participants
   should be authenticated.  It can also be set to none.  The password
   associated with each user in the Digest authentication is included in
   the optional 'Password' attribute.  This attribute is ignored if
   authentication is set to "none".  This element is defined in [11].
   The <sphere> element can be used to indicate the state (e.g., 'work',
   'home', 'meeting', 'travel') the user is currently in.  It is defined
   in section 7.2 of [12].

   The <allow-refer-users-dynamically>, <allow-invite-users-dynamically>
   and <allow-remove-users-dynamically> elements are defined in section
   4.3.7.2 of [8].

   The <floors> element is a container of <entry> child elements, each
   describing a floor that joins this participant in the conference.
   The <entry> element has the <show-floor-holder> and the <show-floor-
   requests> child element.  They are described in section 4.3.7.3 of
   [8].  The <entry> child elements is represent by the 'id' attribute,
   each of which identifies a floor inside the conference.

   [Editors Note: The <call-info> element only has defined the <sip>
   child element.  Discussion about other sub elements (PSTN, HTML,
   Jabber, H.323, etc...) in the XCON WG mailing list.]

3.8.  <sidebars-by-ref>

   The <sidebars-by-ref> element contains a set of <entry> child
   elements.  Each <entry> child element contains a <user> child element



Novo, et al.            Expires September 7, 2006              [Page 17]


Internet-Draft          Common Conference Schema              March 2006


   with a sidebar conference URI and a <display-text> child element.
   The <sidebars-by-ref> element is described in Section 5.9.1 of [2].

   Notice that the <sidebars-by-ref> child element does not include the
   attribute 'state' defined in [2].

3.9.  <sidebars-by-val>

   The <sidebars-by-val> element contains a set of <entry> child
   elements each containing information about a single sidebar.

   Notice as well that the <sidebars-by-val> and the <entry> child
   element do not include the attribute 'state' defined in [2].

3.10.  Template

   A Common Conference Information Data Model consist of a single
   template in accordance with the XCON framework document [1].
   Although the Common Conference Information Data Model defines two
   elements to hook a template (template-by-val, template-by-ref), a
   common conference document MUST only include one of these elements.

3.10.1.  <template-by-val>

   The <template-by-val> element contains information about a single
   template.  The <template-by-val> likely makes sense for systems that
   just have a few options for media.

3.10.2.  <template-by-ref>

   The <template-by-ref> element contains a <urn> child element with a
   template conference URN and a <display-text> child element that
   contains descriptive text suitable for human consumption giving
   information about the template.  The <template-by-ref> make sense for
   systems offering many options for media.


4.  XML Schema

   In accordance with the XCON framework document [1], the Conference
   Object is a logical representation of a conference instance.  It is
   separated into two XML schemas, the common conference information
   schema and the conference template schema.  The common conference
   information schema contains core information that is utilized in any
   conference.  The conference template schema contains the variable
   information part of the Conference Object.  The document [13]
   supplies a set of core media templates that SHOULD be used in
   conjunction with this data model.  Notice that the <template-by-val>



Novo, et al.            Expires September 7, 2006              [Page 18]


Internet-Draft          Common Conference Schema              March 2006


   and the <template-by-ref> elements MUST NOT be defined together in
   the same common conference information schema.

   This specification makes use of XML namespaces for identifying common
   conference information documents and document fragments.  The
   namespace URI for elements defined by this specification is a URN:
   urn:ietf:params:xml:ns:common-conference-schema.

   [Editors Note: This XML schema is NOT validate yet.  Authors are
   working on this and will release a new revision of this draft with
   the full validate schema in the near future]


   <?xml version="1.0" encoding="UTF-8" ?>
    <xs:schema xmlns:cc=
      "urn:ietf:params:xml:ns:common-conference-schema"
      xmlns:info="urn:ietf:params:xml:ns:conference-info"
      xmlns:policy="urn:ietf:params:xml:ns:conference-policy"
      xmlns:compol="urn:ietf:params:xml:ns:common-policy"
      xmlns:role="urn:ietf:params:xml:ns:role-schema"

      xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace=\\
   "urn:ietf:params:xml:ns:common-conference-schema" \\
   elementFormDefault="qualified" attributeFormDefault="unqualified">

     <xs:import namespace="urn:ietf:params:xml:ns:conference-info"\\
   schemaLocation=urn:ietf:params:xml:schema:conference-info/>
      <xs:import namespace="urn:ietf:params:xml:ns:conference-policy"\\
   schemaLocation="urn:ietf:params:xml:ns:conference-policy" />
      <xs:import namespace="urn:ietf:params:xml:ns:common-policy" \\
   schemaLocation="urn:ietf:params:xml:ns:common-policy" />
      <xs:import namespace="urn:ietf:params:xml:ns:role-schema" \\
   schemaLocation="urn:ietf:params:xml:ns:role-schema" />

      <!--
        This imports the xml definition
      -->
         <xs:import namespace="http://www.w3.org/XML/1998/namespace"
          schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
      <!--
        CONFERENCE INFO
      -->
         <xs:element name="conference-info" type="conference-type"/>
         <!--
            CONFERENCE TYPE
         -->
         <xs:complexType name="conference-type">
          <xs:sequence>



Novo, et al.            Expires September 7, 2006              [Page 19]


Internet-Draft          Common Conference Schema              March 2006


           <xs:element name="conference-description"
            type="conference-description-type" minOccurs="1"/>
           <xs:element name="host-info"
            type="host-type" minOccurs="1"/>
           <xs:element name="conference-state"
            type="conference-state-type" minOccurs="1"/>
           <xs:element name="security-mechanism"
            type="security-mechanisms-type" minOccurs="0"/>
           <xs:element name="floor-information"
            type="floor-information-type" minOccurs="0"/>
           <xs:element name="users"
            type="users-type" minOccurs="1"/>
           <xs:element name="sidebars-by-ref"
            type="sidebars-by-ref-type" minOccurs="0"/>
           <xs:element name="sidebars-by-val"
            type="sidebars-by-val-type" minOccurs="0"/>
           <xs:element name="template-by-val"
            type="xs:string" minOccurs="0"/>
           <xs:element name="template-by-ref"
            type="template-by-ref-type" minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
         </xs:complexType>
         <!--
            CONFERENCE DESCRIPTION TYPE
         -->
         <xs:complexType name="conference-description-type">
          <xs:sequence>
           <xs:element name="display-text"
            type="xs:string" minOccurs="0"/>
           <xs:element name="subject"
            type="xs:string" minOccurs="0"/>
           <xs:element name="free-text"
            type="xs:string" minOccurs="0"/>
           <xs:element name="keywords"
            type="info:keywords-type" minOccurs="0"/>
           <xs:element name="webpage"
            type="xs:anyURI" minOccurs="0"/>
           <xs:element name="security-level"
            type="compol:Securitylevel" minOccurs="0"/>
           <xs:element name="allow-sidebars"
            type="xs:boolean" default="true" minOccurs="0"/>
           <xs:element name="conference-time"
            type="conferencetime-type" minOccurs="0"/>
           <xs:element name="conf-uris"
            type="uris-type" minOccurs="0"/>
           <xs:element name="service-uris"



Novo, et al.            Expires September 7, 2006              [Page 20]


Internet-Draft          Common Conference Schema              March 2006


            type="uris-type" minOccurs="0"/>
           <xs:element name="maximum-user-count"
            type="maximum-user-type" minOccurs="0"/>
           <xs:element name="available-media"
            type="conference-media-type" minOccurs="1"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            CONFERENCE TIME
         -->
           <xs:complexType name="conferencetime-type">
            <xs:sequence>
             <xs:element name="entry" minOccurs="0"\\
   maxOccurs="unbounded">
              <xs:complexType>
               <xs:sequence>
                <xs:element name="base" type="xs:string" \\
   minOccurs="1"/>
                <xs:element name="mixing-start-offset" \\
   type="xs:string" minOccurs="0"/>
                <xs:element name="mixing-stop-offset" \\
   type="xs:string" minOccurs="0"/>
                <xs:element name="can-join-after-offset"
   type="xs:string" minOccurs="0"/>
                <xs:element name="must-join-before-offset" \\
   type="xs:string" minOccurs="0"/>
                <xs:element name="request-users" \\
   type="compol:StartStopTime" minOccurs="0"/>
                <xs:element name="notify-end-of-conference" \\
   type="xs:boolean" default="true" minOccurs="0"/>
                <xs:element name="allowed-extend-mixing-end-offset"\\
   type="xs:boolean"
                 default="true" minOccurs="0"/>
                <xs:any namespace="##other" processContents="lax"\\
   minOccurs="0"/>
               </xs:sequence>
              </xs:complexType>
             </xs:element>
            </xs:sequence>
           </xs:complexType>
         <!--
            URIS TYPE
         -->
         <xs:complexType name="uris-type">
          <xs:sequence>



Novo, et al.            Expires September 7, 2006              [Page 21]


Internet-Draft          Common Conference Schema              March 2006


           <xs:element name="SIP" type="info:uri-type"
            maxOccurs="unbounded"/>
           <xs:element name="H323" type="H323-type"
            maxOccurs="unbounded"/>
           <xs:element name="PSTN-ISDN" type="PSTN-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
         </xs:complexType>
        <!--
            H323 TYPE
         -->
         <xs:complexType name="H323-type">
          <xs:sequence>
           <xs:element name="H.323-alias" type="xs:string"
            minOccurs="0"/>
           <xs:element name="H.323-URI" type="xs:anyURI"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
        <!--
            PSTN TYPE
         -->
         <xs:complexType name="PSTN-type">
          <xs:sequence>
           <xs:element name="phone-numbers" type="xs:unsignedInt" \\
   minOccurs="0" maxOccurs="6"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
        <!--
            MAXIMUM USER TYPE
         -->
         <xs:complexType name="maximum-user-type">
          <xs:sequence>
           <xs:element name="entry" type="xs:unsignedInt"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="role"
           type="role:role-type" use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            CONFERENCE MEDIA TYPE
         -->



Novo, et al.            Expires September 7, 2006              [Page 22]


Internet-Draft          Common Conference Schema              March 2006


         <xs:complexType name="conference-media-type">
          <xs:sequence>
           <xs:element name="entry" type="conference-medium-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="label"
           type="xs:string" use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>

         <!--
            CONFERENCE MEDIUM TYPE
         -->
         <xs:complexType name="conference-medium-type">
          <xs:sequence>
           <xs:element name="type" type="xs:string"/>
           <xs:element name="display-text" type="xs:string"
            minOccurs="0"/>
           <xs:element name="status" type="info:media-status-type"
            minOccurs="0"/>
           <xs:element name="mixing-mode" type="mix-mode-type"
            minOccurs="0"/>
           <xs:element name="mix-level" type="xs:unsignedInt"
            minOccurs="0"/>
           <xs:element name="codecs" type="codecs-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="label" type="xs:string"
           use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
        <!--
            MIX MODE TYPE
         -->
         <xs:simpleType name="mix-mode-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="Moderator-controlled"/>
           <xs:enumeration value="FCFS"/>
           <xs:enumeration value="Automatic"/>
          </xs:restriction>
         </xs:simpleType>

         <!--
            CODECS TYPE
         -->
         <xs:complexType name="codecs-type">



Novo, et al.            Expires September 7, 2006              [Page 23]


Internet-Draft          Common Conference Schema              March 2006


          <xs:sequence>
           <xs:element name="entry" type="codec-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="decision"
           type="decision-type" use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>

         <!--
            CODEC TYPE
         -->
         <xs:complexType name="codec-type">
          <xs:attribute name="name"
           type="xs:string" use="required"/>
          <xs:attribute name="policy"
           type="policy-type" use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            DECISION TYPE
         -->
         <xs:simpleType name="decision-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="Automatic"/>
           <xs:enumeration value="Moderator-controlled"/>
          </xs:restriction>
         </xs:simpleType>
         <!--
            POLICY TYPE
         -->
         <xs:simpleType name="policy-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="Allowed"/>
           <xs:enumeration value="Disallowed"/>
          </xs:restriction>
         </xs:simpleType>
         <!--
            HOST TYPE
         -->
         <xs:complexType name="host-type">
          <xs:sequence>
           <xs:element name="display-text" type="xs:string"
            minOccurs="0"/>
           <xs:element name="web-page" type="xs:anyURI"
            minOccurs="0"/>
           <xs:element name="uris" type="uris-type"
            minOccurs="0"/>



Novo, et al.            Expires September 7, 2006              [Page 24]


Internet-Draft          Common Conference Schema              March 2006


           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
        <!--
            CONFERENCE STATE TYPE
         -->
         <xs:complexType name="conference-state-type">
          <xs:sequence>
           <xs:element name="allow-conference-state" type="xs:boolean"
            minOccurs="0"/>
           <xs:element name="user-count" type="xs:unsignedInt"
            minOccurs="0"/>
           <xs:element name="active" type="xs:boolean"
            minOccurs="0"/>
           <xs:element name="locked" type="xs:boolean"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            SECURITY MECHANISMS TYPE
         -->
         <xs:complexType name="security-mechanisms-type">
          <xs:sequence>
           <xs:element name="entry-protocol" \\
   type="security-mechanism-type" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            SECURITY MECHANISM TYPE
         -->
         <xs:complexType name="security-mechanism-type">
          <xs:sequence>
           <xs:element name="methods" type="methods-type"
            minOccurs="0"/>
           <xs:element name="option-tags" type="option-tags-type"
            minOccurs="0"/>
           <xs:element name="feature-tags" type="feature-tags-type"
            minOccurs="0"/>
           <xs:element name="bodies" type="bodies-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>



Novo, et al.            Expires September 7, 2006              [Page 25]


Internet-Draft          Common Conference Schema              March 2006


          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            METHODS TYPE
         -->
         <xs:complexType name="methods-type">
          <xs:sequence>
           <xs:element name="method" type="codec-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="default-policy" type="policy-type"
           use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            OPTION TAGS TYPE
         -->
         <xs:complexType name="option-tags-type">
          <xs:sequence>
           <xs:element name="option-tag" type="codec-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="default-policy" //
   type="default-policy-type" use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            DEFAULT POLICY TYPE
         -->
         <xs:simpleType name="default-policy-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="Allowed"/>
           <xs:enumeration value="Disallowed"/>
           <xs:enumeration value="Mandatory"/>
          </xs:restriction>
         </xs:simpleType>
         <!--
            FEATURE TAGS TYPE
         -->
         <xs:complexType name="feature-tags-type">
          <xs:sequence>
           <xs:element name="feature-tag" type="codec-type"
            minOccurs="0"/>



Novo, et al.            Expires September 7, 2006              [Page 26]


Internet-Draft          Common Conference Schema              March 2006


           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="default-policy" type="policy-type"
           use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            BODIES TYPE
         -->
         <xs:complexType name="bodies-type">
          <xs:sequence>
           <xs:element name="body-disposition" type="body-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="default-policy" type="policy-type"
           use="required"/>
          <xs:attribute name="default-encryption" type="policy-type"
           use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            BODY TYPE
         -->
         <xs:complexType name="body-type">
          <xs:sequence>
           <xs:element name="body-format" type="codec-type"
            minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="name" type="xs:string"
           use="required"/>
          <xs:attribute name="policy" type="policy-type"
           use="required"/>
          <xs:attribute name="default-policy" type="policy-type"
           use="required"/>
          <xs:attribute name="encryption" type="policy-type"
           use="required"/>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            FLOOR INFORMATION TYPE
         -->
         <xs:complexType name="floor-information-type">
          <xs:sequence>



Novo, et al.            Expires September 7, 2006              [Page 27]


Internet-Draft          Common Conference Schema              March 2006


           <xs:element name="allow-floor-events" type="xs:boolean"
            maxOccurs="unbounded"/>
           <xs:element name="floor-request-handling" \\
   type="floor-request-type" maxOccurs="unbounded"/>
           <xs:element name="conference-floor-policy" \\
   type="policy:Conference-floor-policy"
            maxOccurs="unbounded"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            FLOOR REQUEST TYPE
         -->
         <xs:simpleType name="floor-request-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="block"/>
           <xs:enumeration value="confirm"/>
          </xs:restriction>
         </xs:simpleType>
         <!--
            USERS TYPE
         -->
         <xs:complexType name="users-type">
          <xs:sequence>
           <xs:element name="join-handling"
            type="policy:join-handling-type" minOccurs="0"/>
           <xs:element name="user-must-be-specified"
            type="xs:boolean" minOccurs="0"/>
           <xs:element name="dial-in-list"
            type="dial-in-list-type" minOccurs="0"/>
           <xs:element name="dial-out-list"
            type="policy:UserList" minOccurs="0"/>
           <xs:element name="refer-list"
            type="policy:UserList" minOccurs="0"/>
           <xs:element name="privileges-control-list"
            type="privileges-control-list-type" minOccurs="0"/>
           <xs:element name="user"
            type="user-type" minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:complexType>
         <!--
            JOIN HANDLING TYPE
         -->



Novo, et al.            Expires September 7, 2006              [Page 28]


Internet-Draft          Common Conference Schema              March 2006


         <xs:simpleType name="join-handling-type">
          <xs:restriction base="xs:string">
           <xs:enumeration value="block"/>
           <xs:enumeration value="allow"/>
           <xs:enumeration value="confirm"/>
           <xs:enumeration value="IVR"/>
           <xs:enumeration value="directed-operator"/>
           <xs:enumeration value="moderator-controlled"/>
          </xs:restriction>
         </xs:simpleType>
          <!--
            DIAL IN LIST TYPE
          -->
           <xs:complexType name="dial-in-list-type">
            <xs:sequence>
             <xs:element name="target" type="policy:Target" \\
   minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
           </xs:complexType>
         <!--
            PRIVILEGES CONTROL LIST TYPE
         -->
         <xs:complexType name="privileges-control-list-type">
          <xs:sequence>
           <xs:element name="data-access-rights" \\
   type="data-access-rights-type" maxOccurs="unbounded"/>
           <xs:element name="conference-rules" \\
   type="conference-rules-type" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            DATA ACCESS RIGHTS TYPE
         -->
         <xs:complexType name="data-access-rights-type">
          <xs:sequence>
           <xs:element name="entry" type="entry-rights-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>

         <!--
            ENTRY RIGHTS TYPE
         -->
         <xs:complexType name="entry-rights-type">



Novo, et al.            Expires September 7, 2006              [Page 29]


Internet-Draft          Common Conference Schema              March 2006


           <xs:attribute name="name" type="xs:string"
           use="required"/>
           <xs:attribute name="read-only" type="role:role-type"
           use="required"/>
           <xs:attribute name="read-write" type="role:role-type"
           use="required"/>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>

         <!--
            CONFERENCE RULES TYPE
         -->
         <xs:complexType name="conference-rules-type">
          <xs:sequence>
           <xs:element name="entry" type="conference-rule-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="id" type="xs:string"
           use="required"/>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>

         <!--
            CONFERENCE RULE TYPE
         -->
         <xs:complexType name="conference-rule-type">
          <xs:sequence>
           <xs:element name="condition" type="condition-type"
            maxOccurs="unbounded"/>
           <xs:element name="action" type="action-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            CONDITION TYPE
         -->
         <xs:complexType name="condition-type">
          <xs:sequence>
           <xs:element name="identity" type="identity-type"
            maxOccurs="1"/>
           <xs:element name="validity" type="compol:validityType"
            maxOccurs="1"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\



Novo, et al.            Expires September 7, 2006              [Page 30]


Internet-Draft          Common Conference Schema              March 2006


   processContents="lax"/>
         </xs:complexType>
         <!--
            IDENTITY TYPE
         -->
         <xs:complexType name="identity-type">
          <xs:sequence>
           <xs:element name="identity" type="roles-identity-type"
            maxOccurs="unbounded"/>
           <xs:element name="validity" type="compol:validityType"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>

        <!--
            ROLES IDENTITY TYPE
         -->
          <xs:complexType name="identityType">
           <xs:complexContent>
            <xs:restriction base="xs:anyType">
             <xs:choice minOccurs="0" maxOccurs="1">
              <xs:element name="one" type="compol:oneType"/>
              <xs:element name="many" type="compol:manyType"/>
              <xs:element name="external-list" type="xs:string"/>
              <xs:element name="pseudonymous" type="xs:string"/>
              <xs:element name="has-been-referred" type="xs:string"/>
              <xs:element name="has-been-invited" type="xs:string"/>
              <xs:element name="has-been-in-conference" \\
   type="xs:string"/>
              <xs:element name="is-in-conference" type="xs:string"/>
              <xs:element name="key-participant" type="xs:string"/>
              <xs:element name="is-on-dialout-list" type="xs:string"/>
              <xs:element name="is-on-refer-list" type="xs:string"/>
              <xs:element name="floor-id" type="xs:string"/>
              <xs:element name="participant-passcode" \\
   type="xs:string"/>
              <xs:element name="key-participant-passcode" \\
   type="xs:string"/>
             </xs:choice>
            </xs:restriction>
           </xs:complexContent>
          </xs:complexType>
        <!--
            ACTION TYPE
         -->
          <xs:complexType name="action-type">



Novo, et al.            Expires September 7, 2006              [Page 31]


Internet-Draft          Common Conference Schema              March 2006


           <xs:complexContent>
            <xs:restriction base="xs:anyType">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="allow-refer-users-dynamically"\\
   type="xs:string"/>
              <xs:element name="allow-invite-users-dynamically"\\
   type="xs:string"/>
              <xs:element name="allow-remove-users-dynamically"\\
   type="xs:string"/>
              <xs:element name="show-floor-holder" type="xs:string"/>
              <xs:element name="show-floor-request" type="xs:string"/>
              <xs:element name="provide-anonymity" type="xs:string"/>
              <xs:element name="read-only" type="role:role-type"/>
              <xs:element name="read-write" type="role:role-type"/>
             </xs:choice>
            </xs:restriction>
           </xs:complexContent>
          </xs:complexType>
         <!--
            USER TYPE
         -->
         <xs:complexType name="user-type">
          <xs:sequence>
           <xs:element name="user" type="one-user-type"
            minOccurs="0" maxOccurs="unbounded"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="state" type="info:state-type"
           use="optional" default="full"/>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            ONE USER TYPE
         -->
         <xs:complexType name="one-user-type">
          <xs:sequence>
           <xs:element name="display-text" type="xs:string"
            minOccurs="0"/>
           <xs:element name="associated-aors" type="info:uris-type"
            minOccurs="0"/>
           <xs:element name="provide-anonymity" type="xs:boolean"
            minOccurs="0"/>
           <xs:element name="roles" type="role:role-type"
            minOccurs="0"/>
           <xs:element name="languages" \\
   type="info:user-languages-type" minOccurs="0"/>



Novo, et al.            Expires September 7, 2006              [Page 32]


Internet-Draft          Common Conference Schema              March 2006


           <xs:element name="cascaded-focus" type="xs:anyURI"
            minOccurs="0"/>
           <xs:element name="Authorization-mechanism">
            <xs:simpleType>
             <xs:restriction base="xs:string">
              <xs:enumeration value="Digest"/>
              <xs:enumeration value="Digest-AKA"/>
              <xs:enumeration value="None"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:element>
           <xs:element name="sphere" type="compol:sphereType" \\
   minOccurs="0"/>
           <xs:element name="allow-refer-users-dynamically" \\
   type="xs:boolean"/>
           <xs:element name="allow-invite-users-dynamically" \\
   type="xs:boolean"/>
           <xs:element name="allow-remove-users-dynamically" \\
   type="xs:boolean"/>
           <xs:element name="floors" type="xs:show-floors-type"/>
           <xs:element name="endpoint" type="info:endpoint-type"
            minOccurs="0" maxOccurs="unbounded"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="entity" type="xs:anyURI"/>
          <xs:attribute name="state" type="state-type"
           use="optional" default="full"/>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>

        <!--
            SHOW FLOORS TYPE
         -->
         <xs:complexType name="show-floors-type">
          <xs:sequence>
           <xs:element name="entry" type="show-floor-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            SHOW FLOOR TYPE
         -->
         <xs:complexType name="show-floor-type">
          <xs:sequence>



Novo, et al.            Expires September 7, 2006              [Page 33]


Internet-Draft          Common Conference Schema              March 2006


           <xs:element name="show-floor-holder" type="xs:boolean"
            minOccurs="0"/>
           <xs:element name="show-floor-request" type="xs:boolean"/>
           <xs:any namespace="##other" processContents="lax"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="id" type="xs:string"
           use="required"/>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            SIDEBARS-BY-REF TYPE
         -->
         <xs:complexType name="sidebars-by-ref-type">
          <xs:sequence>
           <xs:element name="entry" type="info:uri-type"
            maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            SIDEBARS-BY-VAL TYPE
         -->
         <xs:complexType name="sidebars-by-val-type">
          <xs:sequence>
           <xs:element name="entry" type="conference-type"
            minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         <!--
            TEMPLATE-BY-REF TYPE
         -->
         <xs:complexType name="template-by-ref-type">
          <xs:sequence>
           <xs:element name="urn" type="xs:string" minOccurs="1"/>
           <xs:element name="display-text" type="xs:string"/>
          </xs:sequence>
          <xs:anyAttribute namespace="##other" \\
   processContents="lax"/>
         </xs:complexType>
         </xs:schema>






Novo, et al.            Expires September 7, 2006              [Page 34]


Internet-Draft          Common Conference Schema              March 2006


5.  XML Schema Extensibility

   The Common Conference Information Data Model defined in this document
   is meant to be extensible toward specific application domains.  Such
   an extension is accomplished by defining elements, child elements and
   attributes that are specific to the desired application domain.  Each
   extension MUST define its own namespace.  Points of extension MUST be
   defined in the schema, and SHOULD be done using the <any
   namespace="##other"> construct.

   Elements or attributes from unknown namespaces MUST be ignored.

   The common conference information schema as is defined in [1] MUST
   include an extension point to allow new templates to hook into the
   schema and SHOULD be done using the <any namespace="##other">
   construct.


6.  XML example

   The following is an example of a common conference information
   document.  The conference starts on October 17, 2006, at 10:30 AM in
   New York City and finishes the same day at 12:30 PM every week.  In
   this example, there are currently 3 participants in a conference, one
   administrator, one moderator, and one participant.  Note that
   sidebars are allowed in this conference and there is one sidebar in
   the conference.  Also note that there is one floor moderator for the
   audio and a different floor moderator for the video.


   <?xml version="1.0" encoding="UTF-8"?>
      <conference-info
       xmlns="urn:ietf:params:xml:ns:common-conference-schema"
       xmlns:info="urn:ietf:params:xml:ns:conference-info"
       xmlns:policy="urn:ietf:params:xml:ns:conference-policy"
       xmlns:sesspol="urn:ietf:params:xml:ns:sessionpolicy"
       xmlns:compol="urn:ietf:params:xml:ns:common-policy"
       entity="sips:conference@example.com">
      <!--
        CONFERENCE DESCRIPTION
      -->
       <info:conference-description xml:lang="en-us">
        <info:display-text>Discussion of the best moments in Formula-1\\
   racing</info:display-text>
        <info:subject> Sports:Formula-1</info:subject>
        <info:free-text>This is a conference example</info:free-text>
        <info:keywords>Formula-1, cars</info:keywords>
        <policy:web-page>http://www.example.com/users/alice/formula-1\\



Novo, et al.            Expires September 7, 2006              [Page 35]


Internet-Draft          Common Conference Schema              March 2006


   </policy:web-page>
        <policy:security-level>low</policy:security-level>
        <policy:allow-sidebars>true</policy:allow-sidebars>
        <conference-stage>running</conference-stage>
       <!--
        CONFERENCE TIME
        -->
        <conference-time>
         <entry>
          <base>
              BEGIN:VCALENDAR
              PRODID:-//LlamaSpinner Inc.//NONSGML CamelCall//EN
              VERSION:2.0
              BEGIN:VEVENT
              DTSTAMP:20051103T140728Z
              UID:carol at example.com
              ORGANIZER:MAILTO:carol at example.com
              DTSTART:20061017T143000Z
              RRULE:FREQ=WEEKLY
              DTEND:20061017T163000Z
          </base>
          <mixing-start-offset required-participant="moderator">
          20061017T142900Z</mixing-start-offset>
          <mixing-end-offset required-participant="participant">
           20061017T163100Z</mixing-end-offset>
          <must-join-before-offset>
           20061017T15300Z</must-join-before-offset>
         </entry>
        </conference-time>
        <!--
        CONFERENCE URIS
        -->
        <info:conf-uris>
         <info:SIP>
          <info:uri>tel:+3585671234</info:uri>
          <info:display-text>Conference Bridge</info:display-text>
          <info:purpose>participation</info:purpose>
         </info:SIP>
         <info:SIP>
          <info:uri>http://www.example.com/54634/live.ram</info:uri>
          <info:purpose>streaming</info:purpose>
         </info:SIP>
        </info:conf-uris>
        <!--
          SERVICE URIS
        -->
        <info:service-uris>
         <info:SIP>



Novo, et al.            Expires September 7, 2006              [Page 36]


Internet-Draft          Common Conference Schema              March 2006


          <info:uri>http://www.example.com/formula1/</info:uri>
          <info:purpose>web-page</info:purpose>
         </info:SIP>
        </info:service-uris>
        <!--
          MAXIMUM USER COUNT
        -->
        <maximum-user-count>
         <entry role = "administrator">2</entry>
         <entry role = "moderator">5</entry>
         <entry role = "participant">150</entry>
        </maximum-user-count>
        <!--
          AVAILABLE MEDIA
        -->
        <info:available-media>
         <info:entry label="10234">
          <info:display-text>main audio</info:display-text>
          <info:type>audio</info:type>
          <info:status>sendrecv</info:status>
          <mixing-mode>automatic</mixing-mode>
          <mix level>3</mix level>
          <codecs decision="automatic">
           <codec name="PCMU" policy="allowed"/>
          </codecs>
         </info:entry>
         <info:entry label="10235">
          <info:display-text>main video</info:display-text>
          <info:type>video</info:type>
          <mixing-mode>automatic</mixing-mode>
          <mix level>4</mix level>
          <info:status>sendrecv</info:status>
          <sesspol:codecs decision="automatic">
           <sesspol:codec name="H.263" policy="allowed"/>
          </sesspol:codecs>
         </info:entry>
        </info:available-media>
       </info:conference-description>
      <!--
        HOST INFO
      -->
       <info:host-info>
        <info:display-text>Formula1</info:display-text>
        <info:web-page>http://www.example.com/users/formula-1/\\
   </info:web-page>
        <info:uris>
         <info:SIP>
          <info:uri>sip:alice@example.com</info:uri>



Novo, et al.            Expires September 7, 2006              [Page 37]


Internet-Draft          Common Conference Schema              March 2006


         </info:SIP>
         <info:SIP>
          <info:uri>sip:carol@example.com</info:uri>
         </info:SIP>
        </info:uris>
       </info:host-info>
      <!--
        CONFERENCE STATE
      -->
       <info:conference-state>
        <policy:allow-conference-state>true \\
   </policy:allow-conference-state>
        <info:user-count>3</info:user-count>
        <info:active>true</info:active>
        <info:locked>false</info:locked>
       </info:conference-state>
      <!--
        SECURITY MECHANISM
      -->
       <security-mechanism>
        <entry-protocol name="SIP">
         <sesspol:methods default-policy="allowed">
          <sesspol:method name="MESSAGE" policy="disallowed"/>
         </sesspol:methods>
          <sesspol:option-tags default-policy="disallowed">
           <sesspol:option-tag name="100rel" policy="mandatory"/>
           <sesspol:option-tag name="preconditions" policy="allowed"/>
          </sesspol:option-tags>
          <sesspol:feature-tags default-policy="disallowed">
           <sesspol:feature-tag name="video" policy="allowed"/>
          </sesspol:feature-tags>
          <sesspol:bodies default-policy="allowed" \\
   default-encryption="allowed">
           <sesspol:body-disposition name="session" policy="allowed" \\
   encryption="disallowed" default-policy="disallowed">
            <sesspol:body-format name="application/sdp" \\
   policy="allowed"/>
          </sesspol:body-disposition>
          </sesspol:bodies>
        </entry-protocol>
      </security-mechanism>
      <!--
        FLOOR INFORMATION
      -->
      <floor-information>
      <policy:allow-floor-events>true</policy:allow-floor-events>
      <policy:floor-request-handling>true \\
   </policy:floor-request-handling>



Novo, et al.            Expires September 7, 2006              [Page 38]


Internet-Draft          Common Conference Schema              March 2006


      <policy:conference-floor-policy>
       <policy:floor moderator-controlled="true" label="10234">
        <policy:media-types>audio</policy:media-types>
        <policy:algorithm>Moderator-controlled</policy:algorithm>
        <policy:max-floor-users>1</policy:max-floor-users>
        <policy:moderator-uri>sip:alice@example.com \\
   </policy:moderator-uri>
       </policy:floor>
       <policy:floor moderator-controlled="true" label="10235">
        <policy:media-types>video</policy:media-types>
        <policy:algorithm>Moderator-controlled</policy:algorithm>
        <policy:max-floor-users>1</policy:max-floor-users>
        <policy:moderator-uri>sip:carol@example.com \\
   </policy:moderator-uri>
       </policy:floor>
      </policy:conference-floor-policy>
     </floor-information>
      <!--
        USERS
      -->
       <users>
        <policy:join-handling>true</join-handling>
        <!--
         DIAL OUT LIST
        -->
        <policy:dial-out-list>
         <policy:target uri="sip:bob@example.com"/>
         <policy:target uri="sip:alice@example.com"/>
         <policy:target uri="sip:carol@example.com"/>
        </policy:dial-out-list>
        <!--
          REFER LIST
        -->
        <policy:refer-list>
         <policy:target uri="sip:john@example.com"/>
        </policy:refer-list>
        <!--
          PRIVILEGES CONTROL LIST
        -->
        <privileges-control-list>
         <data-access-rights>
          <conference-description read-only= "observer"/>
          <security-level read-only= "administrator"/>
          <allow-sidebars read-only= "creator" \\
   read-write= "creator"/>
          <conference-time read-only= "administrator"/>
          <maximum-user-count read-write= "creator"/>
          <codecs read-only= "creator" read-write= "creator"/>



Novo, et al.            Expires September 7, 2006              [Page 39]


Internet-Draft          Common Conference Schema              March 2006


          <host-info read-write= "creator"/>
          <conference-state read-write= "creator"/>
          <security-mechanism read-only= "creator"/>
          <floor-information read-only= "administrator"/>
          <dial-out-list read-only= "administrator"/>
          <refer-list read-only= "administrator"/>
          <privileges-control-list read-only= "creator"/>
          <conditions read-only= "creator"/>
          <validity read-only= "creator"/>
          <allow-conference-state read-only= "observer"/>
          <sidebars-by-ref read-only= "observer"\\
   read-write= "creator"/>
          <sidebars-by-val read-only= "observer"\\
   read-write= "creator"/>
         </data-access-rights>
         <conference-rules>
          <entry id="1">
           <conditions>
            <compol:identity>
             <compol:domain>example.com</compol:domain>
            </compol:identity>
            <compol:validity>
             <compol:from>20061017T143000Z</compol:from>
             <compol:to>20061017T163000Z</compol:to>
            </compol:validity>
           </conditions>
           <compol:actions>
            <compol:allow-conference-state>true\\
   </compol:allow-conference-state>
           </compol:actions>
          </entry>
          <entry id="2">
           <conditions>
            <compol:identity>
             <compol:uri>bob@example.com</compol:uri>
            </compol:identity>
           </conditions>
           <compol:actions>
            <compol:join-handling>block</compol:join-handling>
           </compol:actions>
          </entry>
         </conference-rules>
        </privileges-control-list>
        <!--
          USER
        -->
        <info:user entity="sip:bob@example.com">
         <info:display-text>Bob Hoskins</display-text>



Novo, et al.            Expires September 7, 2006              [Page 40]


Internet-Draft          Common Conference Schema              March 2006


         <info:associated-aors>
          <info:entry>
           <info:uri>mailto:bob@example.com</info:uri>
           <info:display-text>email</info:display-text>
          </info:entry>
         </info:associated-aors>
         <policy:provide-anonymity>false</policy:provide-anonymity>
         <info:roles>
          <info:entry>participant</info:entry>
         </info:roles>
         <info:languages>en</info:languages>
         <policy:authorization-mechanism> password="1a2b3c4d">Digest\\
   </policy:authorization-mechanism>
         <policy:sphere value="work"/>
         <policy:allow-refer-users-dynamically>false\\
   </policy:allow-refer-users-dynamically>
         <policy:allow-invite-users-dynamically>false\\
   </policy:allow-invite-users-dynamically>
         <policy:allow-remove-users-dynamically>false\\
   </policy:allow-remove-users-dynamically>
         <floors>
          <policy:entry id="1">
           <policy:show-floor-holder>false</policy:show-floor-holder>
           <policy:show-floor-requests>false \\
   </policy:show-floor-requests>
          </policy:entry>
          </floors>
         <!--
          ENDPOINTS
         -->
         <info:endpoint entity="sip:bob@example.com">
          <info:display-text>Bob's Laptop</info:display-text>
          <info:referred>
           <info:when>20061017T140000Z</info:when>
           <info:reason>expert required</info:reason>
           <info:by>sip:alice@example.com</info:by>
          </info:referred>
          <info:status>connected</info:status>
          <info:joining-method>dialed-out</info:joining-method>
          <info:joining-info>
           <info:when>20061017T140000Z</info:when>
           <info:reason>invitation</info:reason>
           <info:by>sip:alice@example.com</info:by>
          </info:joining-info>
          <!--
           MEDIA
          -->
          <info:media id="1">



Novo, et al.            Expires September 7, 2006              [Page 41]


Internet-Draft          Common Conference Schema              March 2006


           <info:label>10235</info:label>
           <info:src-id>432424</info:src-id>
          </info:media>
          <!--
            CALL INFO
          -->
          <info:call-info>
           <info:sip>
            <info:display-text>full info</info:display-text>
            <info:call-id>hsjh8980vhsb78</info:call-id>
            <info:from-tag>vav738dvbs</info:from-tag>
            <info:to-tag>8954jgjg8432</info:to-tag>
           </info:sip>
          </info:call-info>
         </info:endpoint>
        </info:user>
        <!--
          USER
        -->
        <info:user entity="sip:alice@example.com">
         <info:display-text>Alice Kay</info:display-text>
         <info:associated-aors>
          <info:entry>
           <info:uri>mailto:alice@example.com</info:uri>
           <info:display-text>email</info:display-text>
          </info:entry>
         </info:associated-aors>
         <policy:provide-anonymity>false</policy:provide-anonymity>
         <info:roles>
          <info:entry>moderator</info:entry>
         </info:roles>
         <info:languages>en</info:languages>
         <policy:authorization-mechanism> password="4r2q3ed5">Digest\\
   </policy:authorization-mechanism>
         <policy:sphere value="work"/>
         <policy:allow-refer-users-dynamically>true\\
   </policy:allow-refer-users-dynamically>
         <policy:allow-invite-users-dynamically>true\\
   </policy:allow-invite-users-dynamically>
         <policy:allow-remove-users-dynamically>true\\
   </policy:allow-remove-users-dynamically>
         <!--
          ENDPOINTS
         -->
         <info:endpoint entity="sip:alice@example.com">
          <info:display-text>Alice's Desktop</info:display-text>
          <info:status>connected</info:status>
          <info:joining-method>dialed-in</info:joining-method>



Novo, et al.            Expires September 7, 2006              [Page 42]


Internet-Draft          Common Conference Schema              March 2006


          <info:joining-info>
           <info:when>20061017T133508Z</info:when>
           <info:reason>invitation</info:reason>
           <info:by>sip:conference@example.com</info:by>
          </info:joining-info>
          <!--
           MEDIA
          -->
          <info:media id="1">
           <info:label>10235</info:label>
           <info:src-id>432424</info:src-id>
           <info:status>sendrecv</info:status>
          </info:media>
          <info:media id="2">
           <info:label>10234</info:label>
           <info:src-id>532535</info:src-id>
           <info:status>sendrecv</info:status>
          </info:media>
          <!--
            CALL INFO
          -->
          <info:call-info>
           <info:sip>
            <info:display-text>full info</info:display-text>
            <info:call-id>truy45469123478</info:call-id>
            <info:from-tag>asd456cbgt</info:from-tag>
            <info:to-tag>3456jgjg1234</info:to-tag>
           </info:sip>
          </info:call-info>
         </info:endpoint>
        </info:user>
        <!--
          USER
        -->
        <info:user entity="sip:carol@example.com">
         <info:display-text>Carol More</info:display-text>
         <info:associated-aors>
          <info:entry>
           <info:uri>mailto:carol@example.com</info:uri>
           <info:display-text>email</info:display-text>
          </info:entry>
         </info:associated-aors>
         <policy:provide-anonymity>false</policy:provide-anonymity>
         <info:roles>
          </info:entry>administrator</info:entry>
         </info:roles>
         <info:languages>en</info:languages>
         <policy:authorization-mechanism> password="2asd63et">Digest\\



Novo, et al.            Expires September 7, 2006              [Page 43]


Internet-Draft          Common Conference Schema              March 2006


   </policy:authorization-mechanism>
         <policy:sphere value="work"/>
         <policy:allow-refer-users-dynamically>true\\
   </policy:allow-refer-users-dynamically>
         <policy:allow-invite-users-dynamically>true\\
   </policy:allow-invite-users-dynamically>
         <policy:allow-remove-users-dynamically>true\\
   </policy:allow-remove-users-dynamically>
         <!--
          ENDPOINTS
         -->
         <info:endpoint entity="sip:carol@example.com">
          <info:display-text>Carol's Computer</info:display-text>
          <info:status>connected</info:status>
          <info:joining-method>dialed-in</info:joining-method>
          <info:joining-info>
           <info:when>20061017T133005Z</info:when>
           <info:reason>invitation</info:reason>
           <info:by>sip:conference@example.com</info:by>
          </info:joining-info>
          <!--
           MEDIA
          -->
          <info:media id="1">
           <info:label>10235</info:label>
           <info:src-id>432424</info:src-id>
           <info:status>sendrecv</info:status>
          </info:media>
          <info:media id="2">
           <info:label>10234</info:label>
           <info:src-id>532535</info:src-id>
           <info:status>sendrecv</info:status>
          </info:media>
          <!--
            CALL INFO
          -->
          <info:call-info>
           <info:sip>
            <info:display-text>full info</info:display-text>
            <info:call-id>wevb12562321894</info:call-id>
            <info:from-tag>asw456wedf</info:from-tag>
            <info:to-tag>2365dfrt3497</info:to-tag>
           </info:sip>
          </info:call-info>
         </info:endpoint>
        </info:user>
       </users>
       <!--



Novo, et al.            Expires September 7, 2006              [Page 44]


Internet-Draft          Common Conference Schema              March 2006


         SIDEBARS BY REFERENCE
       -->
       <info:sidebars-by-ref>
        <info:entry>
         <info:uri>sips:conference@example.com;grid=40</info:uri>
         <info:display-text>private with Bob</info:display-text>
        </info:entry>
       </info:sidebars-by-ref>
       <!--
         SIDEBARS BY VALUE
       -->
       <info:sidebars-by-val>
        <info:entry entity="sips:conference@example.com;grid=40">
         <info:users>
          <info:user entity="sip:bob@example.com"/>
          <info:user entity="sip:carol@example.com"/>
         </info:users>
        </info:entry>
       </info:sidebars-by-val>
      </info:conference-info>



   Note that due to RFC formatting conventions, this documents splits
   lines whose content would exceed 72 characters.  Two backslash
   characters mark where the lines folding has taken place.  These
   backslash would not appear in the actual XML data model.


7.  Security Considerations

   A malicious user can manipulate parts of the Conference Information
   Data Model privileges document giving themselves and others
   privileges to manipulate the data model.  It is very important that
   only authorized clients are able to manipulate the Conference
   Information Data Model document.  Any conference control protocol
   MUST provide authentication, confidentiality and integrity.


8.  IANA Considerations


9.  Acknowledgements

   This document is really a distillation of many ideas discussed over a
   long period of time.  These ideas were contributed by many different
   drafts in the XCON working group and the SIPPING working group.  Roni
   Even, and Orit Levin contributed with many good concepts that are



Novo, et al.            Expires September 7, 2006              [Page 45]


Internet-Draft          Common Conference Schema              March 2006


   described here.  Also I would like to thanks Adam Roach, Mary Barnes,
   Chris Boulton, Umesh Chandra, Orit Levin, and Jari Urpilainen for
   their comments.


10.  References

10.1.  Normative References

   [1]  Barnes, M. and C. Boulton, "A Framework and Data Model for
        Centralized Conferencing", draft-barnes-xcon-framework-02 (work
        in progress), February 2005.

   [2]  Rosenberg, J., "A Session Initiation Protocol (SIP) Event
        Package for Conference State",
        draft-ietf-sipping-conference-package-12 (work in progress),
        July 2005.

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

   [4]  Rosenberg, J., "A Framework for Conferencing with the Session
        Initiation Protocol",
        draft-ietf-sipping-conferencing-framework-05 (work in progress),
        May 2005.

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

   [6]  Dawson, F. and Stenerson, D., "Internet Calendaring and
        Scheduling Core Object Specification (iCalendar)", RFC 2445,
        November 1998.

10.2.  Informative References

   [7]   Camarillo, G., "The Binary Floor Control Protocol (BFCP)",
         draft-ietf-xcon-bfcp-06 (work in progress), December 2005.

   [8]   Khartabil, H., "The Conference Policy Control Protocol (CPCP)",
         draft-ietf-xcon-cpcp-01 (work in progress), October 2004.

   [9]   Levin, O., "Centralized Conference Control Protocol",
         draft-levin-xcon-cccp-04 (work in progress), January 2006.

   [10]  Camarillo, G., "A Session Initiation Protocol (SIP) Event
         Package for Media Policy",
         draft-camarillo-sipping-policy-package-00 (work in progress),



Novo, et al.            Expires September 7, 2006              [Page 46]


Internet-Draft          Common Conference Schema              March 2006


         October 2003.

   [11]  Koskelainen, P. and H. Khartabil, "An Extensible Markup
         Language (XML) Configuration Access Protocol (XCAP)  Usage for
         Conference Policy Manipulation",
         draft-koskelainen-xcon-xcap-cpcp-usage-02 (work in progress),
         February 2004.

   [12]  Schulzrinne, H., "A Document Format for Expressing Privacy
         Preferences", draft-ietf-geopriv-common-policy-07 (work in
         progress), February 2006.

   [13]  Boulton, C. and U. Chandra, "Media Policy Templates for XCON",
         draft-boulton-xcon-media-template-02 (work in progress),
         October 2005.

   [14]  Even, R., "Conferencing media policy requirements",
         draft-even-sipping-media-policy-requirements-00 (work in
         progress), February 2003.

   [15]  Mahy, R. and N. Ismail, "Media Policy Manipulation in the
         Conference Policy Control Protocol",
         draft-mahy-sipping-media-policy-control-00 (work in progress),
         February 2003.

   [16]  Levin, O., "Conference Policy Control Protocol for Centralized
         Conferencing", draft-levin-xcon-cpcp-00 (work in progress),
         June 2003.

   [17]  Camarillo, G., "Session Description Protocol (SDP) Format for
         Binary Floor Control Protocol  (BFCP) Streams",
         draft-ietf-mmusic-sdp-bfcp-03 (work in progress),
         December 2005.

   [18]  Khartabil, H. and A. Niemi, "Privileges for Manipulating a
         Conference Policy",
         draft-ietf-xcon-conference-policy-privileges-01 (work in
         progress), October 2004.













Novo, et al.            Expires September 7, 2006              [Page 47]


Internet-Draft          Common Conference Schema              March 2006


Authors' Addresses

   Oscar Novo
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: Oscar.Novo@ericsson.com


   Gonzalo Camarillo
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: Gonzalo.Camarillo@ericsson.com


   David P. Morgan
   Fidelity Investments
   82 Devonshire St, MZ V8C
   Boston, MA  02109-3614
   USA

   Email: Dave.Morgan@fmr.com
























Novo, et al.            Expires September 7, 2006              [Page 48]


Internet-Draft          Common Conference Schema              March 2006


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




Novo, et al.            Expires September 7, 2006              [Page 49]