F.1 XML schema for MCVideo Information

24.2813GPPMission Critical Video (MCVideo) signalling controlProtocol specificationRelease 18TS

F.1.1 General

This clause defines XML schema and MIME type for MCVideo information.

F.1.2 XML schema

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema

xmlns:xs="http://www.w3.org/2001/XMLSchema"

targetNamespace="urn:3gpp:ns:mcvideoInfo:1.0"

xmlns:mcvideoinfo="urn:3gpp:ns:mcvideoInfo:1.0"

elementFormDefault="qualified"

attributeFormDefault="unqualified"

xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"

xmlns:mvgktp="urn:3gpp:ns:mcvideoGKTP:1.0">

<xs:import namespace="http://www.w3.org/2001/04/xmlenc#"/>

<xs:import namespace="urn:3gpp:ns:mcvideoGKTP:1.0"/>

<!– root XML element –>

<xs:element name="mcvideoinfo" type="mcvideoinfo:mcvideoinfo-Type" id="info"/>

<xs:complexType name="mcvideoinfo-Type">

<xs:sequence>

<xs:element name="mcvideo-Params" type="mcvideoinfo:mcvideo-ParamsType"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="mcvideo-ParamsType">

<xs:sequence>

<xs:element name="mcvideo-access-token" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="session-type" type="xs:string" minOccurs="0"/>

<xs:element name="mcvideo-request-uri" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="mcvideo-calling-user-id" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="mcvideo-called-party-id" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="mcvideo-calling-group-id" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="required" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="emergency-ind" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="alert-ind" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="imminentperil-ind" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="broadcast-ind" type="xs:boolean" minOccurs="0"/>

<xs:element name="mc-org" type="xs:string" minOccurs="0"/>

<xs:element name="associated-group-id" type="xs:string" minOccurs="0"/>

<xs:element name="originated-by" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="MKFC-GKTPs" type="mvgktp:singleTypeGKTPsType" minOccurs="0"/>

<xs:element name="mcvideo-client-id" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="alert-ind-rcvd" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="multiple-devices-ind" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:element name="video-pull-url" type="mcvideoinfo:contentType" minOccurs="0"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>

</xs:sequence>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<!– anyExt elements for MCVideo-Params–>

<xs:element name="release-reason" type="mcvideoinfo:releaseReasonType"/>

<xs:simpleType name="releaseReasonType">

<xs:restriction base="xs:string">

<xs:enumeration value="private-call-expiry"/>

<xs:enumeration value="administrator-action"/>

<xs:enumeration value="not selected for call"/>

<xs:enumeration value="call-request-for-viewed-to-client"/>

<xs:enumeration value="call-request-initiated-by-viewed-to-client"/>

<xs:enumeration value="authentication of the MIKEY-SAKE I_MESSAGE failed"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="request-type" type="mcvideoinfo:requestTypeType"/>

<xs:simpleType name="requestTypeType">

<xs:restriction base="xs:string">

<xs:enumeration value="group-selection-change-request"/>

<xs:enumeration value="fa-group-binding-req"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="response-type" type="mcvideoinfo:responseTypeType"/>

<xs:simpleType name="responseTypeType">

<xs:restriction base="xs:string">

<xs:enumeration value="group-selection-change-response"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="selected-group-change-outcome" type="mcvideoinfo:selectedGroupChangeOutcomeType"/>

<xs:simpleType name="selectedGroupChangeOutcomeType">

<xs:restriction base="xs:string">

<xs:enumeration value="success"/>

<xs:enumeration value="fail"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="affiliation-required" type="xs:boolean"/>

<xs:element name="ambient-viewing-type" type="mcvideoinfo:ambientViewingType"/>

<xs:simpleType name="ambientViewingType">

<xs:restriction base="xs:string">

<xs:enumeration value="remote-init"/>

<xs:enumeration value="local-init"/>

</xs:restriction>

</xs:simpleType>

<xs:element name="video-push-url" type="xs:anyURI"/>

<xs:element name="functional-alias-URI" type="mcvideoinfo:contentType"/>

<xs:element name="user-requested-priority" type="xs:nonNegativeInteger"/>

<xs:element name="emergency-alert-area-ind" type="xs:boolean"/>

<xs:element name="call-to-functional-alias-ind" type="xs:boolean"/>

<xs:element name="group-geo-area-ind" type="xs:boolean"/>

<xs:element name="binding-ind" type="xs:boolean"/>

<xs:element name="binding-fa-uri" type="xs:anyURI"/>

