11.1.7 Remotely initiated private call

24.3793GPPMission Critical Push To Talk (MCPTT) call controlProtocol specificationRelease 18TS

11.1.7.1 General

Clause 11.1.7 describes the MCPTT client procedures, the participating MCPTT function procedures and the controlling MCPTT function procedures for the on-network remotely initiated private call functionality.

In the procedures of clause 11.1.7.2, clause 11.1.7.3, and clause 11.1.7.4:

– the term "requesting MCPTT user" is used to refer to the MCPTT user who sent a request to initiate a remotely initiated private call;

– the term "remote MCPTT user" is used to refer to the MCPTT user who is sent a request to initiate a remotely initiated private call; and

– the term "identified MCPTT user" is used to refer to the MCPTT user to be invited to the remotely initiated private call.

11.1.7.2 Client procedures

11.1.7.2.1 Remotely initiated private call initiation request procedures

Upon receiving a request from the MCPTT user to send a remotely initiated private call request to the remote MCPTT user to originate a private call to an identified MCPTT user, the MCPTT client:

1) if:

a) the <allow-request-remote-init-private-call> element of the <ruleset> element is not present in the requesting MCPTT user’s MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]) or is set to a value of "false";

then:

a) should indicate to the requesting MCPTT user that the requesting MCPTT user is not authorised to initiate a remotely initiated private call request to the remote MCPTT user; and

b) shall skip the rest of the steps of the present clause;

2) shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [4] and IETF RFC 3428 [33] with the following clarifications:

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

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

c) 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 [4];

d) shall include an application/vnd.3gpp.mcptt-info+xml MIME body as specified in clause F.1 with the <mcpttinfo> element containing the <mcptt-Params> element containing:

i) the <mcptt-called-party-id> element set to the MCPTT ID of the identified MCPTT user of the remotely initiated private call; and

ii) an <anyExt> element containing:

A) the <request-type> element set to a value of "remotely-initiated-private-call-request";

B) the <notify-remote-user> element set to a value of "true" if the requesting MCPTT user has indicated that the remote MCPTT user be notified of the remotely initiated private call request; and

C) the <notify-remote-user> element set to a value of "false" if the requesting MCPTT user has indicated that the remote MCPTT user not be notified of the remotely initiated private call request;

e) shall insert in the SIP MESSAGE request a application/resource-lists+xml MIME body with the MCPTT ID of the remote MCPTT user, according to rules and procedures of IETF RFC 5366 [20]; and

f) shall set the Request-URI to the public service identity identifying the participating MCPTT function serving the MCPTT user; and

3) shall send the SIP MESSAGE request towards the MCPTT server according to rules and procedures of 3GPP TS 24.229 [4].

Upon receipt of a SIP 4xx, 5xx or 6xx response to the SIP MESSAGE request, should indicate to the requesting MCPTT user the failure of the sent remotely initiated private call request and not continue with the rest of the steps.

Upon receiving a "SIP MESSAGE request for remotely initiated private call response for terminating client", the MCPTT client:

1) shall determine the success or failure of the sent remotely initiated private call request from the value of the <remotely-initiated-call-outcome> element contained in the <anyExt> element of the <mcptt-Params> element of the <mcpttinfo> element of the application/vnd.3gpp.mcptt-info+xml MIME body included in the received SIP MESSAGE request; and

2) should indicate to the requesting MCPTT user the success or failure of the sent remotely initiated private call request.

11.1.7.2.2 Remote client procedures for handling remotely initiated private call request

Upon receiving a "SIP MESSAGE request for remotely initiated private call request for terminating client", the MCPTT client:

1) if the <notify-remote-user> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body contained in the received SIP MESSAGE request is set to a value of "true", may indicate to the remote MCPTT user that a remotely initiated private call request to call the identified MCPTT user has been received;

2) shall extract the MCPTT ID of the identified MCPTT user from the <mcptt-called-party-id> element contained in the <mcptt-Params> element of the <mcpttinfo> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body contained in the received SIP MESSAGE request;

3) if according to local policy on-demand sessions are to be used for remotely initiated private calls, shall invoke the procedures of clause 11.1.1.2.1.1 to originate an MCPTT private call to the identified MCPTT user with the following clarifications:

a) if the <notify-remote-user> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body contained in the received SIP MESSAGE request is set to a value of "false":

