6.1.8 On-network / Short Data Service (SDS) / Standalone SDS Using Media Plane / Group Standalone SDS / Client Terminated (CT)

36.579-73GPPMission Critical (MC) services over LTEPart 7: Mission Critical Data (MCData) User Equipment (UE) Protocol conformance specificationRelease 15TS

6.1.8.1 Test Purpose (TP)

(1)

with { UE (MCDATA Client) registered and authorised for MCDATA Service }

ensure that {

when { the MCDATA User receives a SIP INVITE to initiate a standalone group SDS message using the media plane }

then { UE (MCDATA Client) responds by sending a SIP 200 (OK) message }

}

(2)

with { UE (MCDATA Client) having responded to the SIP INVITE message that initiated a standalone group SDS message using the media plane }

ensure that {

when { UE (MCDATA Client) receives an MSRP SEND message }

then { UE (MCDATA Client) responds with an MSRP 200 (OK) message and if the MSRP SEND message is not blank, renders the contents of the Payload IE to the MCDATA User and sends a SIP MESSAGE message with a disposition notification of "DELIVERED" }

}

(3)

with { UE (MCDATA Client) having responded to the MSRP SEND message from the SS (MCDATA server) }

ensure that {

when { UE (MCDATA Client) receives a SIP BYE message to release communications }

then { UE (MCDATA Client) sends a SIP 200 (OK) message }

}

6.1.8.2 Conformance requirements

References: The conformance requirements covered in the current TC are specified in: TS 24.282, clauses 9.2.3.2.4, 9.2.3.2.2, 13.2.2.2.2.2, 9.2.1.3, 12.2.1.1, 6.2.4.1, 6.2.3.1, TS 24.582 clauses 6.1.1.3.1, 6.1.1.3.2. The following represents a copy/paste extraction of the requirements relevant to the test purpose; any references within the copy/paste text should be understood within the scope of the core spec they have been copied from. Unless otherwise stated, these are Rel-14 requirements.

[TS 24.282, clause 9.2.3.2.4]

Upon receipt of an initial SIP INVITE request, the MCData client shall follow the procedures for termination of multimedia sessions in the IM CN subsystem as specified in 3GPP TS 24.229 [5] with the clarifications below.

The MCData client:

1) may reject the SIP INVITE request if either of the following conditions are met:

a) MCData client does not have enough resources to handle the call; or

b) any other reason outside the scope of this specification;

and skip the rest of the steps after step 2;

2) if the SIP INVITE request is rejected in step 1), shall respond toward participating MCData function either with appropriate reject code as specified in 3GPP TS 24.229 [5] and warning texts as specified in subclause 4.9 or with SIP 480 (Temporarily unavailable) response not including warning texts if the user is authorised to restrict the reason for failure and skip the rest of the steps of this subclause;

3) if the SDP offer of the SIP INVITE request contains an "a=key-mgmt" attribute field with a "mikey" attribute value containing a MIKEY-SAKKE I_MESSAGE:

a) shall extract the MCData ID of the originating MCData user from the initiator field (IDRi) of the I_MESSAGE as described in 3GPP TS 33.180 [26];

b) shall convert the MCData ID to a UID as described in 3GPP TS 33.180 [26];

c) shall use the UID to validate the signature of the MIKEY-SAKKE I_MESSAGE as described in 3GPP TS 33.180 [26];

d) if authentication verification of the MIKEY-SAKKE I_MESSAGE fails, shall reject the SIP INVITE request with a SIP 488 (Not Acceptable Here) response as specified in IETF RFC 4567 [45], and include warning text set to "136 authentication of the MIKEY-SAKKE I_MESSAGE failed" in a Warning header field as specified in subclause 4.9 and not continue with rest of the steps in this subclause; and

e) if the signature of the MIKEY-SAKKE I_MESSAGE was successfully validated:

i) shall extract and decrypt the encapsulated PCK using the terminating user’s (KMS provisioned) UID key as described in 3GPP TS 33.180 [26]; and