<xs:element name="unbinding-fa-uri" type="xs:anyURI"/>

<xs:simpleType name="protectionType">

<xs:restriction base="xs:string">

<xs:enumeration value="Normal"/>

<xs:enumeration value="Encrypted"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="contentType">

<xs:choice>

<xs:element name="mcvideoURI" type="xs:anyURI"/>

<xs:element name="mcvideoString" type="xs:string"/>

<xs:element name="mcvideoBoolean" type="xs:boolean"/>

<xs:any namespace="##other" processContents="lax"/>

<xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>

</xs:choice>

<xs:attribute name="type" type="mcvideoinfo:protectionType"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:complexType name="anyExtType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

F.1.3 Semantic

The <mcvideoinfo> element is the root element of the XML document. The <mcvideoinfo> element can contain subelements.

NOTE 1: The subelements of the <mcvideo-info> are validated by the <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> particle of the <mcvideo-info> element.

If the <mcvideoinfo> contains the <mcvideo-Params> element then:

1) the <mcvideo-access-token>, <mcvideo-request-uri>, <mcvideo-calling-user-id>, <mcvideo-called-party-id>, <mcvideo-calling-group-id>, <emergency-ind>, <alert-ind>, <imminentperil-ind>, <originated-by> and <mcvideo-client-id>, <functional-alias-URI> and <multiple-devices-ind> elements can be included with encrypted content;

2) for each element in 1) that is included with content that is not encrypted:

a) the element has the "type" attribute set to "Normal";

b) if the element is the <mcvideo-request-uri>, <mcvideo-calling-user-id>, <mcvideo-called-party-id> or <mcvideo-calling-group-id>, <originated-by> or <functional-alias-URI> then the <mcvideoURI> element is included;

c) if the element is <mcvideo-access-token> or <mcvideo-client-id>, then the <mcvideoString> element is included; and

d) if the element is <emergency-ind>, <alert-ind>, <imminentperil-ind> or <multiple-devices-ind> then the <mcvideoBoolean> element is included; and

3) for each element in 1) that is included with content that is encrypted:

a) the element has the "type" attribute set to "Encrypted";

b) the <xenc:EncryptedData> element from the "http://www.w3.org/2001/04/xmlenc#" namespace is included and:

i) can have a "Type" attribute can be included with a value of "http://www.w3.org/2001/04/xmlenc#Content";

ii) can include an <EncryptionMethod> element with the "Algorithm" attribute set to value of "http://www.w3.org/2009/xmlenc11#aes128-gcm";

iii) can include a <KeyInfo> element with a <KeyName> element containing the base 64 encoded XPK-ID; and

iv) includes a <CipherData> element with a <CipherValue> element containing the encrypted data.

NOTE 2: When the optional attributes and elements are not included within the <xenc:EncryptedData> element, the information they contain is known to sender and the receiver by other means.

If the <mcvideoinfo> contains the <mcvideo-Params> element then:

1) the <mcvideo-access-token> element can be included with the access token received during authentication procedure as described in 3GPP TS 24.482 [52];

2) the <session-type> element can be included and set to:

a) "chat" to indicate that the MCVideo client wants to join a chat group call;

b) "prearranged" to indicate the MCVideo client wants to make a prearranged group call;

c) "private" to indicate the MCVideo client wants to make a private call;

d) "ambient-viewing" to indicate the MCVideo client wants to make an ambient viewing call;

e) "pull-from-server" to indicate the MCVideo client wants to pull video file from MCVideo server;

f) "pull-from-user" to indicate the MCVideo client wants to to pull video media from another MCVideo client;

g) "push-to-server" to indicate the MCVideo client wants to push video media to MCVideo server, save as a file;

h) "one-to-one video push" to indicate the MCVideo client wants to push video media to another MCVideo client; or

i) "one-to-server video push" to indicate the MCVideo client wants to push video media to a MCVideogroup;

3) the <mcvideo-request-uri> element can be included with:

a) the value set to an MCVideo group ID or temporary MCVideo group ID when the <session-type> element is set to a value of "prearranged" or "chat"; and

b) the value set to the MCVideo ID of the called MCVideo user when the <session-type> element is set to a value of "private";

4) the <mcvideo-calling-user-id> element can be included, set to the MCVideo ID of the originating user;

5) the <mcvideo-called-party-id> element can be included, set to the MCVideo ID of the terminating user;

6) the <mcvideo-calling-group-id> element can be included to indicate the MCVideo group identity to the terminating user;