i) shall not indicate to the remote MCPTT user that a remotely initiated private call request to call the identified MCPTT user has been received; and

ii) if a SIP 180 (Ringing) response or SIP 183 (Session Progress) response is received to the to the sent SIP INVITE request, shall not give any indication to the remote MCPTT user that the remotely initiated private call origination is in progress; and

4) if according to local policy pre-established sessions are to be used for remotely initiated private calls and a pre-established session is available, shall invoke the procedures of clause 11.1.1.2.2.1 to originate an MCPTT private call to the identified MCPTT user with the following clarifications:

a) if the <notify-remote-user> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body contained in the received SIP MESSAGE request is set to a value of "false":

i) shall not indicate to the remote MCPTT user that a remotely initiated private call request to call the identified MCPTT user has been received; and

ii) shall not give any indication to the remote MCPTT user that the remotely initiated private call origination is in progress.

Upon completion of the procedures of clause 11.1.1.2.1.1 or clause 11.1.1.2.2.1, the MCPTT client:

1) if:

a) the MCPTT ID of the identified MCPTT user is identical to the <mcptt-calling-user-id> element contained in the <mcptt-Params> element of the <mcpttinfo> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body contained in the received SIP MESSAGE request: and

b) the procedures of clause 11.1.1.2.1.1 or clause 11.1.1.2.2.1 were successful in originating an MCPTT private call to the identified MCPTT user;

then:

a) shall skip the remaining steps of the current clause;

NOTE: In this case, it is not necessary to send a response to the sender of the remotely initiated private call request as the sender and the terminating party of the successful private call origination are the same user and will be aware of the request’s outcome.

2) shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [4] and IETF RFC 3428 [33] with the following clarifications:

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

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

c) 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 [4];

d) shall include in a "uri" attribute of <entry> element of a <list> element of the <resource-lists> element of an application/resource-lists+xml MIME body the MCPTT ID contained in the <mcptt-calling-user-id> element in the application/ vnd.3gpp.mcptt-info+xml MIME body of the received SIP MESSAGE request; and

e) shall include an application/vnd.3gpp.mcptt-info+xml MIME body as specified in clause F.1 with the <mcpttinfo> element containing the <mcptt-Params> element containing:

i) the <mcptt-called-party-id> set to the MCPTT ID of the identified MCPTT user called by the remote MCPTT user; and

ii) an <anyExt> element containing:

A) the <response-type> element set to a value of "remotely-initiated-private-call-response";

B) if the procedures of clause 11.1.1.2.1.1 or clause 11.1.1.2.2.1 were successful in originating an MCPTT private call to the identified MCPTT user, a <remotely-initiated-call-outcome> element set to a value of "success"; and

C) if the procedures of clause 11.1.1.2.1.1 or clause 11.1.1.2.2.1 were not successful in originating an MCPTT private call to the identified MCPTT user, a <remotely-initiated-call-outcome> element set to a value of "fail";

3) shall set the Request-URI to the public service identity identifying the participating MCPTT function serving the MCPTT user; and

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

11.1.7.3 Participating MCPTT function procedures

11.1.7.3.1 Originating procedures

Upon receiving a "SIP MESSAGE request for remotely initiated private call for originating participating MCPTT function" the participating MCPTT function:

1) if unable to process the request due to a lack of resources or a risk of congestion exists, may reject the SIP MESSAGE request with a SIP 500 (Server Internal Error) response. The participating MCPTT function may include a Retry-After header field to the SIP 500 (Server Internal Error) response as specified in IETF RFC 3261 [24] and skip the rest of the steps;

2) shall determine the MCPTT ID of the calling user from the public user identity in the P-Asserted-Identity header field of the SIP MESSAGE request;

NOTE 1: The MCPTT ID of the calling user is bound to the public user identity at the time of service authorisation, as documented in clause 7.3.

2a) if the participating MCPTT function cannot find a binding between the public user identity and an MCPTT ID or if the validity period of an existing binding has expired, then the participating MCPTT function shall reject the SIP MESSAGE request with a SIP 404 (Not Found) response with the warning text set to "141 user unknown to the participating function" in a Warning header field as specified in clause 4.4, and shall not continue with any of the remaining steps;

3) if:

