rfc-8846

An XML Schema for the Controlling Multiple Streams for Telepresence (CLUE) Data Model

R. Presta, S P. Romano
date2021-01 streamIETF areaart wgclue statusPROPOSED STANDARD pages66 canonicalhttps://www.rfc-editor.org/rfc/rfc8846 doi10.17487/RFC8846
This document provides an XML schema file for the definition of CLUE data model types. The term "CLUE" stands for "Controlling Multiple Streams for Telepresence" and is the name of the IETF working group in which this document, as well as other companion documents, has been developed. The document defines a coherent structure for information associated with the description of a telepresence scenario.

Extracted elements (27)

design-rationale §23

The <clueInfo> root element was defined only for data-model testing purposes and deliberately resembles, but does not match, the body of a CLUE ADVERTISEMENT message; actual protocol messages are defined in RFC 8847.

realtime

design-rationale §11.2

The mediaType attribute of mediaCaptureType was intentionally defined as a generic xs:string rather than an enumeration to allow new media types without schema changes; interoperability for non-standard values requires application-level agreement between implementations.

realtime

design-rationale §24

The schema uses xs:any and xs:anyAttribute throughout to maximize extensibility while complying with the XML Schema Unique Particle Attribution (UPA) constraint, allowing custom namespaced extensions without losing schema validity.

realtime

interoperability-note §21.1.2

The <personInfo> element uses the vcardType imported from the xCard XML schema (RFC 6351 / RFC 7852 Appendix A), requiring the <fn> element within <vcard> to be present as mandated by the xCard specification.

realtime

normative-requirement §11.5.2 MUST

<captureArea> MUST be included in the spatial information of spatially definable video captures and MUST NOT be associated with audio captures. The four corner points (<bottomLeft>, <bottomRight>, <topLeft>, <topRight>) MUST be coplanar.

realtime

normative-requirement §11.5.1 MUST

<captureOrigin> MUST be included in the spatial information of spatially definable audio captures; it is optional for spatially definable video captures. The lineOfCapturePoint coordinates MUST NOT be identical to the capturePoint coordinates.

realtime

normative-requirement §11.5 MUST

Coordinates of all spatial points (capturePoint, lineOfCapturePoint, captureArea corners) MUST be expressed according to the coordinate space defined for the capture scene to which the media capture belongs.

realtime

normative-requirement §11.3 MUST

Each media capture MUST be defined within one and only one capture scene, as indicated by the mandatory <captureSceneIDREF> element referencing the sceneID of the containing scene.

realtime

normative-requirement §24 MUST

Elements or attributes from unknown namespaces MUST be ignored, supporting forward-compatible schema extensibility.

realtime

normative-requirement §11.6 MUST

Non-spatially definable media captures MUST be marked with <nonSpatiallyDefinable> set to 'true', and no <spatialInformation> element MUST be provided. The two tags are mutually exclusive in the XML schema.

realtime

normative-requirement §14 MUST

Text captures MUST be marked as non-spatially definable, i.e., they MUST present the <nonSpatiallyDefinable> element set to 'true' in their XML description.

realtime

normative-requirement §22.3 MUST

The total number of media captures listed in the <configuredContent> element of a <captureEncoding> MUST be lower than or equal to the value carried within the <maxCaptures> attribute of the referenced MCC.

realtime

normative-requirement §19.2 MUST

When a <simultaneousSet> lists only capture scene identifiers (<captureSceneIDREF>), the mediaType attribute MUST appear in the XML description to determine which media captures can be simultaneously sent.

realtime

normative-requirement §11.9 MUST

When <allowSubsetChoice> is true and the MCC references other captures, the Consumer MAY specify a subset via CONFIGURE, and the Provider MUST then include only that subset. If <allowSubsetChoice> is false or absent, the Consumer MUST NOT select a subset.

realtime

normative-requirement §11.11 MUST