7) the <required> element can be included in a SIP 183 (Session Progress) from a non-controlling MCVideo function of an MCVideo group to inform the controlling MCVideo function that the group on the non-controlling MCVideo function has group members in the group document which are marked as <on-network-required>, as specified in 3GPP TS 24.481 [24];

8) the <emergency-ind> element can be set to:

a) "true" to indicate that the call that the MCVideo client is initiating is an emergency MCVideo call; or

b) "false" to indicate that the MCVideo client is cancelling an emergency MCVideo call (i.e. converting it back to a non-emergency call);

9) the <alert-ind> element can be set to:

a) "true" in an emergency call initiation to indicate that an alert to be sent; or

b) "false" when cancelling an emergency call which requires an alert to be cancelled also;

10) if the <session-type> element is set to "chat" or "prearranged":

a) the <imminentperil-ind> element can be set to "true" to indicate that the call that the MCVideo client is initiating is an imminent peril group MCVideo call;

11) the <broadcast-ind> element can be set to:

a) "true" indicates that the MCVideo client is initiating a broadcast group call; or

b) "false" indicates that the MCVideo client is initiating a non-broadcast group call;

12) the <mc-org> element can be:

a) set to the MCVideo user’s Mission Critical Organization in an emergency alert sent by the MCVideo server to terminating MCVideo clients;

13) Void;

14) the <associated-group-id> element:

a) if the <mcvideo-request-uri> element contains a group identity then this element can include an MCVideo group ID associated with the group identity in the <mcvideo-request-uri> element. E.g. if the <mcvideo-request-uri> element contains a temporary group identity (TGI), then the <associated-group-id> element can contain the constituent MCVideo group ID;

15) the <originated-by> element:

a) can be included, set to the MCVideo ID of the originating user of an MCVideo emergency alert when being cancelled by another authorised MCVideo user;

16) the <MKFC-GKTPs> element:

a) contains a group key transport payload carrying one or more MKFC(s) and MKFC-ID(s) as described in3GPP TS 24.481 [24] clause 7.4, to be used for protection of multicast transmission control signalling when the UE operates on the network;

NOTE 3: A GMS (Group Management Server) compliant to Release 14 of the present document does not send a group key transport payload carrying MKFC and MKFC-ID. A GMC (Group Management Client) can receive MKFC and MKFC-ID from a GMS compliant only to Release 13 of the present document.

17) the <mcvideo-client-id> element:

a) can be included, set to the MCVideo client ID of the MCVideo client that originated a SIP INVITE request, SIP REFER request, SIP REGISTER request, SIP PUBLISH request or SIP MESSAGE request;

18) the <alert-ind-rcvd> element:

a) can be set to true and included in a SIP MESSAGE to indicate that the emergency alert or cancellation was received successfully;

18a) the <multiple-devices-ind> element set to:

a) "true" to indicate to the client that multiple clients are registered for the MCVideo user; or

b) "false" to indicate to the client that no other clients are registered for the MCVideo user;

18b) the <video-pull-url> element:

a) can be set to the URL of the video file located in the MCVideo server; and

19) the <anyExt> can be included with the following elements:

a) a <release-reason> element set to:

i) "authentication of the MIKEY-SAKE I_MESSAGE failed" by a MCVideo client when the signature cannot be verified;

ii) "private-call-expiry" when the ambient viewing call is release due to the expiry of the private call timer;

iii) "administrator-action" when the ambient viewing call is released by an MCVideo administrator;

iv) "call-request-for-viewed-to-client" when there is a call request targeted to the viewed-to client; or

v) "call-request-initiated-by-viewed-to-client" when there is a call request initiated by the viewed-to client;

b) a <request-type> element set to:

i) "group-selection-change-request" when a client initiates a group selection change request;

ii) "functional-alias-status-determination" when a client initiates a subscription to FA status request; or

iii) "fa-group-binding-req" when a client initiates a request for binding of a functional alias with the MCVideo group(s) for the MCVideo user;

c) a <response-type> element set to:

i) "group-selection-change-response" when a client responds to a group selection change request;

d) a <selected-group-change-outcome> element set to:

i) "success" when a client reports that it has successfully changed its selected group as requested by a received group selection change request; or

ii) "fail" when a client reports that it has failed to change its selected group as requested by a received group selection change request;

e) an<affiliation-required> element set to:

i) "true" when received by a client in a group-selection-change-request indicates that the client needs to affiliate to the specified group;

f) an <ambient-viewing-type> element set to:

i) "remote-init" when the viewing MCVideo user of an ambient viewing call initiates the call; or

ii) "local-init" when the viewed-to MCVideo user of an ambient viewing call initiates the call;

g) an <video-push-url> element:

i) set to the URL of the video file located in the MCVideo server; and

h) a <functional-alias-URI> element set to the value of the functional alias that is used together with the "mcvideo-calling-user-id";

i) an <emergency-alert-area-ind> element set to:

i) "true" when the MCVideo client has entered an emergency alert area; or

ii) "false" when the MCVideo client has exited an emergency alert area;

j) a <group-geo-area-ind> element set to:

i) "true" when the MCVideo client has entered a group geographic area; or

ii) "false" when the MCVideo client has exited a group geographic area;

k) a <binding-ind> element set to:

i) "true" when the user wants to create a binding of a particular functional alias with the specified list of MCVideo groups for the MCVideo client; or

ii) "false" when the user wants to remove a binding of a particular functional alias from the specified list of MCVideo groups for the MCVideo client;

l) a <binding-fa-uri> element set to:

i) a URI of a functional alias that shall be bound with the specified list of MCVideo groups for the MCVideo client;

m) a <unbinding-fa-uri> element set to:

i) a URI of a functional alias that shall be unbound from the specified list of MCVideo groups for the MCVideo client;

n) a <call-to-functional-alias-ind> element set to:

i) "true" when the MCVideo client is using a functional alias to identify the MCVideo IDs of the potential target MCVideo users; or

ii) "false" when the MCVideo client is using MCVideo IDs to identify the potential target MCVideo users; and

o) a <user-requested-priority> element set to the non-negative integer value requested by the user as priority.

Absence of the <emergency-ind>, <alert-ind> and <imminentperil-ind> elements in a SIP INVITE request indicates that the MCVideo client is initiating a non-emergency private call or non-emergency group call.

Absence of the <broadcast-ind> element in a SIP INVITE request indicates that the MCVideo client is initiating a non-broadcast group call.

Absence of the <call-to-functional-alias-ind> in a SIP INVITE or a SIP REFER request for a first-to-answer call indicates the use of the MCVideo IDs of the potential target MCVideo users.

The recipient of the XML ignores any unknown element and any unknown attribute.

F.1.4 IANA registration template

Your Name:

<MCC name>

Your Email Address:

<MCC email address>

Media Type Name:

Application

Subtype name:

vnd.3gpp.mcvideo-info+xml

Required parameters:

None

Optional parameters:

"charset" the parameter has identical semantics to the charset parameter of the "application/xml" media type as specified in section 9.1 of IETF RFC 7303.

Encoding considerations:

binary.

Security considerations:

Same as general security considerations for application/xml media type as specified in section 9.1 of IETF RFC 7303. In addition, this media type provides a format for exchanging information in SIP, so the security considerations from IETF RFC 3261 apply.

The information transported in this media type does not include active or executable content.

Mechanisms for privacy and integrity protection of protocol parameters exist. Those mechanisms as well as authentication and further security mechanisms are described in 3GPP TS 24.229.

This media type does not include provisions for directives that institute actions on a recipient’s files or other resources.

This media type does not include provisions for directives that institute actions that, while not directly harmful to the recipient, may result in disclosure of information that either facilitates a subsequent attack or else violates a recipient’s privacy in any way.

This media type does not employ compression.

Interoperability considerations:

Same as general interoperability considerations for application/xml media type as specified in section 9.1 of IETF RFC 7303. Any unknown XML elements and any unknown XML attributes are to be ignored by recipient of the MIME body.

Published specification:

3GPP TS 24.281 "Mission Critical Video (MCVideo) signalling control" version 14.0.0, available via http://www.3gpp.org/specs/numbering.htm.

Applications which use this media type:

Applications supporting the service continuity as described in the published specification.

Fragment identifier considerations:

The handling in section 5 of IETF RFC 7303 applies.

Restrictions on usage:

None

Provisional registration? (standards tree only):

N/A

Additional information:

1. Deprecated alias names for this type: none

2. Magic number(s): none

3. File extension(s): none

4. Macintosh File Type Code(s): none

5. Object Identifier(s) or OID(s): none

Intended usage:

Common

Person to contact for further information:

– Name: <MCC name>

– Email: <MCC email address>

– Author/Change controller:

i) Author: 3GPP CT1 Working Group/3GPP_TSG_CT_WG1@LIST.ETSI.ORG

ii) Change controller: <MCC name>/<MCC email address>