rfc-6501

Conference Information Data Model for Centralized Conferencing (XCON)

O. Novo, G. Camarillo, D. Morgan, J. Urpalainen
date2012-03 streamIETF arearai wgxcon statusPROPOSED STANDARD pages94 canonicalhttps://www.rfc-editor.org/rfc/rfc6501 doi10.17487/RFC6501
RFC 5239 defines centralized conferencing (XCON) as an association of participants with a central focus. The state of a conference is represented by a conference object. This document defines an XML- based conference information data model to be used for conference objects. A conference information data model is designed to convey information about the conference and about participation in the conference. The conference information data model defined in this document constitutes an extension of the data format specified in the Session Initiation Protocol (SIP) event package for conference State. [STANDARDS-TRACK]

Extracted elements (31)

design-rationale §1

The data model is defined as a superset of RFC 4575 (SIP event package for conference state) because RFC 4575 was SIP-specific and lacked floor control and other XCON framework elements. Extending RFC 4575 allows this model to support multiple call signaling protocols while covering all XCON framework functionality.

realtime, sip

interoperability-note §5

The RELAX NG schema is backwards compatible with RFC 5239: valid RFC 5239 instance documents are also valid according to this schema. The 'state' and 'version' attributes defined in RFC 4575 are not used in the XCON conference information model context, as they apply only to notification mechanisms.

realtime, sip

normative-requirement §4.6.2 MUST

A 'closedAuthenticated' policy MUST have each participant in the <allowed-users-list> and authenticated, and MUST NOT include a <deny-users-list>. An 'openAuthenticated' policy MUST NOT include an <allowed-users-list>. An 'anonymous' policy MUST NOT include either list; if any prohibited list appears, it MUST be ignored.

realtime, security

normative-requirement §3.3.1 MUST NOT

An application MUST NOT attempt to perform a standard DNS lookup on the host portion of an XCON-URI in an attempt to discover an IP address or port at which to connect.

realtime, dns

normative-requirement §3.1 MUST

Conference object documents MUST be based on XML 1.0 and MUST be encoded using UTF-8. Compliant messages MUST meet the requirements of the RELAX NG schema provided in Section 5.

realtime, sip

normative-requirement §6 MUST

Elements or attributes from unknown namespaces MUST be ignored. Extensions are accomplished by defining elements or attributes in namespaces other than 'urn:ietf:params:xml:ns:conference-info' and 'urn:ietf:params:xml:ns:xcon-conference-info' where the schema allows anyAttribute or anyElement.

realtime

normative-requirement §3.3.2 MUST

For XCON-URI comparison, all components MUST be converted to lowercase, then the URI comparison MUST be applied on a character-by-character basis as prescribed by RFC 3986 Section 6.2.1. This character-by-character comparison applies even when the host takes the form of an IP address.

realtime

normative-requirement §4.4.1 MUST

If <allow-conference-event-subscription> is set to FALSE, subscription to conference state events MUST be rejected. If the element is undefined, it defaults to true, causing subscriptions to be accepted.

realtime, sip

normative-requirement §4.5.4 MUST

If <available-media> is included in the conference document, the value of <media-label> in a <floor> element MUST equal the 'label' value of the corresponding media stream <entry> in the <available-media> container.

realtime

normative-requirement §4.2.5 MUST

If the conference policy is modified so that the last privileged user becomes a normal conference participant and the conference requires a privileged user to continue, that conference MUST terminate.

realtime

normative-requirement §4.5.4 MUST

The <algorithm> element MUST be set to one of 'moderator-controlled', 'FCFS', or 'random'. The <moderator-id> element MUST be set if <algorithm> is 'moderator-controlled'; when BFCP is the floor control protocol, <moderator-id> corresponds to the BFCP floor chair concept.

realtime

normative-requirement §4.5.2 MUST

The <allow-floor-events> element defaults to FALSE if undefined, causing subscription to floor control events to be rejected. A participant can subscribe via SDP offer/answer with SIP INVITE and BFCP parameters, or via the general BFCP authorization mechanism.

realtime

normative-requirement §4.2.6 MUST NOT

The <conference-password> element MUST NOT appear in elements of type 'uris-type' other than <conf-uris>, absent future standardization explicitly defining such usage.

realtime, security

normative-requirement §4.2.7 MUST

The <mixing-mode> element MUST contain one and only one of the values 'moderator-controlled', 'FCFS', or 'automatic', indicating the default scheduling algorithm for building the outgoing stream from incoming streams.

realtime

normative-requirement §4.2.5 MUST

The <mixing-start-offset> and <mixing-end-offset> elements MUST each include the 'required-participant' attribute specifying the participant role (none, administrator, moderator, user, observer, participant) whose presence triggers the mixing start or stop event.

realtime

privacy-consideration §4.6.5.1 SHOULD NOT

