draft-ietf-sipping-conference-package-11.txt   draft-ietf-sipping-conference-package-12.txt 
SIPPING J. Rosenberg SIPPING J. Rosenberg
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Expires: December 7, 2005 H. Schulzrinne Expires: January 2, 2006 H. Schulzrinne
Columbia University Columbia University
O. Levin, Ed. O. Levin, Ed.
Microsoft Corporation Microsoft Corporation
June 5, 2005 July 1, 2005
A Session Initiation Protocol (SIP) Event Package for Conference State A Session Initiation Protocol (SIP) Event Package for Conference State
draft-ietf-sipping-conference-package-11 draft-ietf-sipping-conference-package-12
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 7, 2005. This Internet-Draft will expire on January 2, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
This document defines a conference event package for the Session This document defines a conference event package for tightly coupled
Initiation Protocol (SIP) Events framework, along with a data format conferences using the Session Initiation Protocol (SIP) Events
used in notifications for this package. The conference package framework, along with a data format used in notifications for this
allows users to subscribe to a conference URI. Notifications are package. The conference package allows users to subscribe to a
sent about changes in the membership of this conference and conference URI. Notifications are sent about changes in the
optionally about changes in the state of additional conference membership of this conference and optionally about changes in the
components. state of additional conference components.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Conference Event Package . . . . . . . . . . . . . . . . . . . 4 3. Conference Event Package . . . . . . . . . . . . . . . . . . . 4
3.1 Event Package Name . . . . . . . . . . . . . . . . . . . . 4 3.1 Event Package Name . . . . . . . . . . . . . . . . . . . . 5
3.2 Filtering . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Filtering . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Subscription Duration . . . . . . . . . . . . . . . . . . 5 3.3 Subscription Duration . . . . . . . . . . . . . . . . . . 5
3.4 NOTIFY Bodies . . . . . . . . . . . . . . . . . . . . . . 5 3.4 NOTIFY Bodies . . . . . . . . . . . . . . . . . . . . . . 5
3.5 Notifier Processing of SUBSCRIBE Requests . . . . . . . . 5 3.5 Notifier Processing of SUBSCRIBE Requests . . . . . . . . 6
3.6 Notifier Generation of NOTIFY Requests . . . . . . . . . . 6 3.6 Notifier Generation of NOTIFY Requests . . . . . . . . . . 6
3.7 Subscriber Processing of NOTIFY Requests . . . . . . . . . 6 3.7 Subscriber Processing of NOTIFY Requests . . . . . . . . . 6
3.8 Handling of Forked Requests . . . . . . . . . . . . . . . 7 3.8 Handling of Forked Requests . . . . . . . . . . . . . . . 7
3.9 Rate of Notifications . . . . . . . . . . . . . . . . . . 7 3.9 Rate of Notifications . . . . . . . . . . . . . . . . . . 7
3.10 State Agents . . . . . . . . . . . . . . . . . . . . . . . 7 3.10 State Agents . . . . . . . . . . . . . . . . . . . . . . . 7
4. Conference Document . . . . . . . . . . . . . . . . . . . . . 7 4. Conference Document . . . . . . . . . . . . . . . . . . . . . 7
4.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.2 Namespace . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Namespace . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3 Versioning . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3 Versioning . . . . . . . . . . . . . . . . . . . . . . . . 8
4.4 Partial Notifications Mechanism . . . . . . . . . . . . . 8 4.4 Partial Notifications Mechanism . . . . . . . . . . . . . 8
4.5 Element Keys . . . . . . . . . . . . . . . . . . . . . . . 8 4.5 Element Keys . . . . . . . . . . . . . . . . . . . . . . . 9
4.6 Constructing Coherent State Procedure . . . . . . . . . . 9 4.6 Constructing Coherent State Procedure . . . . . . . . . . 9
5. Conference Data . . . . . . . . . . . . . . . . . . . . . . . 11 5. Conference Data . . . . . . . . . . . . . . . . . . . . . . . 11
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 <conference-info> . . . . . . . . . . . . . . . . . . . . 13 5.2 <conference-info> . . . . . . . . . . . . . . . . . . . . 13
5.3 <conference-description> . . . . . . . . . . . . . . . . . 13 5.3 <conference-description> . . . . . . . . . . . . . . . . . 14
5.3.1 <conf-uris> . . . . . . . . . . . . . . . . . . . . . 14 5.3.1 <conf-uris> . . . . . . . . . . . . . . . . . . . . . 14
5.3.2 <service-uris> . . . . . . . . . . . . . . . . . . . . 15 5.3.2 <service-uris> . . . . . . . . . . . . . . . . . . . . 15
5.3.3 <maximum-user-count> . . . . . . . . . . . . . . . . . 15 5.3.3 <maximum-user-count> . . . . . . . . . . . . . . . . . 16
5.3.4 <available-media> . . . . . . . . . . . . . . . . . . 15 5.3.4 <available-media> . . . . . . . . . . . . . . . . . . 16
5.4 <host-info> . . . . . . . . . . . . . . . . . . . . . . . 16 5.4 <host-info> . . . . . . . . . . . . . . . . . . . . . . . 17
5.4.1 <display-text> . . . . . . . . . . . . . . . . . . . . 16 5.4.1 <display-text> . . . . . . . . . . . . . . . . . . . . 17
5.4.2 <web-page> . . . . . . . . . . . . . . . . . . . . . . 17 5.4.2 <web-page> . . . . . . . . . . . . . . . . . . . . . . 17
5.4.3 <uris> . . . . . . . . . . . . . . . . . . . . . . . . 17 5.4.3 <uris> . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5 <conference-state> . . . . . . . . . . . . . . . . . . . . 17 5.5 <conference-state> . . . . . . . . . . . . . . . . . . . . 17
5.5.1 <user-count> . . . . . . . . . . . . . . . . . . . . . 17 5.5.1 <user-count> . . . . . . . . . . . . . . . . . . . . . 17
5.5.2 <active> . . . . . . . . . . . . . . . . . . . . . . . 17 5.5.2 <active> . . . . . . . . . . . . . . . . . . . . . . . 17
5.5.3 <locked> . . . . . . . . . . . . . . . . . . . . . . . 17 5.5.3 <locked> . . . . . . . . . . . . . . . . . . . . . . . 18
5.6 <users> and its <user> sub-elements . . . . . . . . . . . 17 5.6 <users> and its <user> sub-elements . . . . . . . . . . . 18
5.6.1 <display-text> . . . . . . . . . . . . . . . . . . . . 18 5.6.1 <display-text> . . . . . . . . . . . . . . . . . . . . 19
5.6.2 <associated-aors> . . . . . . . . . . . . . . . . . . 18 5.6.2 <associated-aors> . . . . . . . . . . . . . . . . . . 19
5.6.3 <roles> . . . . . . . . . . . . . . . . . . . . . . . 19 5.6.3 <roles> . . . . . . . . . . . . . . . . . . . . . . . 19
5.6.4 <languages> . . . . . . . . . . . . . . . . . . . . . 19 5.6.4 <languages> . . . . . . . . . . . . . . . . . . . . . 19
5.6.5 <cascaded-focus> . . . . . . . . . . . . . . . . . . . 19 5.6.5 <cascaded-focus> . . . . . . . . . . . . . . . . . . . 19
5.6.6 <endpoint> . . . . . . . . . . . . . . . . . . . . . . 19 5.6.6 <endpoint> . . . . . . . . . . . . . . . . . . . . . . 19
5.7 <endpoint> . . . . . . . . . . . . . . . . . . . . . . . . 20 5.7 <endpoint> . . . . . . . . . . . . . . . . . . . . . . . . 20
5.7.1 <display-text> . . . . . . . . . . . . . . . . . . . . 20 5.7.1 <display-text> . . . . . . . . . . . . . . . . . . . . 20
5.7.2 <referred> . . . . . . . . . . . . . . . . . . . . . . 20 5.7.2 <referred> . . . . . . . . . . . . . . . . . . . . . . 20
5.7.3 <status> . . . . . . . . . . . . . . . . . . . . . . . 21 5.7.3 <status> . . . . . . . . . . . . . . . . . . . . . . . 21
5.7.4 <joining-method> . . . . . . . . . . . . . . . . . . . 22 5.7.4 <joining-method> . . . . . . . . . . . . . . . . . . . 22
5.7.5 <joining-info> . . . . . . . . . . . . . . . . . . . . 22 5.7.5 <joining-info> . . . . . . . . . . . . . . . . . . . . 22
5.7.6 <disconnection-method> . . . . . . . . . . . . . . . . 23 5.7.6 <disconnection-method> . . . . . . . . . . . . . . . . 23
5.7.7 <disconnection-info> . . . . . . . . . . . . . . . . . 23 5.7.7 <disconnection-info> . . . . . . . . . . . . . . . . . 23
5.7.8 <media> . . . . . . . . . . . . . . . . . . . . . . . 24 5.7.8 <media> . . . . . . . . . . . . . . . . . . . . . . . 24
5.7.9 <call-info> . . . . . . . . . . . . . . . . . . . . . 24 5.7.9 <call-info> . . . . . . . . . . . . . . . . . . . . . 24
5.8 <media> . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.8 <media> . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.8.1 <display-text> . . . . . . . . . . . . . . . . . . . . 24 5.8.1 <display-text> . . . . . . . . . . . . . . . . . . . . 25
5.8.2 <type> . . . . . . . . . . . . . . . . . . . . . . . . 24 5.8.2 <type> . . . . . . . . . . . . . . . . . . . . . . . . 25
5.8.3 <label> . . . . . . . . . . . . . . . . . . . . . . . 25 5.8.3 <label> . . . . . . . . . . . . . . . . . . . . . . . 25
5.8.4 <src-id> . . . . . . . . . . . . . . . . . . . . . . . 25 5.8.4 <src-id> . . . . . . . . . . . . . . . . . . . . . . . 25
5.8.5 <status> . . . . . . . . . . . . . . . . . . . . . . . 25 5.8.5 <status> . . . . . . . . . . . . . . . . . . . . . . . 26
5.9 Sidebars . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.9 Sidebars . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.9.1 <sidebars-by-ref> . . . . . . . . . . . . . . . . . . 26 5.9.1 <sidebars-by-ref> . . . . . . . . . . . . . . . . . . 26
5.9.2 <sidebar-by-val> . . . . . . . . . . . . . . . . . . . 26 5.9.2 <sidebar-by-val> . . . . . . . . . . . . . . . . . . . 26
6. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.1 Basic Example . . . . . . . . . . . . . . . . . . . . . . 34 7.1 Basic Example . . . . . . . . . . . . . . . . . . . . . . 35
7.2 Rich Example . . . . . . . . . . . . . . . . . . . . . . . 36 7.2 Rich Example . . . . . . . . . . . . . . . . . . . . . . . 36
8. Security Considerations . . . . . . . . . . . . . . . . . . . 40 8. Security Considerations . . . . . . . . . . . . . . . . . . . 40
8.1 Connection Security . . . . . . . . . . . . . . . . . . . 40 8.1 Connection Security . . . . . . . . . . . . . . . . . . . 40
8.2 Authorization Considerations . . . . . . . . . . . . . . . 40 8.2 Authorization Considerations . . . . . . . . . . . . . . . 41
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41
9.1 conference Event Package Registration . . . . . . . . . . 41 9.1 conference Event Package Registration . . . . . . . . . . 41
9.2 application/conference-info+xml MIME Registration . . . . 41 9.2 application/conference-info+xml MIME Registration . . . . 42
9.3 URN Sub-Namespace Registration for 9.3 URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:conference-info . . . . . . . . . . 42 urn:ietf:params:xml:ns:conference-info . . . . . . . . . . 42
9.4 XML Schema Registration . . . . . . . . . . . . . . . . . 43 9.4 XML Schema Registration . . . . . . . . . . . . . . . . . 43
9.5 URI Purposes Sub-registry Establishment . . . . . . . . . 43 9.5 URI Purposes Sub-registry Establishment . . . . . . . . . 43
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 44 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 44
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 44 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 45
11.1 Normative References . . . . . . . . . . . . . . . . . . . 44 11.1 Normative References . . . . . . . . . . . . . . . . . . . 45
11.2 Informative References . . . . . . . . . . . . . . . . . . 46 11.2 Informative References . . . . . . . . . . . . . . . . . . 46
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 47 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 47
Intellectual Property and Copyright Statements . . . . . . . . 48 Intellectual Property and Copyright Statements . . . . . . . . 48
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) Events Framework [10] defines The Session Initiation Protocol (SIP) Events Framework [10] defines
general mechanisms for subscribing to, and receiving notifications general mechanisms for subscribing to, and receiving notifications
of, events within SIP networks. It introduces the notion of a of, events within SIP networks. It introduces the notion of a
package, which is a specific "instantiation" of the events framework package, which is a specific "instantiation" of the events framework
for a well-defined set of events. Here, we define an event package for a well-defined set of events. Here, we define a SIP event
for SIP conferences. This package provides the conference package for tightly coupled conferences. This package can be used by
notification service as outlined in the SIP conferencing framework the conference notification service as outlined in the SIP
[16]. As described there, subscriptions to a conference URI are conferencing framework [16]. As described there, subscriptions to a
routed to the focus that is handling the conference. It acts as the conference URI are routed to the focus that is handling the
notifier, and provides clients with updates on conference state. conference. It acts as the notifier, and provides clients with
updates on conference state.
The information provided by this package is comprised of conference The information provided by this package is comprised of conference
identifier(s), conference participants (optionally with their identifier(s), conference participants (optionally with their
statuses and media description), conference sidebars, conference statuses and media description), conference sidebars, conference
service URIs, etc. service URIs, etc.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
and "OPTIONAL" are to be interpreted as described in RFC 2119 [1] and and "OPTIONAL" are to be interpreted as described in RFC 2119 [1] and
indicate requirement levels for compliant implementations. indicate requirement levels for compliant implementations.
This document uses the conferencing terminology defined in
Conferencing Framework [16]. In addition, the "roster" term is used
to collectively refer to participants in a conference or a sub-
conference.
3. Conference Event Package 3. Conference Event Package
The conference event package allows a user to subscribe to a The conference event package allows a user to subscribe to the
conference. In SIP, conferences are represented by URIs. These URIs information relating to a conference. In SIP, conferences are
route to a SIP user agent, called a focus, that is responsible for represented by URIs. These URIs identify a SIP user agent, called a
ensuring that all users in the conference can communicate with each focus, that is responsible for ensuring that all users in the
other, as described in Conferencing Framework [16]. The focus has conference can communicate with each other, as described in
sufficient information about the state of the conference to inform Conferencing Framework [16]. The focus has sufficient information
subscribers about it. about the state of the conference to inform subscribers about it.
It is possible that a participant in the conference may in fact be It is possible that a participant in the conference may in fact be
another focus. In order to provide a more complete participant list, another focus. In order to provide a more complete participant list,
the focus MAY subscribe to the conference package of the other focus the focus MAY subscribe to the conference package of the other focus
to discover the participant list in the cascaded conference. This to discover the participant list in the cascaded conference. This
information can then be included in notifications by use of the information can then be included in notifications by use of the
<cascaded-focus> element as specified by this package. <cascaded-focus> element as specified by this package.
This section provides the details for defining a SIP-specific event This section provides the details for defining a SIP-specific event
notification package, as specified by RFC 3265 [10]. notification package, as specified by RFC 3265 [10].
3.1 Event Package Name 3.1 Event Package Name
The name of this event package is "conference". This package name is The name of this event package is "conference". This package name is
carried in the Event and Allow-Events header, as defined in RFC 3265 carried in the Event and Allow-Events header, as defined in RFC 3265
[10]. [10].
3.2 Filtering 3.2 Filtering
Filters to conference subscriptions are a desirable feature, which Filters, which can be applied to conference subscriptions, are a
can be considered as a subject of future standardization activities. desirable feature and can be considered as a subject of future
This document does not define the filters for the conference package standardization activities. This document does not define the
to be included in the SUBSCRIBE body. filters for the conference package to be included in the SUBSCRIBE
body.
A SUBSCRIBE for a conference package, being sent without a body, A SUBSCRIBE for a conference package, being sent without a body,
implies the default subscription filtering policy. The default implies the default subscription filtering policy. The default
policy is: policy is:
o Notifications are generated every time there is any change in the o Notifications are generated every time there is any change in the
state of the conference. state of the conference.
o Notifications do not normally contain full state; rather, they o Notifications do not normally contain full state; rather, they
only indicate the state that has changed. The exception is a only indicate the state that has changed. The exception is a
NOTIFY sent in response to a SUBSCRIBE. These NOTIFYs contain the NOTIFY sent in response to a SUBSCRIBE. These NOTIFYs contain the
full state of the information requested by the subscriber. full state of the information requested by the subscriber.
skipping to change at page 7, line 9 skipping to change at page 7, line 15
algorithm needs to be defined in order to construct coherent and algorithm needs to be defined in order to construct coherent and
consistent state. The details of this mechanism are specific to the consistent state. The details of this mechanism are specific to the
particular document type. See Section 4.6 for information on particular document type. See Section 4.6 for information on
constructing coherent information from an application/ constructing coherent information from an application/
conference-info+xml document. conference-info+xml document.
3.8 Handling of Forked Requests 3.8 Handling of Forked Requests
By their nature, the conferences supported by this package are By their nature, the conferences supported by this package are
centralized. Therefore, SUBSCRIBE requests for a conference should centralized. Therefore, SUBSCRIBE requests for a conference should
not generally fork. Users of this package MUST NOT install more than not generally fork. If forking happens in the network, subscribers
a single subscription as a result of a single SUBSCRIBE request. to this package MUST NOT establish more than a single SIP dialog as a
result of a single SUBSCRIBE request. In the foci cascading case,
detailed conference information can be retrieved by establishing an
individual SUBSCRIBE dialog with each participating focus.
3.9 Rate of Notifications 3.9 Rate of Notifications
For reasons of congestion control, it is important that the rate of For reasons of congestion control, it is important that the rate of
notifications not become excessive. As a result, it is RECOMMENDED notifications not become excessive. As a result, it is RECOMMENDED
that the server doesn't generate notifications for a single that the server doesn't generate notifications for a single
subscriber at a rate faster than once every 5 seconds. subscriber at a rate faster than once every 5 seconds.
3.10 State Agents 3.10 State Agents
skipping to change at page 9, line 13 skipping to change at page 9, line 22
The defined XML schema has a property of unique identification among The defined XML schema has a property of unique identification among
sub-elements of a common parent, which makes it possible to use the sub-elements of a common parent, which makes it possible to use the
partial notifications mechanism defined in this document. This partial notifications mechanism defined in this document. This
property is achieved by defining a key to each sub-element that can property is achieved by defining a key to each sub-element that can
appear multiple times under the common parent. appear multiple times under the common parent.
In the context of this specification, the element key is the set of In the context of this specification, the element key is the set of
mandatory attributes or sub-elements of an element. The key value mandatory attributes or sub-elements of an element. The key value
MUST be unique for the element among its siblings of the same type. MUST be unique for the element among its siblings of the same type.
In the context of this specification, the comparison rules for keys In the context of this specification, two keys of type xs:anyURI are
of type xs:anyURI are byte-by-byte (including all URI parameters that considered to be equal if the UTF-8 representations of the keys
can be included with the URI). (including all URI parameters that can be included with the URI) are
identical. Consequently, it is NOT RECOMMENDED using relative URIs
and lexical white space in these keys.
Below is the list of elements (subject to partial notifications of Below is the list of elements (subject to partial notifications of
their parent elements) with their keys as defined by this their parent elements) with their keys as defined by this
specification: specification:
o Element <user> uses as the key 'entity' o Element <user> uses as the key 'entity'
o Element <endpoint> uses as the key 'entity' o Element <endpoint> uses as the key 'entity'
o Element <media> uses as the key 'id' o Element <media> uses as the key 'id'
o Element <entry> (child to <sidebars-by-val>) uses as the key o Element <entry> (child to <sidebars-by-val>) uses as the key
'entity' 'entity'
skipping to change at page 12, line 48 skipping to change at page 12, line 49
|-- user |-- user
|-- user |-- user
In most cases, this document doesn't mandate how the information, In most cases, this document doesn't mandate how the information,
presented through the conference document to the subscribers, is presented through the conference document to the subscribers, is
obtained by the focus. In many cases, the information can be obtained by the focus. In many cases, the information can be
dynamically learned from the call signaling and also be manually dynamically learned from the call signaling and also be manually
populated by an administrator - all subject to local policies. This populated by an administrator - all subject to local policies. This
document specifies what the XML elements mean in order to allow the document specifies what the XML elements mean in order to allow the
subscribers to appropriately interpret it. Some portions of the subscribers to appropriately interpret it. Some portions of the
information are intended for automata processing, others - for human information are intended for processing by automata, others are for
consumption only. For example, the <display-text> sub-elements of human consumption only. For example, the <display-text> sub-elements
elements <conf-uris>, <service-uris>, <available-media>, <host-info>, of elements <conf-uris>, <service-uris>, <available-media>, <host-
<endpoint>, and <media> are intended for display to human subscribers info>, <endpoint>, and <media> are intended for display to human
only. subscribers only.
Although in multiple places this document states that specific
information "SHOULD" be communicated to the subscribers, note that
particular conference package subscribers (e.g. representing a
moderator, an administrator, or a cascaded focus) rely on accuracy of
this information for their proper operation. Therefore, a
conferencing server MUST ensure that all critical changes (stated
as "SHOULD") are communicated to these specific subscribers,
otherwise these changes MUST be communicated to all subscribers to
the conference information.
Following sections describe the XML schema in more details. Following sections describe the XML schema in more details.
5.2 <conference-info> 5.2 <conference-info>
A conference information document begins with the root element tag A conference information document begins with the root element tag
<conference-info> of conference-type. <conference-info> of conference-type.
The following attributes are defined for <conference-info>: The following attributes are defined for <conference-info>:
skipping to change at page 13, line 29 skipping to change at page 13, line 40
conference by SIP means and in accordance with Section 5.3.1 conference by SIP means and in accordance with Section 5.3.1
below. below.
state: This attribute indicates whether the document contains the state: This attribute indicates whether the document contains the
whole conference information ("full"), only the information that whole conference information ("full"), only the information that
has changed since the previous document ("partial"), or the has changed since the previous document ("partial"), or the
conference ceased to exist ("deleted"). For more detail see conference ceased to exist ("deleted"). For more detail see
Section 4. Section 4.
version: This attribute allows the recipient of conference version: This attribute allows the recipient of conference
information documents to properly order them and it MUST be information documents to properly order the received notifications
included when used in the root <conference-info> element. Version and it MUST be used with the root <conference-info> element.
number is a 32 bit monotonically increasing integer scoped within Version number is a 32 bit monotonically increasing integer scoped
a subscription. A server MUST increment the version number by one within a subscription. A server MUST increment the version number
for each new partial notification being sent to a subscriber. for each notification (full, partial, and deleted) being sent to a
subscriber and reporting a change in the conference document
state. For each partial notification, the version number MUST be
increased by one. Note that a partial notification and a
subsequent full notification over the same dialog MAY contain the
same version number if no change in the conference state occurred
in between.
The <conference-info> element is comprised of <conference- The <conference-info> element is comprised of <conference-
description>, <host-info>, <conference-state>, <users>, <sidebar-by- description>, <host-info>, <conference-state>, <users>, <sidebar-by-
ref> and <sidebars-by-val> child elements. A "full" conference ref> and <sidebars-by-val> child elements. A "full" conference
document MUST at least include the <conference-description> and document MUST at least include the <conference-description> and
<users> child elements. <users> child elements.
Following sections describe these elements in detail. The full XML Following sections describe these elements in detail. The full XML
schema is provided in Section 6. schema is provided in Section 6.
skipping to change at page 14, line 35 skipping to change at page 14, line 52
detail. Other sub-elements can extend <conference-description> in detail. Other sub-elements can extend <conference-description> in
the future. the future.
5.3.1 <conf-uris> 5.3.1 <conf-uris>
This element contains a sequence of <entry> child elements - each This element contains a sequence of <entry> child elements - each
containing the URI to be used in order to access the conference by containing the URI to be used in order to access the conference by
different signaling means. The value of the URI MUST be unique in different signaling means. The value of the URI MUST be unique in
the conference context and is included in the <uri> sub-element. the conference context and is included in the <uri> sub-element.
Each <entry> can contain additional optional information useful to Each <entry> MAY contain additional information useful to the
the participant when accessing the conference. participant when accessing the conference.
An <entry> element MAY contain the <display-text> sub-element that An <entry> element MAY contain the <display-text> sub-element that
provides a textual description meant for human consumption. provides a textual description meant for human consumption.
Each <entry> element SHOULD contain a <purpose> sub-element that Each <entry> element SHOULD contain a <purpose> sub-element that
describes what happens when accessing the URI. The currently defined describes what happens when accessing the URI. The currently defined
<purpose> values to be used with the <conf-uris> are: <purpose> values to be used with the <conf-uris> are:
participation: Accessing a URI with this <purpose> will bring the participation: Accessing a URI with this <purpose> will bring the
party into the conference party into the conference
skipping to change at page 16, line 5 skipping to change at page 16, line 21
published through the conference document in <conf-uris>. Note that published through the conference document in <conf-uris>. Note that
this value is set by an administrator and can reflect any local this value is set by an administrator and can reflect any local
policies combination such as network consumption, CPU processing policies combination such as network consumption, CPU processing
power, and licensing rules. power, and licensing rules.
5.3.4 <available-media> 5.3.4 <available-media>
This element contains a sequence of <entry> child elements of This element contains a sequence of <entry> child elements of
conference-medium-type, each being indexed by the attribute 'label'. conference-medium-type, each being indexed by the attribute 'label'.
The 'label' attribute is the media stream identifier being assigned The 'label' attribute is the media stream identifier assigned by the
by the conferencing server such as its value is unique in the conferencing server: its value will be unique in the <conference-
<conference-info> context. If a corresponding media stream between a info> context. The value of this attribute will typically correspond
participant and a focus is established using the Session Description to the Session Description Protocol (SDP) "label" media attribute
Protocol (SDP) [3] and the SDP "label" media attribute defined in defined in [17].
[17], the value of the SDP "label" attribute MUST be equal to the
value of the 'label' attribute in <available-media>.
Each <entry> describes a single media stream available to the Each <entry> describes a single media stream available to the
participants in the conference and contains the following participants in the conference and contains the following
information: information:
<display-text> This element contains the display text for the media <display-text> This element contains the display text for the media
stream. stream.
<type> This element contains the media type of the media stream. The <type> This element contains the media type of the media stream. The
value of this element MUST be one of the values registered for value of this element MUST be one of the values registered for
skipping to change at page 17, line 7 skipping to change at page 17, line 20
unless the whole conference is moved to be hosted by another entity. unless the whole conference is moved to be hosted by another entity.
The host information is comprised of the following elements: The host information is comprised of the following elements:
5.4.1 <display-text> 5.4.1 <display-text>
This element contains display text describing the entity hosting the This element contains display text describing the entity hosting the
conference. conference.
5.4.2 <web-page> 5.4.2 <web-page>
This element contains a URI of a web page describing either the This element contains HTTP: or HTTPS: URI of a web page describing
conference service or the user hosting the conference. either the conference service or the user hosting the conference.
5.4.3 <uris> 5.4.3 <uris>
This element can contain URIs pointing to the conference host, in This element contains a set of <entry> child elements, each
addition to the conference URI. containing the URI value and optionally its description.
5.5 <conference-state> 5.5 <conference-state>
By including this element in the conference document, the server can By including this element in the conference document, the server can
inform the subscribers about the changes in the overall conference inform the subscribers about the changes in the overall conference
information. The <conference-state> child elements are described information. The <conference-state> child elements are described
below. below.
5.5.1 <user-count> 5.5.1 <user-count>
skipping to change at page 18, line 50 skipping to change at page 19, line 18
conference. conference.
5.6.2 <associated-aors> 5.6.2 <associated-aors>
This element contains additional (to the 'entity') URIs being This element contains additional (to the 'entity') URIs being
associated with the <user>. Typically, this information will be associated with the <user>. Typically, this information will be
manually provided by an administrator showing the logical association manually provided by an administrator showing the logical association
between signaling entities otherwise independent. For example, if between signaling entities otherwise independent. For example, if
the 'entity' of a <user> contains a GRUU Globally Routable User URI the 'entity' of a <user> contains a GRUU Globally Routable User URI
[24] or tel: URI RFC 3966 [19], it would be useful to populate this [24] or tel: URI RFC 3966 [19], it would be useful to populate this
field with the AOR of the person, who uses these devices, each field with the Address of Record (AOR) of the person, who uses these
represented as an independent <user>. devices, each represented as an independent <user>.
5.6.3 <roles> 5.6.3 <roles>
This element can contain a set of human readable strings describing This element MAY contain a set of human readable strings describing
the roles of the user in the conference. Note that this information the roles of the user in the conference. Note that this information
is applicable for human consumption only. This specification doesn't is applicable for human consumption only. This specification doesn't
define the set of possible conferencing roles nor the semantics define the set of possible conferencing roles nor the semantics
associated with each. It is expected that future conferencing associated with each. It is expected that future conferencing
specifications will define these and the corresponding schema specifications will define these and the corresponding schema
extensions, as appropriate. extensions, as appropriate.
5.6.4 <languages> 5.6.4 <languages>
This element contains a list of tokens, separated by spaces, each This element contains a list of tokens, separated by spaces, each
skipping to change at page 20, line 33 skipping to change at page 20, line 47
has been removed from the conference ("deleted"). has been removed from the conference ("deleted").
The following child elements are defined for <endpoint> element: The following child elements are defined for <endpoint> element:
5.7.1 <display-text> 5.7.1 <display-text>
This element contains the display text for the endpoint. This element contains the display text for the endpoint.
5.7.2 <referred> 5.7.2 <referred>
This element contains information about the user who's action This element contains information about the user whose action
resulted in this endpoint being brought into the conference (e.g. the resulted in this endpoint being brought into the conference (e.g. the
SIP user identified by this URI sent a REFER to the focus). It can SIP user identified by this URI sent a REFER to the focus). It MAY
contain the following sub-elements: contain the following sub-elements:
when: This element of the XML dateTime type contains the date and when: This element of the XML dateTime type contains the date and
time that the endpoint was referred to the conference and SHOULD time that the endpoint was referred to the conference and SHOULD
be expressed in Coordinated Universal Time (UTC) format. For be expressed in Coordinated Universal Time (UTC) format. For
example, example,
<when>2005-03-04T20:00:00Z</when> <when>2005-03-04T20:00:00Z</when>
reason: This element contains the reason the endpoint was referred to reason: This element contains the reason the endpoint was referred to
the conference. It is RECOMMENDED to include the information in the conference. It is RECOMMENDED to include the information in
the format defined by RFC 3326 [12]. For example, the format defined by RFC 3326 [12]. For example,
<reason>Reason: SIP;text="Ad-hoc Invitation"</reason> <reason>Reason: SIP;text="Ad-hoc Invitation"</reason>
by: This element contains the URI of the entity who caused the
by: This element contains the URI of the entity which caused the
endpoint to be referred to the conference. In SIP case, it will endpoint to be referred to the conference. In SIP case, it will
be populated from the Referred-By header defined in RFC 3892 [15]. be populated from the Referred-By header defined in RFC 3892 [15].
5.7.3 <status> 5.7.3 <status>
This element contains the status of the endpoint, and can assume the This element contains the status of the endpoint, and can assume the
following values: following values:
connected: The endpoint is a participant in the conference. connected: The endpoint is a participant in the conference.
Depending on the media policies, he/she can send and receive media Depending on the media policies, he/she can send and receive media
skipping to change at page 22, line 16 skipping to change at page 22, line 29
(e.g., in SIP a DISCONNECT or BYE was sent to the endpoint). (e.g., in SIP a DISCONNECT or BYE was sent to the endpoint).
Note that the defined transient statuses (e.g., disconnecting, Note that the defined transient statuses (e.g., disconnecting,
alerting, etc.) could generate a lot of traffic. Therefore alerting, etc.) could generate a lot of traffic. Therefore
implementations MAY choose to generate notifications on these implementations MAY choose to generate notifications on these
statuses to certain participants only or not generate them at all, statuses to certain participants only or not generate them at all,
subject to local policy. subject to local policy.
5.7.4 <joining-method> 5.7.4 <joining-method>
This element contains method by which the endpoint joined the This element contains the method by which the endpoint joined the
conference, and can assume the following values: conference, and can assume the following values:
dialed-in: The endpoint dialed into the conference (e.g., in SIP sent dialed-in: The endpoint dialed into the conference (e.g., in SIP sent
INVITE to the focus), which resulted in successful dialog INVITE to the focus), which resulted in successful dialog
establishment. establishment.
dialed-out: The focus has brought the endpoint into the dialed-out: The focus has brought the endpoint into the
conference(e.g., in SIP the focus sent a successful INVITE to the conference(e.g., in SIP the focus sent a successful INVITE to the
endpoint). endpoint).
focus-owner: The endpoint is the focus for this conference. This focus-owner: The endpoint is the focus for this conference. This
status is used only when a participant's UA acts as a conference status is used only when a participant's UA acts as a conference
focus. focus.
5.7.5 <joining-info> 5.7.5 <joining-info>
This element contains information about how the endpoint joined and This element contains information about how the endpoint joined and
can contain the following sub-elements: MAY contain the following sub-elements:
when: This element of the XML dateTime type contains the date and when: This element of the XML dateTime type contains the date and
time that the endpoint joined the conference and SHOULD be time that the endpoint joined the conference and SHOULD be
expressed in Coordinated Universal Time (UTC). expressed in Coordinated Universal Time (UTC).
reason: This element contains the reason the endpoint joined the reason: This element contains the reason the endpoint joined the
conference. It is RECOMMENDED to include the information in the conference. It is RECOMMENDED to include the information in the
format defined by RFC 3326 [12]. For example, format defined by RFC 3326 [12]. For example,
<reason>Reason: SIP;text="Ad-hoc Invitation"</reason> <reason>Reason: SIP;text="Ad-hoc Invitation"</reason>
by: This element contains the URI of the entity who caused the by: This element contains the URI of the entity which caused the
endpoint to join the conference. endpoint to join the conference.
5.7.6 <disconnection-method> 5.7.6 <disconnection-method>
This element contains the method by which the endpoint departed the This element contains the method by which the endpoint departed the
conference, and can assume the following values: conference, and can assume the following values:
departed: In SIP, the endpoint sent a BYE, thus leaving the departed: In SIP, the endpoint sent a BYE, thus leaving the
conference. conference.
skipping to change at page 23, line 33 skipping to change at page 23, line 46
busy: In SIP, the server tried to bring the endpoint into the busy: In SIP, the server tried to bring the endpoint into the
conference, but its attempt to contact the specific endpoint conference, but its attempt to contact the specific endpoint
resulted in 486 "Busy Here" final response. Alternatively, the resulted in 486 "Busy Here" final response. Alternatively, the
endpoint tried to dial into the conference but the focus responded endpoint tried to dial into the conference but the focus responded
with 486 response. with 486 response.
5.7.7 <disconnection-info> 5.7.7 <disconnection-info>
This element contains information about the endpoint's departure from This element contains information about the endpoint's departure from
the conference and can contain the following sub-elements: the conference and MAY contain the following sub-elements:
when: This element of the XML dateTime type contains the date and when: This element of the XML dateTime type contains the date and
time that the endpoint departed the conference and SHOULD be time that the endpoint departed the conference and SHOULD be
expressed in Coordinated Universal Time (UTC). expressed in Coordinated Universal Time (UTC).
reason: This element contains the reason the endpoint departed the reason: This element contains the reason the endpoint departed the
conference. When known and meaningful, it is RECOMMENDED to conference. When known and meaningful, it is RECOMMENDED to
include the information as conveyed/reported by the call signaling include the information as conveyed/reported by the call signaling
in the format defined by RFC 3326 [12]. For example, in the format defined by RFC 3326 [12]. For example,
<reason>Reason: SIP;cause=415;text="Unsupported Media Type"</reason> <reason>Reason: SIP;cause=415;text="Unsupported Media Type"</reason>
by: This element contains the URI of the entity who caused the by: This element contains the URI of the entity which caused the
endpoint to depart the conference. endpoint to depart the conference.
5.7.8 <media> 5.7.8 <media>
This element contains information about a single media stream and is This element contains information about a single media stream and is
included for each media stream being established between the focus included for each media stream being established between the focus
and the <endpoint>. The media stream definition can be found in SDP and the <endpoint>. The media stream definition can be found in SDP
[3]. [3].
Note that if the <call-info> sub-element of the endpoint is not Note that if the <call-info> sub-element of the endpoint is not
skipping to change at page 25, line 9 skipping to change at page 25, line 25
5.8.2 <type> 5.8.2 <type>
This element contains the media type for the media stream. The value This element contains the media type for the media stream. The value
of this element MUST be one of the values registered for "media" of of this element MUST be one of the values registered for "media" of
SDP [3] and its later revision(s). SDP [3] and its later revision(s).
5.8.3 <label> 5.8.3 <label>
The <label> element carries a unique identifier for this stream among The <label> element carries a unique identifier for this stream among
all streams in the conference and is assigned by the focus. The all streams in the conference and is assigned by the focus. The
value of this element corresponds to the SDP "label" media attribute value of this element will typically correspond to the SDP "label"
defined in [17], which is exchanged between a participant and a focus media attribute defined in [17] and is exchanged between a
over the signaling connection between them. participant and a focus over the signaling connection between them.
If the <available-media> information (described in Section 5.3.4) is If the <available-media> information (described in Section 5.3.4) is
included in the conference document, the value of this element MUST included in the conference document, the value of this element MUST
be equal to the 'label' value of the corresponding media stream be equal to the 'label' value of the corresponding media stream
<entry> in the <available-media> container. <entry> in the <available-media> container.
5.8.4 <src-id> 5.8.4 <src-id>
The <src-id> element, if applicable, carries the information about The <src-id> element, if applicable, carries the information about
the actual source of the media. For example, for Real-Time Transport the actual source of the media. For example, for Real-Time Transport
skipping to change at page 26, line 37 skipping to change at page 27, line 7
6. XML Schema 6. XML Schema
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<xs:schema <xs:schema
targetNamespace="urn:ietf:params:xml:ns:conference-info" targetNamespace="urn:ietf:params:xml:ns:conference-info"
xmlns:tns="urn:ietf:params:xml:ns:conference-info" xmlns:tns="urn:ietf:params:xml:ns:conference-info"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:ietf:params:xml:ns:conference-info" xmlns="urn:ietf:params:xml:ns:conference-info"
elementFormDefault="qualified" elementFormDefault="qualified"
attributeFormDefault="unqualified"><!-- attributeFormDefault="unqualified">
<!--
This imports the xml:language definition This imports the xml:language definition
--> -->
<xs:import namespace="http://www.w3.org/XML/1998/namespace" <xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<!-- <!--
CONFERENCE ELEMENT CONFERENCE ELEMENT
--> -->
<xs:element name="conference-info" type="conference-type"/> <xs:element name="conference-info" type="conference-type"/>
<!-- <!--
CONFERENCE TYPE CONFERENCE TYPE
skipping to change at page 27, line 25 skipping to change at page 27, line 43
type="sidebars-by-val-type" minOccurs="0"/> type="sidebars-by-val-type" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="entity" <xs:attribute name="entity"
type="xs:anyURI" use="required"/> type="xs:anyURI" use="required"/>
<xs:attribute name="state" <xs:attribute name="state"
type="state-type" use="optional" default="full"/> type="state-type" use="optional" default="full"/>
<xs:attribute name="version" <xs:attribute name="version"
type="xs:unsignedInt" use="optional"/> type="xs:unsignedInt" use="optional"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
STATE TYPE STATE TYPE
--> -->
<xs:simpleType name="state-type"> <xs:simpleType name="state-type">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="full"/> <xs:enumeration value="full"/>
<xs:enumeration value="partial"/> <xs:enumeration value="partial"/>
<xs:enumeration value="deleted"/> <xs:enumeration value="deleted"/>
</xs:restriction> </xs:restriction>
skipping to change at page 28, line 13 skipping to change at page 28, line 31
type="uris-type" minOccurs="0"/> type="uris-type" minOccurs="0"/>
<xs:element name="service-uris" <xs:element name="service-uris"
type="uris-type" minOccurs="0"/> type="uris-type" minOccurs="0"/>
<xs:element name="maximum-user-count" <xs:element name="maximum-user-count"
type="xs:unsignedInt" minOccurs="0"/> type="xs:unsignedInt" minOccurs="0"/>
<xs:element name="available-media" <xs:element name="available-media"
type="conference-media-type" minOccurs="0"/> type="conference-media-type" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
HOST TYPE HOST TYPE
--> -->
<xs:complexType name="host-type"> <xs:complexType name="host-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="web-page" type="xs:anyURI" <xs:element name="web-page" type="xs:anyURI"
minOccurs="0"/> minOccurs="0"/>
skipping to change at page 28, line 27 skipping to change at page 28, line 45
--> -->
<xs:complexType name="host-type"> <xs:complexType name="host-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="web-page" type="xs:anyURI" <xs:element name="web-page" type="xs:anyURI"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="uris" type="uris-type" <xs:element name="uris" type="uris-type"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
CONFERENCE STATE TYPE CONFERENCE STATE TYPE
--> -->
<xs:complexType name="conference-state-type"> <xs:complexType name="conference-state-type">
<xs:sequence> <xs:sequence>
<xs:element name="user-count" type="xs:unsignedInt" <xs:element name="user-count" type="xs:unsignedInt"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="active" type="xs:boolean" <xs:element name="active" type="xs:boolean"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="locked" type="xs:boolean" <xs:element name="locked" type="xs:boolean"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
CONFERENCE MEDIA TYPE CONFERENCE MEDIA TYPE
--> -->
<xs:complexType name="conference-media-type"> <xs:complexType name="conference-media-type">
<xs:sequence> <xs:sequence>
<xs:element name="entry" type="conference-medium-type" <xs:element name="entry" type="conference-medium-type"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
CONFERENCE MEDIUM TYPE CONFERENCE MEDIUM TYPE
--> -->
<xs:complexType name="conference-medium-type"> <xs:complexType name="conference-medium-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="type" type="xs:string"/> <xs:element name="type" type="xs:string"/>
<xs:element name="status" type="media-status-type" <xs:element name="status" type="media-status-type"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="label" type="xs:string" <xs:attribute name="label" type="xs:string"
use="required"/> use="required"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
URIs TYPE URIs TYPE
--> -->
<xs:complexType name="uris-type"> <xs:complexType name="uris-type">
<xs:sequence> <xs:sequence>
<xs:element name="entry" type="uri-type" <xs:element name="entry" type="uri-type"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="state" type="state-type" <xs:attribute name="state" type="state-type"
use="optional" default="full"/> use="optional" default="full"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
URI TYPE URI TYPE
--> -->
<xs:complexType name="uri-type"> <xs:complexType name="uri-type">
<xs:sequence> <xs:sequence>
<xs:element name="uri" type="xs:anyURI"/> <xs:element name="uri" type="xs:anyURI"/>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="purpose" type="xs:string" <xs:element name="purpose" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="modified" type="execution-type" <xs:element name="modified" type="execution-type"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
KEWORDS TYPE KEWORDS TYPE
--> -->
<xs:simpleType name="keywords-type"> <xs:simpleType name="keywords-type">
<xs:list itemType="xs:string"/> <xs:list itemType="xs:string"/>
</xs:simpleType> </xs:simpleType>
<!-- <!--
USERS TYPE USERS TYPE
--> -->
<xs:complexType name="users-type"> <xs:complexType name="users-type">
<xs:sequence> <xs:sequence>
<xs:element name="user" type="user-type" <xs:element name="user" type="user-type"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="state" type="state-type" <xs:attribute name="state" type="state-type"
use="optional" default="full"/> use="optional" default="full"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
USER TYPE USER TYPE
--> -->
<xs:complexType name="user-type"> <xs:complexType name="user-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="associated-aors" type="uris-type" <xs:element name="associated-aors" type="uris-type"
minOccurs="0"/> minOccurs="0"/>
skipping to change at page 30, line 51 skipping to change at page 31, line 20
<xs:element name="cascaded-focus" type="xs:anyURI" <xs:element name="cascaded-focus" type="xs:anyURI"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="endpoint" type="endpoint-type" <xs:element name="endpoint" type="endpoint-type"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="entity" type="xs:anyURI"/> <xs:attribute name="entity" type="xs:anyURI"/>
<xs:attribute name="state" type="state-type" <xs:attribute name="state" type="state-type"
use="optional" default="full"/> use="optional" default="full"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
USER ROLES TYPE USER ROLES TYPE
--> -->
<xs:complexType name="user-roles-type"> <xs:complexType name="user-roles-type">
<xs:sequence> <xs:sequence>
<xs:element name="entry" type="xs:string" <xs:element name="entry" type="xs:string"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
USER LANGUAGES TYPE USER LANGUAGES TYPE
--> -->
<xs:simpleType name="user-languages-type"> <xs:simpleType name="user-languages-type">
<xs:list itemType="xs:language"/> <xs:list itemType="xs:language"/>
</xs:simpleType> </xs:simpleType>
<!-- <!--
ENDPOINT TYPE ENDPOINT TYPE
--> -->
skipping to change at page 32, line 6 skipping to change at page 32, line 22
<xs:element name="media" type="media-type" <xs:element name="media" type="media-type"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="call-info" type="call-type" <xs:element name="call-info" type="call-type"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="entity" type="xs:string"/> <xs:attribute name="entity" type="xs:string"/>
<xs:attribute name="state" type="state-type" <xs:attribute name="state" type="state-type"
use="optional" default="full"/> use="optional" default="full"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
ENDPOINT STATUS TYPE ENDPOINT STATUS TYPE
--> -->
<xs:simpleType name="endpoint-status-type"> <xs:simpleType name="endpoint-status-type">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="pending"/> <xs:enumeration value="pending"/>
<xs:enumeration value="dialing-out"/> <xs:enumeration value="dialing-out"/>
<xs:enumeration value="dialing-in"/> <xs:enumeration value="dialing-in"/>
<xs:enumeration value="alerting"/> <xs:enumeration value="alerting"/>
skipping to change at page 33, line 10 skipping to change at page 33, line 25
--> -->
<xs:complexType name="execution-type"> <xs:complexType name="execution-type">
<xs:sequence> <xs:sequence>
<xs:element name="when" type="xs:dateTime" <xs:element name="when" type="xs:dateTime"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="reason" type="xs:string" <xs:element name="reason" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="by" type="xs:anyURI" <xs:element name="by" type="xs:anyURI"
minOccurs="0"/> minOccurs="0"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
CALL TYPE CALL TYPE
--> -->
<xs:complexType name="call-type"> <xs:complexType name="call-type">
<xs:choice> <xs:choice>
<xs:element name="sip" type="sip-dialog-id-type"/> <xs:element name="sip" type="sip-dialog-id-type"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:choice> </xs:choice>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
SIP DIALOG ID TYPE SIP DIALOG ID TYPE
--> -->
<xs:complexType name="sip-dialog-id-type"> <xs:complexType name="sip-dialog-id-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="call-id" type="xs:string"/> <xs:element name="call-id" type="xs:string"/>
<xs:element name="from-tag" type="xs:string"/> <xs:element name="from-tag" type="xs:string"/>
<xs:element name="to-tag" type="xs:string"/> <xs:element name="to-tag" type="xs:string"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
MEDIA TYPE MEDIA TYPE
--> -->
<xs:complexType name="media-type"> <xs:complexType name="media-type">
<xs:sequence> <xs:sequence>
<xs:element name="display-text" type="xs:string" <xs:element name="display-text" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="type" type="xs:string" <xs:element name="type" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
skipping to change at page 34, line 10 skipping to change at page 34, line 25
minOccurs="0"/> minOccurs="0"/>
<xs:element name="src-id" type="xs:string" <xs:element name="src-id" type="xs:string"
minOccurs="0"/> minOccurs="0"/>
<xs:element name="status" type="media-status-type" <xs:element name="status" type="media-status-type"
minOccurs="0"/> minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="id" type="xs:string" <xs:attribute name="id" type="xs:string"
use="required"/> use="required"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
<!-- <!--
MEDIA STATUS TYPE MEDIA STATUS TYPE
--> -->
<xs:simpleType name="media-status-type"> <xs:simpleType name="media-status-type">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:enumeration value="recvonly"/> <xs:enumeration value="recvonly"/>
<xs:enumeration value="sendonly"/> <xs:enumeration value="sendonly"/>
<xs:enumeration value="sendrecv"/> <xs:enumeration value="sendrecv"/>
<xs:enumeration value="inactive"/> <xs:enumeration value="inactive"/>
skipping to change at page 34, line 33 skipping to change at page 34, line 48
<!-- <!--
SIDEBARS BY VAL TYPE SIDEBARS BY VAL TYPE
--> -->
<xs:complexType name="sidebars-by-val-type"> <xs:complexType name="sidebars-by-val-type">
<xs:sequence> <xs:sequence>
<xs:element name="entry" type="conference-type" <xs:element name="entry" type="conference-type"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="state" type="state-type" <xs:attribute name="state" type="state-type"
use="optional" default="full"/> use="optional" default="full"/>
<xs:anyAttribute namespace="##other"/> <xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType> </xs:complexType>
</xs:schema> </xs:schema>
7. Examples 7. Examples
7.1 Basic Example 7.1 Basic Example
The following is an example of a full conference information The following is an example of a full conference information
document: document:
<conference-info entity="sips:conf233@example.com" <?xml version="1.0" encoding="UTF-8"?>
<conference-info
xmlns="urn:ietf:params:xml:ns:conference-info"
entity="sips:conf233@example.com"
state="full" version="1"> state="full" version="1">
<!-- <!--
CONFERENCE INFO CONFERENCE INFO
--> -->
<conference-description> <conference-description>
<subject>Agenda: This month's goals</subject> <subject>Agenda: This month's goals</subject>
<service-uris> <service-uris>
<entry> <entry>
<uri>http://sharepoint/salesgroup/</uri> <uri>http://sharepoint/salesgroup/</uri>
<purpose>web-page</purpose> <purpose>web-page</purpose>
skipping to change at page 36, line 42 skipping to change at page 37, line 11
The following is an example of a partial conference information The following is an example of a partial conference information
document. In this example, there are 32 participants in a voice document. In this example, there are 32 participants in a voice
conference. The user Bob has been ejected from the conference by conference. The user Bob has been ejected from the conference by
Mike due to bad voice quality. Note that there are three sidebars in Mike due to bad voice quality. Note that there are three sidebars in
the conference, two are referenced just by their sidebar URIs and the conference, two are referenced just by their sidebar URIs and
information about the third sidebar is included in this notification. information about the third sidebar is included in this notification.
Also note that while this conference offers both audio and video Also note that while this conference offers both audio and video
capabilities, only audio is currently in use. capabilities, only audio is currently in use.
<conference-info entity="sips:conf233@example.com" <?xml version="1.0" encoding="UTF-8"?>
<conference-info
xmlns="urn:ietf:params:xml:ns:conference-info"
entity="sips:conf233@example.com"
state="partial" version="5"> state="partial" version="5">
<!-- <!--
CONFERENCE INFO CONFERENCE INFO
--> -->
<conference-description> <conference-description>
<display-text>Weekly Sales Meeting</display-text> <display-text>Weekly Sales Meeting</display-text>
<subject>Agenda: This month's goals</subject> <subject>Agenda: This month's goals</subject>
<free-text>We will start strict on time</free-text> <free-text>We will start strict on time</free-text>
<keywords>sales meeting weekly</keywords> <keywords>sales meeting weekly</keywords>
<conf-uris> <conf-uris>
skipping to change at page 44, line 24 skipping to change at page 44, line 32
event The URI can be used to subscribe [RFC XXXX] event The URI can be used to subscribe [RFC XXXX]
to the conference event package to the conference event package
recording The URI can be used to access the [RFC XXXX] recording The URI can be used to access the [RFC XXXX]
recorded conference data recorded conference data
web-page The URI can be used to access a [RFC XXXX] web-page The URI can be used to access a [RFC XXXX]
web page that contains additional web page that contains additional
information of the conference information of the conference
New values of the "URI purposes" are registered by the IANA when New values of the "URI purposes" are registered by the IANA and are
specification is approved, according to the IETF Consensus policy in specification required according to the definition of RFC 2434 [4].
RFC 2434 [4]. The IANA Considerations section of the specification The IANA Considerations section of the specification MUST include the
MUST include the following information: following information:
Value: The value of the <purpose> element to be registered Value: The value of the <purpose> element to be registered
Description: A short description of the intended usage of the URI Description: A short description of the intended usage of the URI
Security Considerations: A brief discussion of any security issues
associated with the new URI purpose usage, and methods of handling
them
10. Acknowledgements 10. Acknowledgements
The authors would like to thank Dan Petrie, Sean Olson, Alan The authors would like to thank Dan Petrie, Sean Olson, Alan
Johnston, Rohan Mahy, Cullen Jennings, Brian Rosen, Roni Even, and Johnston, Rohan Mahy, Cullen Jennings, Brian Rosen, Roni Even, and
Miguel Garcia for their comments and inputs. Miguel Garcia for their comments and inputs.
11. References 11. References
11.1 Normative References 11.1 Normative References
 End of changes. 

This html diff was produced by rfcdiff 1.24, available from http://www.levkowetz.com/ietf/tools/rfcdiff/