ii) shall extract the PCK-ID, from the payload as specified in 3GPP TS 33.180 [26];

NOTE: With the PCK successfully shared between the originating MCData client and the terminating MCData client, both clients are able to create an end-to-end secure session.

3) may display to the MCData user the MCData ID of the inviting MCData user and the type of SDS request;

4) shall accept the SIP INVITE request and generate a SIP 200 (OK) response according to rules and procedures of 3GPP TS 24.229 [5];

5) shall include the option tag "timer" in a Require header field of the SIP 200 (OK) response;

6) shall include the Session-Expires header field in the SIP 200 (OK) response and start the SIP session timer according to IETF RFC 4028 [38]. The "refresher" parameter in the Session-Expires header field shall be set to "uas";

7) shall include the g.3gpp.mcdata.sds media feature tag in the Contact header field of the SIP 200 (OK) response;

8) shall include the g.3gpp.icsi-ref media feature tag containing the value of "urn:urn-7:3gpp-service.ims.icsi.mcdata.sds" in the Contact header field of the SIP 200 (OK) response;

9) shall include an SDP answer in the SIP 200 (OK) response to the SDP offer in the incoming SIP INVITE request according to 3GPP TS 24.229 [5] with the clarifications given in subclause 9.2.3.2.2; and

10) shall send the SIP 200 (OK) response towards the MCData server according to rules and procedures of 3GPP TS 24.229 [5].

On receipt of an SIP ACK message to the sent SIP 200 (OK) message, the MCData client shall:

1) shall interact with the media plane as specified in 3GPP TS 24.582 [15] subclause 6.1.1.3.

[TS 24.282, clause 9.2.3.2.2]

When the MCData client receives an initial SDP offer for an MCData standalone SDS, the MCData client shall process the SDP offer and shall compose an SDP answer according to 3GPP TS 24.229 [5] and IETF RFC 4975 [17].

When composing an SDP answer, the MCData client:

1) shall include an "m=message" media-level section for the accepted MCData media stream consisting of:

a) the port number;

b) a protocol field value of "TCP/MSRP", or "TCP/TLS/MSRP" for TLS according to the received SDP offer;

c) a format list field set to ‘*’;

d) an "a=recvonly" attribute;

e) an "a=path" attribute containing its own MSRP URI;

f) set the content type as a=accept-types: application/vnd.3gpp.mcdata-signalling application/vnd.3gpp.mcdata-payload; and

g) set the a=setup attribute according to IETF RFC 6135 [19].

[TS 24.282, clause 13.2.2.2.2.2]

Upon receiving a SIP BYE request, the MCData client:

1) shall send SIP 200 (OK) response towards MCData server according to 3GPP TS 24.229 [5]; and

2) shall release all media plane resources corresponding to the MCData communication being released.

NOTE: Partially received data can be stored and processed.

[TS 24.282, clause 9.2.1.3]

To handle the disposition requests, the MCData client:

1) If the SDS disposition request type IE is set to:

a) "DELIVERY" then, shall send a delivered notification as described in subclause 12.2.1.1;

b) "READ", shall send a read notification as described in subclause 12.2.1.1, when a display indication is received; or

c) "DELIVERY AND READ" then, shall start timer TDU1 (delivery and read).

Upon receiving a display indication before timer TDU1 (delivery and read) expires, the MCData client:

1) shall stop timer TDU1 (delivery and read); and

2) shall send a delivered and read notification as described in subclause 12.2.1.1.

Upon expiry of timer TDU1 (delivery and read), the MCData client:

1) shall send a delivered notification as described in subclause 12.2.1.1; and

2) upon receiving a display indication, send a read notification as described in subclause 12.2.1.1.

[TS 24.282, clause 12.2.1.1]

The MCData client shall follow the procedures in this subclause to:

– indicate to an MCData client that an SDS message was delivered, read or delivered and read when the originating client requested a delivery, read or delivery and read report;

– indicate to the participating MCData function serving the MCData user that an SDS message was undelivered. The participating MCData function can store the message for later re-delivery;

– indicate to an MCData client that a request for FD was accepted, deferred or rejected; or