a) the "SIP MESSAGE request for remotely initiated private call for originating participating MCPTT function" contains the <request-type> element set to a value of "remotely-initiated-private-call-request; and

b) if the <allow-request-remote-init-private-call> element of the <ruleset> element is not present in the requesting MCPTT user’s MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]) or is set to a value of "false";

then:

a) shall reject the SIP MESSAGE request with a SIP 403 (Forbidden) response including warning text set to "158 user not authorised to request a remotely initiated private call" in a Warning header field as specified in clause 4.4, and not continue with the rest of the steps in this clause;

4) shall determine the public service identity of the controlling MCPTT function for the remotely initiated private call service for the requesting MCPTT user;

5) shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [4] and IETF RFC 3428 [33];

6) shall set the Request-URI of the outgoing SIP MESSAGE request to the public service identity of the controlling MCPTT function associated with the remotely initiated private call service for the requesting MCPTT user;

NOTE 2: The public service identity can identify the controlling MCPTT function in the primary MCPTT system or in a partner MCPTT system.

NOTE 3: If the controlling MCPTT function is in a partner MCPTT system in a different trust domain, then the public service identity can identify the MCPTT gateway server that acts as an entry point in the partner MCPTT system from the primary MCPTT system.

NOTE 4: If the controlling MCPTT function is in a partner MCPTT system in a different trust domain, then the primary MCPTT system can route the SIP request through an MCPTT gateway server that acts as an exit point from the primary MCPTT system to the partner MCPTT system

NOTE 5: How the participating MCPTT function determines the public service identity of the controlling MCPTT function associated with the remotely initiated private call service for the requesting MCPTT user or of the MCPTT gateway server in the partner MCPTT system is out of the scope of the present document.

NOTE 6: How the primary MCPTT system routes the SIP request through an exit MCPTT gateway server is out of the scope of the present document.

7) shall copy the contents of the application/vnd.3gpp. mcptt-info+xml MIME body in the received SIP MESSAGE request into an application/vnd.3gpp.mcptt-info+xml MIME body as specified in clause F.1 included in the outgoing SIP MESSAGE request;

8) shall set the <mcptt-calling-user-id> contained in <mcptt-Params> element of the application/vnd.3gpp.mcptt-info+xml MIME body the MCPTT ID determined in step 2) above;

9) shall copy the contents of the application/resource-lists+xml MIME body in the received SIP MESSAGE request into an application/resource-lists+xml MIME body in the outgoing SIP MESSAGE request;

10) shall set the P-Asserted-Identity in the outgoing SIP MESSAGE request to the public user identity in the P-Asserted-Identity header field contained in the received SIP MESSAGE request;

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

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

13) shall include the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcptt" (coded as specified in 3GPP TS 24.229 [4]), into the P-Asserted-Service header field of the outgoing SIP MESSAGE request; and

14) shall send the SIP MESSAGE request as specified to 3GPP TS 24.229 [4].

Upon receipt of a SIP 2xx response in response to the SIP MESSAGE request sent in step 13), the participating MCPTT function shall generate a SIP 200 (OK) response and forward the SIP 200 (OK) response to the MCPTT client.

Upon receipt of a SIP 4xx, 5xx or 6xx response to the SIP MESSAGE request, shall forward the error response to the MCPTT client.

11.1.7.3.2 Terminating procedures

Upon receiving a "SIP MESSAGE request for remotely initiated private call for terminating participating MCPTT function" the participating MCPTT function:

1) if unable to process the request due to a lack of resources or a risk of congestion exists, may reject the SIP MESSAGE request with a SIP 500 (Server Internal Error) response. The participating MCPTT function may include a Retry-After header field to the SIP 500 (Server Internal Error) response as specified in IETF RFC 3261 [24] and skip the rest of the steps;

2) shall use the MCPTT ID present in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the incoming SIP MESSAGE request to retrieve the binding between the MCPTT ID and public user identity;

3) if the binding between the MCPTT ID and public user identity does not exist, then the participating MCPTT function shall reject the SIP MESSAGE request with a SIP 404 (Not Found) response and skip the rest of the steps;

4) shall generate an outgoing SIP MESSAGE request as specified in clause 6.3.2.2.11;

5) shall include the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcptt" (coded as specified in 3GPP TS 24.229 [4]), into the P-Asserted-Service header field of the outgoing SIP INVITE request; and