The <provide-anonymity> element specifies the server-provided anonymity level for a participant: 'private' (completely anonymous identity), 'semi-private' (anonymous to unprivileged users), or 'hidden' (completely invisible to other participants). Real user information is stored in the data model but SHOULD NOT be provided to other conference participants.

privacy, realtime

protocol-element §4.6.3

The <allowed-users-list> contains <target> elements with mandatory 'uri' and 'method' attributes. Method values are 'dial-in' (who can join), 'dial-out' (who the focus initiates sessions toward), and 'refer' (who the focus refers to the conference). It also has a <persistent-list> child for storing persistent user profile data.

realtime, sip

protocol-element §4.2.7

The <available-media> element describes conference media via <entry> child elements, each containing <mixing-mode> (moderator-controlled, FCFS, or automatic), <codecs> (with 'decision' attribute and codec/subtype children referencing the RTP Payload Format media types registry), and <controls> (mute, pause-video, gain, video-layout).

realtime, rtp

protocol-element §3.4

The <conference-info> root element contains: <conference-description>, <host-info>, <conference-state>, <floor-information>, <users>, <sidebars-by-ref>, and <sidebars-by-val> child elements. The 'entity' attribute is extended to hold the XCON-URI (in addition to the SIP URI defined in RFC 4575).

realtime, sip

protocol-element §3.3

The Conference Object Identifier (XCON-URI) serves as the top-level identifier for a conference within a conferencing system. It acts as a key to access, manipulate, and delete a conference object, and provides an implicit binding to other protocol identifiers (CSP, BFCP, etc.).

realtime, sip

protocol-element §4.2.5

The <conference-time> element contains one or more <entry> elements specifying scheduling information for each conference occurrence, including iCalendar <base>, <mixing-start-offset>, <mixing-end-offset>, <can-join-after-offset>, <must-join-before-offset>, <request-user>, <notify-end-of-conference>, and <allowed-extend-mixing-end-offset>.

realtime

protocol-element §4.5

The <floor-information> element contains <conference-ID> (mapping 1:1 to the XCON-URI and to the BFCP 32-bit conference identifier), <allow-floor-events>, <floor-request-handling> (block or confirm), and <conference-floor-policy>. Absence of this element from a document indicates the conference has no floor.

realtime

protocol-element §4.6.1

The <join-handling> element defines the focus action on conference join requests: 'block' (deny, default), 'confirm' (place on pending/hold list), 'allow' (grant access), 'authenticate' (require username/password), or 'directed-operator' (direct the user to an operator).

realtime, security

protocol-element §4.6.5.2

The <roles> element assigns one or more roles to a conference participant: 'administrator', 'moderator', 'user', 'participant', 'observer', or 'none'. Roles govern the set of conference operations a participant may perform and are referenced by <mixing-start-offset> 'required-participant' and floor control algorithms.

realtime

protocol-element §4.6.5.6

The <to-mixer> and <from-mixer> elements control per-participant media streams to and from the mixer. The 'name' attribute identifies stream direction ('VideoIn', 'VideoOut', 'AudioOut', 'AudioIn'), and each element can have <floor> (boolean floor assignment) and <controls> (mute, gain, pause-video) child elements.

realtime, rtp

protocol-element §4.6.2

The <user-admission-policy> element defines the conference authentication policy with three values: 'closedAuthenticated' (only allowed-list members, fully authenticated), 'openAuthenticated' (any authenticated user, supports deny list), and 'anonymous' (no restriction, no user lists apply).

realtime, security

registry §9

This document registers four items with IANA: (1) a RELAX NG schema under the IETF XML registry, (2) the XML namespace 'urn:ietf:params:xml:ns:xcon-conference-info', (3) the Conference Object Identifier (XCON-URI) format, and (4) the Conference User Identifier (XCON-USERID) format.

registry, realtime

security-consideration §8

The combination of <user-admission-policy>, <join-handling>, <allowed-users-list>, and <deny-users-list> provides a layered access control framework. The 'closedAuthenticated' policy provides the strongest guarantee; 'anonymous' offers no access control. Implementors must map authentication mechanisms from the underlying signaling protocol to the chosen policy.

security, realtime

wire-format §4.6.5

The conference user identifier (XCON-USERID) has the format: XCON-USERID = 'xcon-userid' ':' conf-user-id, where conf-user-id = 1*unreserved. All components MUST be converted to lowercase and compared codepoint-by-codepoint per RFC 3986 Section 6.2.1.

realtime

wire-format §5

The gain control value (<gain> element) is an integer typed as xsd:int with minInclusive='-127' and maxInclusive='127', representing audio amplification applied to a media output stream. The time-type used for scheduling offsets is xsd:dateTime with pattern '.+T.+Z.*' (UTC required).

realtime

wire-format §3.3.1

The XCON-URI syntax is: XCON-URI = 'xcon' ':' [conf-object-id '@'] host, where conf-object-id = 1*(unreserved / '+' / '=' / '/'). The host portion serves only as an identifier and is never resolved to an IP address.

realtime