– indicate to an MCData client that a file download has been completed;

Before sending a disposition notification the MCData client needs to determine:

– the controlling MCData function that sent the SDS or FD message request. The MCData client determines the controlling MCData function from the contents of the <mcdata-controller-psi> element contained in the application/vnd.3gpp.mcdata-info+xml MIME body of the incoming SDS or FD message request;

– the group identity related to an SDS or FD message request received as part of a group communication. The MCData client determines the group identity from the contents of the <mcdata-calling-group-id> element contained in the application/vnd.3gpp.mcdata-info+xml MIME body of the incoming SDS or FD message request; and

– the MCData user targeted for the disposition notification. The MCData client determines the targeted MCData user from the contents of the <mcdata-calling-user-id> element contained in the application/vnd.3gpp.mcdata-info+xml MIME body of the incoming SDS or FD message request.

The MCData client shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [5] and IETF RFC 3428 [6] with the clarifications given below.

The MCData client:

1) shall build the SIP MESSAGE request as specified in subclause 6.2.4.1;

2) shall follow the rules specified in subclause 6.4 for the handling of MIME bodies in a SIP message when processing the remaining steps in this subclause;

3) shall insert in the SIP MESSAGE request an application/resource-lists+xml MIME body containing the MCData ID of the targeted MCData user, according to rules and procedures of IETF RFC 5366 [18];

4) shall insert in the SIP MESSAGE request an application/vnd.3gpp.mcdata-info+xml MIME body with an <mcdata-controller-psi> element containing the PSI of the controlling MCData function;

5) if sending a disposition notification in response to an MCData group data request, shall include an <mcdata-calling-group-id> element set to the MCData group identity in the application/vnd.3gpp.mcdata-info+xml MIME body;

6) if requiring to send an SDS notification, shall generate an SDS NOTIFICATION message and include it in the SIP MESSAGE request as specified in subclause 6.2.3.1;

7) if requiring to send an FD notification, shall generate an FD NOTIFICATION message and include it in the SIP MESSAGE request as specified in subclause 6.2.3.2; and

8) shall send the SIP MESSAGE request according to rules and procedures of 3GPP TS 24.229 [5].

[TS 24.282, clause 6.2.4.1]

This subclause is referenced from other procedures.

In a SIP MESSAGE request, the MCData client:

1) when sending SDS messages or SDS disposition notifications:

a) shall include an Accept-Contact header field containing the g.3gpp.mcdata.sds media feature tag along with the "require" and "explicit" header field parameters according to IETF RFC 3841 [8];

b) shall include an Accept-Contact header field with the media feature tag g.3gpp.icsi-ref containing the value of "urn:urn-7:3gpp-service.ims.icsi.mcdata.sds" along with the "require" and "explicit" header field parameters according to IETF RFC 3841 [8]; and

c) shall include the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcdata.sds" (coded as specified in 3GPP TS 24.229 [5]), in a P-Preferred-Service header field according to IETF RFC 6050 [7] in the SIP MESSAGE request;

2) when sending FD messages, FD disposition notifications or FD media storage function discovery messages:

a) shall include an Accept-Contact header field containing the g.3gpp.mcdata.fd media feature tag along with the "require" and "explicit" header field parameters according to IETF RFC 3841 [8];

b) shall include an Accept-Contact header field with the media feature tag g.3gpp.icsi-ref containing the value of "urn:urn-7:3gpp-service.ims.icsi.mcdata.fd" along with the "require" and "explicit" header field parameters according to IETF RFC 3841 [8]; and

c) shall include the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcdata.fd" (coded as specified in 3GPP TS 24.229 [5]), in a P-Preferred-Service header field according to IETF RFC 6050 [7] in the SIP MESSAGE request;

3) may include a P-Preferred-Identity header field in the SIP MESSAGE request containing a public user identity as specified in 3GPP TS 24.229 [5]; and

4) shall set the Request-URI to the public service identity identifying the participating MCData function serving the MCData user.

[TS 24.282, clause 6.2.3.1]

