4 General

24.2823GPPMission Critical Data (MCData) signalling controlProtocol specificationRelease 18TS

4.1 MCData overview

The MCData service supports communication between a pair of users (i.e. one-to-one communication) and several users (i.e. group communication), where each user has the ability to:

– share data using Short Data Service (SDS);

– share files using File Distribution (FD) service; and

– exchange Data using IP Connectivity service.

SDS is provided in both, on-network and off-network while FD and IP Connectivity is provided only in on-network in this release of the present document.

The present document provides the signalling control protocol enhancements to support the MCData architectural procedures specified in 3GPP TS 23.282 [2].

For on-network communications, the present document makes use of the existing IMS procedures specified in 3GPP TS 24.229 [5].

The on-network procedures in this document allow an MCData user to:

– send a standalone SDS using signalling control plane;

– send a standalone SDS using media plane;

– initiate a SDS session;

– send a file using HTTP;

– send a file using media plane;

– establish an IP Connectivity session to exchange Data;

– access the MCData message store; and

– use a functional alias to identify the MCData user.

For off-network, the present document utilises the procedures for ProSe direct discovery for Public Safety and the procedures for one-to-one ProSe direct communication for Public Safety and one-to-many ProSe direct communication for Public Safety, as specified in 3GPP TS 24.334 [25], and allows an MCData user to:

– send a standalone SDS using signalling control plane.

ProSe is only supported in EPS.

The MCData procedures provided by the present document refer to:

– the media plane procedures defined in 3GPP TS 24.582 [15];

– the group management procedures defined in 3GPP TS 24.481 [11];

– the identity management procedures defined in 3GPP TS 24.482 [24]; and

– the security procedures defined in 3GPP TS 33.180 [26].

The MCData procedures provided by the present document access the configuration parameters provided by 3GPP TS 24.483 [42] and 3GPP TS 24.484 [12].

The following procedures are provided within this document:

– common procedures are specified in clause 6;

– procedures for registration in the IM CN subsystem and service authorisation are specified in clause 7;

– procedures for affiliation are specified in clause 8;

– procedures for on-network and off-network SDS are specified in clause 9;

– procedures for on-network FD are specified in clause 10;

– procedures for transmission and reception control are specified in clause 11;

– procedures for dispositions and notifications are specified in clause 12;

– procedures for communication release are specified in clause 13;

– procedures for location reporting are specified in clause 17;

– procedure for using MBMS transmission are specified in clause 19;

– procedures for establishing an IP Connectivity session are specified in clause 20;

– procedures for the MCData message store are specified in clause 21; and

– procedures for the use of functional alias are specified in clause 22.

The MCData UE primarily obtains access to the MCData service via E-UTRAN or NG-RAN, using the procedures defined in 3GPP TS 24.301 [43] and 3GPP TS 24.501 [81].

4.2 Identity, URI and address assignments

4.2.1 Public Service identities

In order to support MCData, the following URI and address assignments are assumed:

1) the participating MCData function is configured to be reachable using:

a) the public service identity of the participating MCData function serving the MCData user.

4.2.2 MCData session identity

The MCData session identity is a SIP URI, which identifies the MCData session between:

– the MCData client and the participating MCData function; and

– the participating MCData function and the controlling MCData function.

The MCData session identity shall be a GRUU as defined in IETF RFC 5627 [44] assigned by the MCData server as per 3GPP TS 24.229 [5].

The MCData session identity identifies the MCData session in such a way that e.g.:

– the IM CN subsystem is able to route an initial SIP request to the controlling MCData function.

The controlling MCData function allocates a unique MCData session identity hosted at the controlling MCData function for the MCData session at the time of session establishment.

When protection of sensitive application data is required by the MCData operator, the MCData session identity cannot contain identity information that is classified as sensitive such as the MCData ID or the MCData Group ID, as specified in clause 4.6.

The controlling MCData function sends the MCData session identity towards the MCData client during MCData session establishment by including it in the Contact header field of the final SIP response to a session initiation request.

The participating MCData function allocates a unique MCData session identity hosted at the participating MCData function for the MCData session when it receives a MCData session identity in the Contact header field of a SIP request or a SIP response from the controlling MCData function and includes it in the Contact header field of the SIP request or SIP response sent towards the MCData client. The participating MCData function maintains a mapping of the MCData session identities it sends to the MCData client to the corresponding MCData session identities received from the controlling MCData function.

The MCData client can cache the MCData session identity until a time when it is no longer needed.

4.2.3 MCData client ID

MCData client ID is described in clause 4.8 of the present document.