6) shall send the SIP MESSAGE request as specified in 3GPP TS 24.229 [4].

Upon receipt of SIP 2xx responses to the outgoing SIP MESSAGE requests, the participating MCPTT function shall forward the SIP 2xx response to the controlling MCPTT function.

Upon receipt of a SIP 4xx, 5xx or 6xx response to the SIP MESSAGE request, shall forward the response to the controlling MCPTT function.

11.1.7.4 Controlling MCPTT function procedures

Upon receiving a:

– "SIP MESSAGE request for remotely initiated private call request for controlling MCPTT function"; or

– "SIP MESSAGE request for remotely initiated private call response for controlling MCPTT function";

the controlling MCPTT function:

1) if unable to process the request due to a lack of resources or a risk of congestion exists, may reject the SIP MESSAGE request with a SIP 500 (Server Internal Error) response. The controlling MCPTT function may include a Retry-After header field to the SIP 500 (Server Internal Error) response as specified in IETF RFC 3261 [24] and skip the rest of the steps;

2) shall reject the SIP request with a SIP 403 (Forbidden) response and not process the remaining steps if an Accept-Contact header field does not include the g.3gpp.icsi-ref media feature tag containing the value of "urn:urn-7:3gpp-service.ims.icsi.mcptt";

3) if the incoming SIP MESSAGE request does not contain an application/resource-lists+xml MIME body or contains an application/resource-lists+xml MIME body with more than one <entry> element in all <list> elements of the <resource-lists> element, shall reject the SIP MESSAGE request with a SIP 403 (Forbidden) response including warning text set to "145 unable to determine called party" in a Warning header field as specified in clause 4.4, and shall not continue with the rest of the steps;

4) shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [4] and IETF RFC 3428 [33];

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

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

7) shall copy the contents of the application/vnd.3gpp. mcptt-info+xml MIME body in the received SIP MESSAGE request into an application/vnd.3gpp.mcptt-info+xml MIME body included in the outgoing SIP MESSAGE request;

8) shall copy the MCPTT ID of the MCPTT user listed in the MIME resources body of the incoming SIP MESSAGE request, into the <mcptt-request-uri> element in the application/vnd.3gpp.mcptt-info+xml MIME body of the outgoing SIP MESSAGE request;

9) shall set the Request-URI to the public service identity of the terminating participating MCPTT function associated to the MCPTT user identified by the MCPTT ID contained in the <mcptt-request-uri> element in the application/vnd.3gpp.mcptt-info+xml MIME body of the outgoing SIP MESSAGE request;

NOTE 1: The public service identity can identify the terminating participating MCPTT function in the primary MCPTT system or in a partner MCPTT system.

NOTE 2: If the terminating participating MCPTT function is in a partner MCPTT system in a different trust domain, then the public service identity can identify the MCPTT gateway server that acts as an entry point in the partner MCPTT system from the primary MCPTT system.

NOTE 3: If the terminating participating MCPTT function is in a partner MCPTT system in a different trust domain, then the primary MCPTT system can route the SIP request through an MCPTT gateway server that acts as an exit point from the primary MCPTT system to the partner MCPTT system

NOTE 4: How the controlling MCPTT function determines the public service identity of the terminating participating MCPTT function associated with the targeted MCPTT user or of the MCPTT gateway server in the partner MCPTT system is out of the scope of the present document.

NOTE 5: How the primary MCPTT system routes the SIP request through an exit MCPTT gateway server is out of the scope of the present document.

10) shall include a P-Asserted-Service header field with the value "urn:urn-7:3gpp-service.ims.icsi.mcptt";

11) shall copy the public user identity of the calling MCPTT user from the P-Asserted-Identity header field of the incoming SIP MESSAGE request into the P-Asserted-Identity header field of the outgoing SIP MESSAGE request; and

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

Upon receipt of SIP 2xx responses to the outgoing SIP MESSAGE requests, the controlling MCPTT function shall generate a SIP 200 (OK) response and forward the SIP 200 (OK) response to the originating participating MCPTT function.

Upon receipt of a SIP 4xx, 5xx or 6xx response to the SIP MESSAGE request, controlling MCPTT function shall forward the error response to the originating participating MCPTT function.