In order to generate an SDS notification, the MCData client:

1) shall generate an SDS NOTIFICATION message as specified in subclause 15.1.5; and

2) shall include in the SIP request, the SDS NOTIFICATION message in an application/vnd.3gpp.mcdata-signalling MIME body as specified in subclause E.1.

When generating an SDS NOTIFICATION message as specified in subclause 15.1.5, the MCData client:

1) if sending a delivered notification, shall set the SDS disposition notification type IE as "DELIVERED" as specified in subclause 15.2.5;

2) if sending a read notification, shall set the SDS disposition notification type IE as "READ" as specified in subclause 15.2.5;

3) if sending a delivered and read notification, shall set the SDS disposition notification type IE as "DELIVERED AND READ" as specified in subclause 15.2.5;

4) if the SDS message could not be delivered to the user or application (e.g. due to lack of storage), shall set the SDS disposition notification type IE as "UNDELIVERED" as specified in subclause 15.2.5;

5) shall set the Date and time IE to the current time to as specified in subclause 15.2.8;

6) shall set the Conversation ID to the value of the Conversation ID that was received in the SDS message as specified in subclause 15.2.9;

7) shall set the Message ID to the value of the Message ID that was received in the SDS message as specified in subclause 15.2.10;

8) if the SDS message was destined for the user, shall not include an Application ID IE as specified in subclause 15.2.7; and

9) if the SDS message was destined for an application, shall include an Application ID IE set to the value of the Application ID that was included in the SDS message as specified in subclause 15.2.3.

[TS 24.582, clause 6.1.1.3.1]

Upon receiving an indication to establish MSRP connection for standalone SDS using media plane as the terminating client, the MCData client:

1. shall act as an MSRP client according to IETF RFC 6135 [12];

2. shall act either as an active endpoint or as an passive endpoint to open the transport connection, according to IETF RFC 6135 [12];

3. shall establish the MSRP connection according to the MSRP connection parameters in the SDP offer received in the SIP INVITE request according to IETF RFC 4975 [11];

4. if acting as an "active" endpoint, shall send an empty MSRP SEND request to bind the MSRP connection to the MSRP session from the perspective of the passive endpoint according to the rules and procedures of IETF RFC 4975 [11] and IETF RFC 6135 [12];

Once the MSRP connection is established, the MCData client:

1. on receipt of an MSRP request in an MSRP session, shall follow the rules and procedures defined in IETF RFC 4975 [11] and in IETF RFC 6714 [13];

2. If an MSRP SEND request indicates the use of chunking, shall wait until all further MSRP SEND requests for the remaining chunks have been received and shall reassemble the entire set of MSRP requests into the MCData standalone message before delivering the content to the application; and

3. shall handle the received content as described in subclause 6.1.1.3.2.

[TS 24.582, clause 6.1.1.3.2]

The MCData client:

1. shall decode the contents of the application/vnd.3gpp.mcdata-signalling MIME body;

2. shall decode the contents of the application/vnd.3gpp.mcdata-payload MIME body;

3. if the SDS SIGNALLING PAYLOAD message contains a new Conversation ID, shall instantiate a new conversation with the Message ID in the SDS SIGNALLING PAYLOAD identifying the first message in the conversation thread;

4. if the SDS SIGNALLING PAYLOAD message contains an existing Conversation ID and:

a. if the SDS SIGNALLING PAYLOAD message does not contain an InReplyTo Message ID, shall use the Message ID in the SDS SIGNALLING PAYLOAD to identify a new message in the existing conversation thread; and

b. if the SDS SIGNALLING PAYLOAD message contains an InReplyTo Message ID, shall associate the message to an existing message in the conversation thread as identified by the InReplyTo Message ID in the SDS SIGNALLING PAYLOAD and use the Message ID in the SDS SIGNALLING PAYLOAD to identify the new message;

5. shall identify the number of Payload IEs in the DATA PAYLOAD message from the Number of Payloads IE in the DATA PAYLOAD message;