4.3 Pre-established sessions

When establishing a pre-established session, the MCData client negotiates the media parameters, including establishing IP addresses and ports using interactive connectivity establishment (ICE) as specified in IETF RFC 8445 [77] and IETF RFC 8839 [78] with the participating MCData function, prior to using the pre-established session for establishing MCData communication with other MCData users. The procedures for establishing, modifying and releasing a pre-established session are defined in clause 18.

The pre-established session can later be used in MCData communication. This avoids the need to negotiate media parameters (including evaluating ICE candidates) and reserving bearer resources during the MCData communication establishment that results in delayed MCData communication establishment.

4.4 Emergency Alerts

MCData emergency alerts can be initiated or cancelled as described in the procedures of clause 16 which include:

– MCData emergency alert initiation, on-network;

– MCData emergency alert cancellation, on-network;

– MCData emergency alert initiation, off-network; and

– MCData emergency alert cancellation, off-network.

MCData emergency alerts are initiated to a target MCData group, and, if successful and not already affiliated to that group, will result in the initiator being implicitly affiliated to that MCData group.

Key aspects of MCData emergency alerts include:

MCData emergency alert (MDEA) state: the MCData client maintains the internal MCData emergency alert state (MDEA, see clause G.4.1). The initial setting is "MDEA 1: no-alert".

MCData private emergency alert (MDPEA) state: the MCData client maintains the internal MCData private emergency alert state (MDPEA, see clause G.4.12). The initial setting is "MDPEA 1: no-alert".

– Authorisations for emergency alerts: MCData users need to be authorised to initiate MCData emergency alerts and additionally need to be authorised to cancel MCData emergency alerts initiated by them or by others. The parameters related to these authorisations are specified in 3GPP TS 24.483 [42] and 3GPP TS 24.484 [12].

4.5 MCData Protocol

Clauses 15 describes the TLV based message formats used in MCData communications. Each message consist of a series of information elements. Annex I of 3GPP TS 24.379 [10] describes the standard format of the messages and the encoding rules for each type of information element.

4.6 Protection of sensitive XML application data

In certain deployments, for example, in the case that the MCData operator uses the underlying SIP core infrastructure from the carrier operator, the MCData operator can prevent certain sensitive application data from being visible in the clear to the SIP layer. The following data are classed as sensitive application data:

– MCData ID;

– MCData group ID;

– user location information;

– alert indicator;

– access token (containing the MCData ID);

– MCData client ID; and

– functional alias.

The above data is transported as XML content in SIP messages. in XML elements or XML attributes.

Data is transported in attributes in the following circumstances in the procedures in the present document:

– an MCData ID, an MCData Group ID, and an MCData client ID in an XML document published in SIP PUBLISH request for affiliation according to IETF RFC 3856 [39];

– an MCData ID or an MCData Group ID in XML document notified in a SIP NOTIFY request for affiliation according to IETF RFC 3856 [39];

– an MCData ID in application/resource-lists+xml document included in a SIP MESSAGE or SIP INVITE request for one-to-one SDS or one-to-one FD, according to IETF RFC 5366 [18];

– an MCData ID and functional alias in an XML document published in SIP PUBLISH request for functional alias management according to IETF RFC 3856 [39]; and

– an MCData ID and functional alias in an XML document notified in a SIP NOTIFY request for functional alias management according to IETF RFC 3856 [39].

3GPP TS 33.180 [26] describes a method to provide confidentiality protection of sensitive application data in elements by using XML encryption (i.e. xmlenc) and in attributes by using an attribute confidentiality protection scheme described in clause 6.6.2.3 of the present document. Integrity protection can also be provided by using XML signatures (i.e. xmlsig).

Protection of the data relies on a shared XML protection key (XPK) used to encrypt and sign data:

– between the MCData client and the MCData server, the XPK is a client-server key (CSK); and

– between MCData servers, the XPK is a signalling protection key (SPK).

The CSK (XPK) and a key-id CSK-ID (XPK-ID) are generated from keying material provided by the key management server. Identity based public key encryption based on MIKEY-SAKKE is used to transport the CSK between SIP end-points. The encrypted CSK is transported from the MCData client to the MCData server when the MCData client performs service authorisation as described in clause 7 and is also used during service authorisation to protect the access token.

The SPK (XPK) and a key-id SPK-ID (XPK-ID) are directly provisioned in the MCData servers.

Configuration in the MCData client and MCData server is used to determine whether one or both of confidentiality protection and integrity protection are required.

The following four examples give a brief overview of the how confidentiality and integrity protection is applied to application data in this specification.