When the exactNumber attribute of <maxCaptures> is not set to 'true', the number of simultaneously represented media captures MUST be considered less than or equal to the <maxCaptures> value.

realtime

protocol-element §11

The abstract mediaCaptureType defines mandatory fields captureID (xs:ID), mediaType (xs:string), captureSceneIDREF (xs:IDREF), and a mutually exclusive choice between <spatialInformation> and <nonSpatiallyDefinable>. A second mutual exclusion separates MCC-specific fields (synchronizationID, content, policy, maxCaptures, allowSubsetChoice) from the <individual> boolean fixed to true.

realtime

protocol-element §23

The <clueInfo> root element aggregates all CLUE data model components: <mediaCaptures>, <encodingGroups>, <captureScenes>, optional <simultaneousSets>, optional <globalViews>, and optional <people>. It is defined for testing and validation purposes and is not directly used in CLUE protocol ADVERTISEMENT messages.

realtime, webrtc

registry §26.4

IANA created four Expert Review registries for enumerated string values: 'CLUE Schema <view>' (initial: room, table, lectern, individual, audience), 'CLUE Schema <presentation>' (initial: slides, images), 'CLUE Schema <sensitivityPattern>' (initial: uni, shotgun, omni, figure8, cardioid, hyper-cardioid), and 'CLUE Schema <personType>' (initial: presenter, timekeeper, attendee, minute taker, translator, chairman, vice-chairman, observer).

registry, realtime

registry §26.1

IANA registered the XML namespace urn:ietf:params:xml:ns:clue-info and the XML schema urn:ietf:params:xml:schema:clue-info per RFC 3688, and registered the media type application/clue_info+xml (file extension .clue, intended usage LIMITED USE).

registry, realtime

security-consideration §25 SHOULD

CLUE data model information SHOULD be accessed only by authenticated endpoints; vCard data in <personInfo> mandatorily contains a person's identity and optionally contact addresses, photos, and other personal data, making unauthenticated access a privacy risk. Authentication is not mandated because some sessions may legitimately require no protection.

security, privacy, realtime

security-consideration §25

Integrity attacks on CLUE data model information can mislead both the Media Consumer and Media Provider in interpreting offered and desired media streams, invalidating telepresence session setup; integrity and authentication assurance is delegated to the CLUE protocol (RFC 8847) and CLUE data channel (RFC 8850).

security, realtime

security-consideration §25

XML parsers MUST be robust against malformed documents; processing malformed CLUE XML from untrusted sources could allow an attacker to gain the privileges of the user running the parser, potentially compromising the entire host.

security, realtime

wire-format §22

captureEncodingType encodes a Media Consumer's stream request: mandatory <captureID> (xs:string), mandatory <encodingID> (xs:string), optional <configuredContent> (contentType listing desired capture and scene-view IDs for MCCs), and a mandatory ID attribute (xs:ID).

realtime

wire-format §11.16

mobilityType is an enumeration restricted to three string values: 'static' (SHOULD NOT change across ADVERTISEMENTs), 'dynamic' (MAY change per ADVERTISEMENT), and 'highly-dynamic' (MAY change between consecutive ADVERTISEMENTs).

realtime

wire-format §11.5.1

pointType encodes a 3D spatial coordinate as three child elements <x>, <y>, <z> each of type xs:decimal. Used in captureOriginType (capturePoint, lineOfCapturePoint) and captureAreaType (bottomLeft, bottomRight, topLeft, topRight).

realtime

wire-format §11.10

policyType is an xs:string restricted by the pattern ([a-zA-Z0-9])+[:]([0-9])+ representing a switching-policy token and a numeric instance index separated by ':' (e.g., SoundLevel:2, RoundRobin:0).

realtime

wire-format §16.4

scaleType is an xs:string enumeration with values 'mm' (millimeters, for precisely measured rooms), 'unknown' (consistent relative scale without a defined unit), and 'noscale' (no common physical scale across captures in the scene).

realtime