6. if the SDS SIGNALLING PAYLOAD message does not contain an Application identifier IE:

a. shall determine that the payload contained in the DATA PAYLOAD message is for user consumption;

b. may notify the MCData user; and

c. shall render the contents of the Payload IE(s) to the MCData user;

7. if the SDS SIGNALLING PAYLOAD message contains an Application identifier IE:

a. shall determine that the payload contained in the DATA PAYLOAD message is not for user consumption;

b. shall not notify the MCData user;

c. if the Application identifier value is unknown, shall discard the SDS message; and

d. if the Application identifier value is known, shall deliver the contents of the Payload IE(s) to the identified application; and

8. if SDS Disposition request type IE is present in the SDS SIGNALLING PAYLOAD message received in subclause 6.1.1.3.1 then, shall send a disposition notification as described in 3GPP TS 24.282 [8] subclause 9.2.1.3.

6.1.8.3 Test description

6.1.8.3.1 Pre-test conditions

System Simulator:

– SS (MCDATA Server)

– For the underlying "transport bearer" over which the SS and the UE will communicate Parameters are set to the default parameters for the basic E-UTRA Single cell network scenarios, as defined in TS 36.508 [24] clause 4.4. The simulated Cell 1 shall belong to PLMN1 (the PLMN specified for MCDATA operation in the MCDATA configuration document).

IUT:

– UE (MCDATA Client)

– The test USIM set as defined in TS 36.579-1 [2], subclause 5.5.10 is inserted.

Preamble:

– The <max-payload-size-sds-cplane-bytes> element of the MCData Service Configuration document shall be set to 0 to force the MCData Client to send the data using the media plane.

– The UE has performed the Generic Test Procedure for MCDATA UE registration as specified in TS 36.579-1 [2], subclause 5.4.2B.

– The MCDATA User performs the Generic Test Procedure for MCDATA Authorization/Configuration and Key Generation as specified in TS 36.579-1 [2], subclause 5.3.2B.

– UE States at the end of the preamble

– The UE is in E-UTRA Registered, Idle Mode state.

– The MCDATA Client Application has been activated and User has registered-in as the MCDATA User with the Server as active user at the Client.

6.1.8.3.2 Test procedure sequence

Table 6.1.8.3.2-1: Main Behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

Check: Does the UE (MCData Client) perform the procedure for CT MCData Call Establishment specified in TS 36.579-1 [2] Table 5.3C.3.3-1?

1,2

P

2-5

Void

6

Check: Does the UE (MCData Client) perform the procedure for CT MSRP message transfer specified in TS 36.579-1 [2] Table 5.3C.5.3-1 to receive an SDS message with disposition notification type "DELIVERY"?

2

P

7

Void

8

Check: Does the UE (MCData Client) perform the procedure for CT MCData call release specified in TS 36.579-1 [2] Table 5.3C.7.3-1?

3

P

9-10

Void

11

Check: Does the UE (MCData Client) perform the procedure for CO SDS or FD message transfer using signalling plane specified in TS 36.579-1 [2] Table 5.3C.1.3-1 to send a disposition notification of "DELIVERED"?

2

P

12

Check: Does the UE (MCDATA Client) render the contents of the Payload IE to the MCData User?

(NOTE 1)

2

P

NOTE 1: This is expected to be done via a suitable implementation dependent MMI.

6.1.8.3.3 Specific message contents