EXAMPLE 1: Pseudo code showing how confidentiality protection is represented in the procedures in the document for sensitive data sent by the originating client.

IF configuration is set for confidentiality protection of sensitive data

THEN

Encrypt data element using the CSK (XPK;

Include in an <EncryptedData> element of the XML MIME body:

(1) the encryption method;

(2) the key-id (XPK-ID);

(3) the cipher data;

Encrypt URIs in attribute using the CSK (XPK) by following clause 6.6.2.3;

ELSE

include application data into XML MIME body in clear text;

ENDIF;

EXAMPLE 2: Pseudo code showing how integrity protection is represented in the procedures in the present document for data sent by the originating client.

IF configuration is set for integrity protection of application data

THEN

Use a method to hash the content;

Generate a signature for the hashed content using the CSK (XPK;

Include within a <Signature> XML element of the XML MIME body:

(1) a cannonicalisation method to be applied to the signed information;

(2) the signature method used for generating the signature;

(3) a reference to the content to be signed;

(4) the hashing method used;

(5) the hashed content;

(6) the key-id (XPK-ID);

(7) the signature value;

ENDIF;

EXAMPLE 3: Pseudo code showing how confidentiality protection is represented in the procedures in the present document at the server side when receiving encrypted content.

IF configuration is set for confidentiality protection of sensitive data

THEN

Check that the XML content contains the <EncryptedData> element;

Check that the XML document contains a URI with the domain name for MC Services confidentiality protection;

Return an error if the <EncryptedData> element or domain name for MC Services confidentiality protection are not found;

Otherwise:

(1) obtain the CSK (XPK) using the CSK-ID (XPK-ID) in the received XML body;

(2) for encrypted data in elements, decrypt the data elements using the CSK;

(3) for encrypted URIs in attributes, decrypt the URIs using the CSK;

ENDIF;

EXAMPLE 4: Pseudo code showing how integrity protection is represented in the procedures in the present document at the server side when receiving signed content.

IF configuration is set for integrity protection of application data

THEN

Check that the XML content contains the <Signature> element;

Return an error if the <Signature> element is not found;

Otherwise:

(1) obtain the CSK (XPK) using the CSK-ID (XPK-ID) in the received XML body;

(2) verify the signature of the content using the CSK;

Return an error if the validation of the signature fails;

IF validation of the signature passes

THEN

decrypt any data found in <EncryptedData> elements;

decrypt any encrypted URIs found in attributes;

ENDIF;

ENDIF;

The content can be re-encrypted and signed again using the SPK between MCData servers.

The following examples show the difference between normal and encrypted data content. In this example consider the MCData client initiating a group standalone SDS message using the signalling control plane.

EXAMPLE 5: <mcdata-info> MIME body represented with data elements in the clear:

Content-Type: application/vnd.3gpp.mcdata-info+xml

<?xml version="1.0"?>

<mcdata-info>

<mcdata-Params>

<request-type>group-sds</request-type>

<mcdata-request-uri type="Normal">

<mcdataURI>sip:group123@mcdataoperator1.com></mcdataURI>

</mcdata-request-uri>

</mcdata-Params>

</mcdata-info>

EXAMPLE 6: <mcdata-info> MIME body represented with the <mcdata-request-uri> encrypted:

Content-Type: application/vnd.3gpp.mcdata-info+xml

<?xml version="1.0"?>

<mcdata-info>

<mcdata-Params>

<request-type>group-sds</request-type>

<mcdata-request-uri type="Encrypted">

<EncryptedData xmlns=’http://www.w3.org/2001/04/xmlenc#’

Type=’http://www.w3.org/2001/04/xmlenc#Content’>

<EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes128-gcm"/>

<ds:KeyInfo>

<ds:KeyName>base64XpkId</KeyName>

</ds:KeyInfo>

<CipherData>

<CipherValue>A23B45C5657689090</CipherValue>

</CipherData>

</EncryptedData>

</mcdata-request-uri>

</mcdata-Params>

</mcdata-info>

EXAMPLE 7: pidf+xml MIME body represented with clear URIs in attributes:

Content-Type: application/pidf+xml

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

<presence entity="sip:somebody@mcdata.org">

<tuple id="acD4rhU87bK">

<status>

<affiliation group="sip:thegroup@mcdata.org"/>

</status>

</tuple>

</presence>

EXAMPLE 8: pidf+xml MIME body represented with encrypted URIs in attributes:

Content-Type: application/pidf+xml

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

<presence entity="sip:c4Hrt45XG8IohRFT67vfdr3V;iv=45RtfVgHY23k8Ihy;xpk-id=b7UJv9;alg=128-aes-gcm@mc1-encryption.3gppnetwork.org">

<tuple id="acD4rhU87bK">

<status>

<affiliation group="sip:98yudFG45tx_89TYGedb4ujF ;iv=FGD567kjhfH7d4-D;key-id=eV9kl7;alg=128-aes-gcm@mc1-encryption.3gppnetwork.org"/>

</status>

</tuple>

</presence>

4.7 Protection of TLV signalling and media content

The protection of TLV signalling and media content is based on 3GPP MCData security solution as defined in 3GPP TS 33.180 [26].

For different security requirements of different information elements of a MCData message, the information elements of MCData messages are bifurcated in the following components:

MCData Data signalling payload: information elements necessary for identification and management of the MCData messages e.g. conversation identifiers, session identifiers, transaction identifiers, disposition requests, etc. This payload is confidentiality and integrity protected between the MCData Client and the MCData server.

MCData Data payload: the actual user payload for MCData user or application consumption. This payload is end-to-end confidentiality and integrity protected.

An SDS message can be sent over both, signalling plane and media plane. When an SDS message is sent using signalling plane, the body included in the SIP MESSAGE request, which carries MCData Data signalling payload, is protected between each entity separately if protection is applied. On the other hand the body included in the SIP MESSAGE request which carries the MCData Data payload is end-to-end protected. The procedures for the protection of the SDS messages over the signalling plane are specified in this document. Protection of SDS message over media control plane is specified in 3GPP TS 24.582 [15].

For FD using HTTP and FD using media plane, the MCData Data signalling payload sent over the signalling plane is protected between each entity separately if protection is applied. The procedure for the protection of the file is specified in 3GPP TS 24.582 [15].

The ciphering algorithm indicated in the Key Download procedure by the MCData server shall be used to protect the MCData signalling fields (i.e. MCData signaling parameters, Data signaling payload and end-to-end security parameters).

4.7A Signalling security when using MBMS

Signalling security is established between the participating MCData function and the MCData client.

The protection of MBMS subchannel control messages on the general purpose MBMS subchannels can be done with MSCCKs (each identified by a corresponding MSCCK-ID), distributed during MBMS bearer announcement (see clause 19.2.2). Each general purpose MBMS subchannel is associated with an MSCCK and a corresponding MSCCK‑ID. There can be multiple general purpose MBMS subchannels deployed, each associated with its own MSCCK and corresponding MSCCK-ID. The (MSCCK-ID, MSCCK) pair is provided for each general purpose MBMS subchannel separately.

According to 3GPP TS 33.180 [26] clause 8.2, the MCData Payload Protection Key (DPPK) referenced in clause 6.6 is a Multicast Signalling Keys (MuSiK), (identified by a corresponding (MuSiK-ID)), distributed via MuSiK download messages. The MSCCK and MuSiKs can be distributed independently of each other and in any order and can also be used independently. Signalling supports initial keying, as well as repeated re-keying and un-keying for both MSCCK and MuSiKs.

The MuSiK download message contains an embedded MIME payload which is the MIKEY payload containing the MuSiK and MuSiK-ID, as well as an embedded XML payload potentially containing an explicit list of MCData group ids to which the key applies. Both payloads are protected as described in 3GPP TS 33.180 [26], as they are transferred between the participating MCData function and the MCData client. Within the XML payload, the list of MCData group ids is protected as application sensitive data (see clause 4.8). Within the MIKEY payload, the MuSiK is encrypted using the MCData ID of the served MCData client. The payload is signed using a key associated to the identity of the participating MCData function.

To distribute MuSiK, the participating MCData function uses the I_MESSAGE format from clause 5.2.4 of 3GPP TS 33.180 [26], which includes associated parameters. The participating function sets the Status associated parameter to values defined in clause E.6.9 of 3GPP TS 33.180 [26], namely "Not-revoked" when keying or rekeying and "Revoked" when unkeying, respectively. Upon receipt, the MCData client validates the signature and, if valid, the MCData client first examines the Status attribute and either marks the associated security functions as "not in use" or stores the MuSiK and the MuSiK-ID, and then replies with a success code; otherwise, the MCData client can reply with a failure code. If a success code is not received from the MCData client in response to the MuSiK download message, the participating MCData function starts using only unicast towards the respective MCData client for the listed groups.

The security context is initiated when the MBMS bearer is announced to the MCData clients. The procedure involves the participating MCData function creating an MBMS subchannel control key (MSCCK) and a corresponding key identifier (MSCCK-ID) associated with the MBMS bearer when the MBMS bearer is activated, and then transferring the MSCCK and the MSCCK-ID associated with the MBMS bearer to served MCData clients using SIP signalling. The MSCCK is encrypted using the MCData ID of the served MCData client and domain-specific material provided from the KMS.

The MSCCK and the MSCCK-ID associated with the MBMS bearer are distributed within a MIKEY payload within the SDP describing the general purpose MBMS subchannel of the MBMS bearer. This payload is called a MIKEY-SAKKE I_MESSAGE, as defined in IETF RFC 6509 [55], which ensures the confidentiality, integrity and authenticity of the payload. The encoding of the MIKEY payload in the SDP is described in IETF RFC 4567 [45] using an "a=key-mgmt" attribute. The payload is signed using a key associated to the identity of the participating MCData function. To distribute MSCCK, the participating MCData function uses the I_MESSAGE format from clause 5.2.4 of 3GPP TS 33.180 [26], which includes associated parameters.

The participating function sets the Status associated parameter to values defined in clause E.6.9 of 3GPP TS 33.180 [26], namely "Not-revoked" when keying or rekeying and "Revoked" when unkeying, respectively. Upon receipt, the MCData client validates the signature and, if the signature is found valid and the I_MESSAGE contains a Status attribute, the MCData client first examines the Status attribute and either marks the associated security functions as "not in use" or extracts and stores the encapsulated MSCCK and the corresponding MSCCK-ID. The decrypted key is used as described in 3GPP TS 33.180 [26]. With the MSCCK successfully shared between the participating MCData function and the served UEs, the participating MCData function is able to securely send MBMS subchannel control messages to the MCData clients.

4.8 MCData client ID

The MCData client assigns the MCData client ID when the MCData client is used for the first time. The MCData client generates the MCData client ID as specified in clause 4.2 of IETF RFC 4122 [14].

The MCData client preserves the MCData client ID:

– while the MCData client is SIP registered as specified in 3GPP TS 24.229 [5];

– while the MCData client is not SIP registered as specified in 3GPP TS 24.229 [5] and the UE serving the MCData client is switched on;

– while the UE serving the MCData client is switched off; and

– while the UE serving the MCData client is power-cycled.

NOTE: MCData client ID is not preserved when the UE is reset to factory settings.

4.9 Warning Header Field

4.9.1 General

The MCData server can include a free text string in a SIP response to a SIP request. When the MCData server includes a text string in a response to a SIP MESSAGE or SIP INVITE request the text string is included in a Warning header field as specified in IETF RFC 3261 [4]. The MCData server includes the Warning code set to 399 (miscellaneous warning) and includes the host name set to the host name of the MCData server.

EXAMPLE: Warning: 399 "200 user not authorised to transmit data"

4.9.2 Warning texts

The text string included in a Warning header field consists of an explanatory text preceded by a 3-digit text code, according to the following format in Table 4.9.2-1.

Table 4.9.2-1 ABNF for the Warning text

warn-text =/ DQUOTE mcdata-warn-code SP mcdata-warn-text DQUOTE

mcdata-warn-code = DIGIT DIGIT DIGIT

mcdata-warn-text = *( qdtext | quoted-pair )

Table 4.9.2-2 defines the warning texts that are defined for the Warning header field when a Warning header field is included in a response to a SIP request as specified in clause 4.9.1.

Table 4.9.2-2: Warning texts defined for the Warning header field

Code

Explanatory text

Description

101

service authorisation failed

The service authorisation of the MCData ID against the IMPU failed at the MCData server.

102

too many simultaneous affiliations

The MCData user already has N2 maximum number of simultaneous affiliations.

104

isfocus not assigned

A controlling MCData function has not been assigned to the MCData session.

110

user declined the call invitation

The MCData user declined to accept the call for the file distribuition.

113

group document does not exist

The group document requested from the group management server does not exist.

114

unable to retrieve group document

The group document exists on the group management server but the MCData server was unable to retrieve it.

115

group is disabled

The group has the <disabled> element set to "true" in the group management server.

116

user is not part of the MCData group

The group exists on the group management server, but the requesting user is not part of this group.

120

user is not affiliated to this group

The MCData user is not affiliated to the group.

136

authentication of the MIKEY-SAKKE I_MESSAGE failed

Security context establishment failed.

139

integrity protection check failed

The integrity protection of an XML MIME body failed.

140

unable to decrypt XML content

The XML content cannot be decrypted.

141

user unknown to the participating function

The participating function is unable to associate the public user identity with an MCData ID.

142

unable to determine the controlling function

The participating function is unable to determine the controlling function for the group call or private call.

145

unable to determine called party

The participating function was unable to determine the called party from the information received in the SIP request.

148

group is regrouped

The group hosted by a non-controlling function is part of a temporary group session as the result of the group regroup function.

149

SIP-INFO request pending

The MCData client needs to wait for a SIP-INFO request with specific content, before taking further action.

150

invalid combinations of data received in MIME body

The MCData client included invalid combinations of data in the SIP request.

160

user not authorised to request creation of a regroup

The user is not authorised to request creation of a regroup.

161

user not authorised to request removal of a regroup

The user is not authorised to request removal of a regroup.

162

group call abandoned due to required group members not affiliated

The group call was abandoned as the required number of affiliated group members is not met or some required members are not affiliated.

163

the group identity indicated in the request does not exist

The server determines that the group identity indicates a user or group regroup based on a preconfigured group that does not exist.

165

group ID for regroup already in use

The group ID proposed by the client for the user/group regroup based on a preconfigured group is already in use.

167

call is not allowed on the preconfigured group

Calls are not allowed on this group that is administratively designated for preconfigured group use only.

168

alert is not allowed on the preconfigured group

Alerts are not allowed on this group that is administratively designated for preconfigured group use only.

176

user not authorized to request for binding/unbinding of a functional alias with the MCData group(s) for the MCData user

The function is not allowed to this user.

177

unable to determine target functional alias or group for creating/removing a binding information for the MCData user

The MCData server is unable to determine the targeted functional alias or group for creating/removing an binding information for the MCData user

178

MCData group binding already exists with other functional alias for the MCData user

The requested functional alias binding with MCData group already exist with other functional alias for the MCData user

179

service not authorized with the interconnected system

The MCData service is not authorized between the local and the interconnected system and is rejected in the local system

180

service not authorized by the interconnected system

The MCData service is not authorized between the local and the interconnected system and is rejected by the interconnected system

198

no users are affiliated to this group

No users in the group are affiliated.

199

expected MIME bodies not in the request"

The expected MIME bodies were not received in the SIP request.

200

user not authorised to transmit data

The MCData user is not authorised to transmit data.

201

user not authorised to transmit data on this group identity

The MCData user is not authorised to transmit data on the group identity included in the request.

202

user not authorised for one-to-one MCData communications due to exceeding the maximum amount of data that can be sent in a single request

The MCData user is not authorised for one-to-one MCData communications due to exceeding the maximum amount of data that can be sent in a single request

203

message too large to send over signalling control plane

The MCData client sent data that is greater than the size that can be handled by the signalling control plane.

204

unable to determine targeted user for one-to-one SDS

The MCData server is unable to determine the targeted user for one-to-one SDS.

205

unable to determine targeted user for one-to-one FD

The MCData server is unable to determine the targeted user for one-to-one FD.

206

short data service not allowed for this group

SDS is not allowed on the group indicated in the SDS request.

207

SDS services not supported for this group

SDS services not supported for this group

208

user not authorised for MCData communications on this group identity due to exceeding the maximum amount of data that can be sent in a single request

The MCData user is not authorised for group MCData communications due to exceeding the maximum amount of data that can be sent in a single request.

209

one FD SIGNALLING PAYLOAD or FD HTTP TERMINATION message only must be present in FD request

Only one FD SIGNALLING PAYLOAD or FD HTTP TERMINATION message must be present in FD request

210

Only one File URL must be present in the FD request

Only one File URL must be present in the FD request.

211

payload for an FD request is not FILEURL

The payload in the FD request did not contain a FILEURL

212

file referenced by file URL does not exist

The MCData server was unable to locate the file referenced by the file URL.

213

file distribution not allowed for this group

FD is not allowed on the group indicated in the FD request.

214

FD services not supported for this group

FD services not supported for this group

215

request to transmit is queued by the server

The MCData request was queued by the server for later transmission.

216

unable to correlate the disposition notification

The MCData server was unable to correlate the disposition notification to a MCData message.

217

user not authorised for SDS communications on this group identity due to message size

The size of the message exceeded the maximum data allowed for SDS communications on this group identity

218

user not authorised for one-to-one SDS communications due to message size

The size of the message exceeded the maximum data allowed for one-to-one SDS communications.

219

user not authorised for FD communications on this group identity due to file size

The size of the file exceeded the maximum data allowed for FD communications on this group identity

220

user not authorised for FD communications due to file size

The size of the file exceeded the maximum data allowed for one-to-one FD communications.

221

user not authorised to initiate one-to-one SDS session

The MCData user is not authorised to initiate a one-to-one SDS session.

222

user not authorised to initiate group SDS session on this group identity

The MCData user is not authorised to initiate a SDS session on the group identity included in the request.

223

No Conversation ID or Message ID present

Conversation ID and Message ID required to identify transmission

224

No Transmission available

No transmission identified with given Conversation ID, Message Id and file URL

225

User not authorized to initiate pre-established session

The MCData user is not authorised to initiate a pre-established MCData session.

226

function not allowed due to pre-established session not supported

Pre-established session is not supported by MCData participating function

227

unable to determine targeted user for one-to-one IP Connectivity

The MCData server is unable to determine the targeted user for one-to-one IP Connectivity.

228

maximum number of service authorizations reached

The number of maximum simultaneous service authorizations for the MCData user has been reached.

229

one-to-one MCData communication not authorised to the targeted user

The user is not authorised to initiate one-to-one MCData communication to this targeted user.

230

one-to-one MCData communication not authorised from this originating user

The user is not authorised to receive one-to-one MCData communication from this originating user.

231

user deferred the call invitation

The MCData user deferred the call invitation for the file distribuition.

232

communication is stored for later delivery

The participating MCData function stores the communication for later delivery if the receiving MCData user is not available at the time of data delivery or the network is congested, or the request is deferred by the MCData user. If the communication is for file distribution then the file content is also stored.

233

user not authorised to initiate emergency communication

The user is not authorised to initiate emergency MCData communication.

234

user not authorized to enable or disable the storage of MCData communications into the MCData message store

The function is not allowed to this user.

235

unable to determine target user or group for enabling or disabling the storage of MCData communications into the MCData message store

The MCData server is unable to determine the targeted user or group for enabling or disabling the storage of MCData communications

4.10 MCData emergency groups and emergency group communications

MCData emergency groups and emergency group communications as defined by 3GPP TS 23.282 [2] are supported by the procedures in this specification. There are a number of state variables used to manage MCData emergencies, including:

MCData emergency (MED) state: in accordance with 3GPP TS 23.282 [2], indicates (see clause G.4.2) that the MCData user is in a life-threatening situation. This MCData client state variable is changed via action by the MCData user of the device or by an authorised MCData user. While the MCData emergency state is set on the client, all communications originated by the client will be MCData emergency communications, assuming the MCData user is authorised for MCData emergency communications.

in-progress emergency group (IPEG) state: in accordance with 3GPP TS 23.282 [2], this state variable (see clause G.4.3) indicates whether or not there is an MCData emergency group communication ongoing on the specified group. This state is managed by the controlling MCData function. All group communications originated on this MCData group when in an in-progress emergency state are MCData emergency group communications until this state is cancelled, regardless of the originator being (or not) in an MCData emergency state.

MCData emergency group (MDEG) state: this is an internal state (see clause G.4.4) managed by the MCData client which tracks the in-progress emergency state of the group (see 3GPP TS 23.282 [2]) managed by the controlling MCData function. Ideally, the MCData client would not need to track the in-progress emergency group state, but doing so enables the MCData client to request MCData emergency-level priority earlier than otherwise possible. For example, if the MCData user wishes to join an MCData emergency group communication and is not in MCData emergency state itself, the MCData client should have emergency level priority. If it has knowledge of the in-progress emergency state of the group, it can request priority by including a Resource-Priority header field set to the MCPTT namespace specified in IETF RFC 8101 [67], and appropriate priority level in the SIP INVITE request (or SIP re-INVITE request).

MCData emergency group communication (MDEGC) state: this is an internal state (see clause G.4.5) corresponding to an ongoing group communication. The state is managed by the MCData client, which in conjunction with the MCData emergency alert state (see clause 4.4), aids in managing the MCData emergency state and related actions.

4.11 MCData imminent peril group communications

MCData imminent peril group communications as defined by 3GPP TS 23.282 [2] are supported by the procedures in this specification. The following MCData imminent peril group communications functionalities are specified in the present document:

– MCData imminent peril group communications origination;

– upgrade of an MCData group communication to an MCData imminent peril group communication;

– upgrade from an MCData imminent peril group communication to an MCData emergency group communication; and

– cancellation of the in-progress imminent peril state of the group.

Key aspects of MCData imminent peril include:

– adjusted EPS bearer priority for all participants when the in-progress imminent peril state of the group is set whether or not they themselves initiated an imminent peril group communication. For unicast bearers this is achieved by using the Resource-Priority header field as specified in IETF RFC 4412 [74] with namespaces defined for use by MCPTT specified in IETF RFC 8101 [67], and for MBMS bearers this is achieved by having the participating MCData function adjust the ARP (priority, PVI, PCI) and executing the Modify MBMS Bearer Procedure per 3GPP TS 29.468 [57];

– restoration of normal EPS bearer priority to the communication when the in-progress imminent peril group state is cancelled; and

– requires the MCData user to be authorised to either originate or cancel an MCData imminent peril group communication.

Relationship to other MCData priority group communication types:

– A normal MCData group communication can be upgraded to an MCData imminent peril group communication;

– An MCData imminent peril group communication can be upgraded to an MCData emergency group communication;

– An MCData imminent peril group communication or an MCData emergency group communication (i.e., their respective "in-progress" states) can be downgraded to a normal MCData group communication, but it is not possible to directly downgrade an MCData emergency group communication to an MCData imminent peril group communication;

– MCData imminent peril functionality is only applicable to MCData group communications, not MCData private communications; and

– MCData imminent peril group communications have no associated alert capabilities such as the MCData emergency alert capability which is associated with MCData emergency group communications.

There are a number of states that are key in managing these aspects of MCData imminent peril group communications, which include:

MCData imminent peril group (MDIG) state: this is an internal state of the MCData client which in conjunction with the MCData imminent peril group communication state aids the client in managing the use of the Resource-Priority header field and related actions.

MCData imminent peril group communication (MIGC) state: this is an internal state managed by the MCData client which in conjunction with the MCData imminent peril group state aids the client in managing the use of the Resource-Priority header field and related actions.

In-progress imminent peril group (IPIG) state: this a state of the MCData group which is managed by the controlling MCData function. While an MCData group is in an in-progress imminent peril group state, all participants in group communications using this group will receive elevated priority.

The above states and their transitions are described in Annex G.

4.12 MCData emergency private communications

MCData emergency private communications refer to emergency one‑to‑one communications. The following MCData emergency private communication functionalities are specified in the present document:

– MCData emergency private communication origination with optional MCData emergency alert initiation;

– upgrade of an MCData private communication to an MCData emergency private; and

– cancellation of the MCData emergency private communication priority.

Key aspects of MCData emergency private communications include:

– adjusted EPS bearer priority for both participants whether or not they are both in an emergency condition (i.e. both have their MCData emergency state set). This is achieved by using the Resource-Priority header field as specified in IETF RFC 4412 [74] with namespaces defined for use by MCPTT specified in IETF RFC 8101 [67];

– the initiator of the MCData emergency private communication can override the other MCData user in the MCData emergency private communication unless that user also has their MCData emergency state set;

– restoration of normal EPS bearer priority to the communication according to system policy (e.g., configured time limit for the emergency priority of an MCData emergency private communication or cancellation of the emergency condition of the private communication);

– requires the MCData user to be authorised to either originate or cancel an MCData emergency private communication;

– requires the targeted MCData user to be authorised to receive an MCData emergency private communication;

– requests to originate MCData emergency private communications may also include an indication of an MCData emergency alert; and

There are a number of states that are key in managing these aspects of MCData emergency private communications, which include:

MCData private emergency alert (MDPEA) state: this is an internal state of the MCData client which in conjunction with the MCData emergency private communication state aids in managing the MCData emergency state and related actions.

MCData emergency private communication (MDEPC) state: this is an internal state managed by the MCData client which in conjunction with the MCData emergency alert state aids in managing the MCData emergency state and related actions.

In-progress emergency private communication (IPEPC) state: indicates whether or not there is an MCData emergency private communication in-progress for the two participants. This state is managed by the controlling MCData function. All private communications originated between these two participants when in an in-progress emergency private communication state are MCData emergency private communications until this state is cancelled, whether or not the originator is in an MCData emergency state.

MCData emergency private priority (MDEPP) state: this is an internal state managed by the MCData client which tracks the in-progress emergency private communication state of the private communication managed by the controlling MCData function. Ideally, the MCData client would not need to track the in-progress emergency private priority state, but doing so enables the MCData client to request MCData emergency-level priority earlier than otherwise possible. For example, if the MCData user wishes to join an MCData emergency private communication and is not in the MCData emergency state, the MCData client should have emergency level priority. If it has knowledge of the in-progress emergency private priority state of the private communication (i.e., the two participants), it can request priority by including a Resource-Priority header field set to the MCPTT namespace specified in IETF RFC 8101 [67], and appropriate priority level in the SIP INVITE request (or SIP re-INVITE request).

NOTE: The above states and their transitions are described in Annex G.