Table 6.1.8.3.3-1: SIP INVITE (step 1, Table 6.1.8.3.2-1;
step 2, TS 36.579-1 [2] Table 5.3C.3.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.2.5.2-1, condition MCDATA_SDS

Information Element

Value/remark

Comment

Reference

Condition

Message-body

MIME body part

SDP message

MIME-part-body

SDP message as described in Table 6.1.8.3.3-1A

MIME body part

MCData-Info

MIME-part-body

MCData-Info as described in Table 6.1.8.3.3-2

Table 6.1.8.3.3-1A: SDP for SIP INVITE (Table 6.1.8.3.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.1.2-3, condition MCDATA_SDS, SDP_OFFER

Table 6.1.8.3.3-2: MCDATA-Info (Table 6.1.8.3.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.2.2-3, condition MCD_grp

Table 6.1.8.3.3-3: SIP 200 (OK) (step 2, Table 6.1.8.3.2-1;
step 4, TS 36.579-1 [2] Table 5.3C.3.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.2.17.1.1-1, condition INVITE-RSP, MCDATA_SDS

Information Element

Value/remark

Comment

Reference

Condition

Content-Type

value

"application/sdp"

Message-body

SDP message

As described in Table 6.1.8.3.3-4

Table 6.1.8.3.3-4: SDP for SIP INVITE (Table 6.1.8.3.3-3)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.1.1-3, condition MCDATA_SDS, SDP_ANSWER

Table 6.1.8.3.3-5: MSRP SEND (step 6, Table 6.1.8.3.2-1;
step 1. TS 36.579-1 [2] Table 5.3C.5.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.12.1.2-1

Information Element

Value/remark

Comment

Reference

Condition

Content-Type

media-type

"multipart/mixed"

data

Message as specified in table 6.1.8.3.3-5A

Table 6.1.8.3.3-5A: MIME Message (step 6, Table 6.1.8.3.2-1;
step 1, TS 36.579-1 [2] Table 5.3C.5.3-1)

Derivation Path: RFC 2046 [38]

Information Element

Value/remark

Comment

Reference

Condition

MIME body part

MCData Data signalling message

MIME-part-headers

Content-Type

"application/vnd.3gpp.mcdata-signalling"

MIME-part-body

MCData Protected Payload Message containing SDS SIGNALLING PAYLOAD as described in table 6.1.8.3.3-5B

MIME body part

MCData Data message

MIME-part-headers

Content-Type

"application/vnd.3gpp.mcdata-payload"

MIME-part-body

MCData Protected Payload Message containing DATA PAYLOAD as described in Table 6.1.8.3.3-6

Table 6.1.8.3.3-5B: SDS SIGNALLING PAYLOAD (Table 6.1.8.3.3-5A)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.8.1-1, condition DELIVERED

Table 6.1.8.3.3-6: Data Payload (Table 6.1.8.3.3-5A)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.9.1-2

Table 6.1.8.3.3-7: SIP BYE (step 8, Table 6.1.8.3.2-1;
step 1, TS 36.579-1 [2] Table 5.3C.7.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.2.2.2-1, condition MT_CALL

Information Element

Value/remark

Comment

Reference

Condition

Reason

RFC 3326 [125]

reason-value

"SIP"

protocol-cause

"cause="200""

reason-text

"text="transmission succeeded""

Table 6.1.8.3.3-8: Void

Table 6.1.8.3.3-9: SIP MESSAGE (step 11, Table 6.1.8.3.2-1;
step 2, TS 36.579-1 [2] Table 5.3C.1.3-1)

Derivation Path: TS 36.579-1 [2], Table 5.5.2.7.1-1, condition MCDATA_SDS, RESOURCE_LISTS, MCDATA_SIGNALLING

Information Element

Value/remark

Comment

Reference

Condition

Message-body

MIME body part

MCData-Info

MIME-part-body

MCData-Info as described in Table 6.1.8.3.3-10

MIME body part

MCData Data signalling message

MIME-part-body

MCData Protected Payload Message containing SDS NOTIFICATION as described in Table 6.1.6.3.3-11

Table 6.1.8.3.3-10: MCDATA-Info (Table 6.1.8.3.3-9)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.2.1-3

Information Element

Value/remark

Comment

Reference

Condition

mcdata-info

mcdata-Params

mcdata-calling-group-id

Encrypted <mcdata-request-uri> with mcdataURI set to px_MCData_Group_A_ID

Encrypted according to TS 36.579-1 [2] Table 5.5.3.2.1-3A

Table 6.1.8.3.3-11: SDS NOTIFICATION (Table 6.1.8.3.3-9)

Derivation Path: TS 36.579-1 [2], Table 5.5.3.8.3-1, condition DELIVERED