10.1.5 Remotely initiated group call

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

10.1.5.1 General

Clause 10.1.5 specifies the MCPTT client procedures, participating MCPTT function procedures and controlling MCPTT function procedures for on-network remotely initiated group call.

In the procedures clause 10.1.5.2:

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

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

– the term "targeted MCPTT group" is used to refer to the group that is to be called in the requested remotely initiated group call.

10.1.5.2 Client procedures

10.1.5.2.1 Remotely initiated group call initiation request procedures

Upon receiving a request from the requesting MCPTT user to send a remotely initiated group call request to the remote MCPTT user for a targeted MCPTT group, the MCPTT client:

1) if:

a) the <allow-request-remote-init-group-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 group call request to the remote MCPTT user; and

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

1A) shall determine whether the group document contains a <list-service> element that contains a <preconfigured-group-use-only> element. If a <preconfigured-group-use-only> element exists and is set to the value "true", then the MCPTT client:

a) should indicate to the MCPTT user that calls are not allowed on the indicated group; and

b) shall skip the remainder of this procedure;

2) if:

a) the requesting MCPTT user has indicated that the affiliation status of the remote MCPTT user to the targeted MCPTT group needs to be verified; and

b) the <allow-request-affiliated-groups> element of the <ruleset> element of the MCPTT user profile document identified by the MCPTT ID of the requesting MCPTT user (see the MCPTT user profile document in 3GPP TS 24.484 [50]) is set to a value of "false";

i) should indicate to the requesting MCPTT user that the requesting MCPTT user is not authorised to request the affiliation status of other MCPTT users; and

ii) shall skip the rest of the steps of the present clause; and

c) the <allow-request-affiliated-groups> element of the of the <ruleset> element of the MCPTT user profile document identified by the MCPTT ID of the requesting MCPTT user (see the MCPTT user profile document in 3GPP TS 24.484 [50]) is set to a value of "true";

then:

a) shall invoke the procedures of clause 9.2.1.3 to determine if the remote MCPTT user is affiliated to the targeted MCPTT group; and

b) if the remote MCPTT user is determined to not be affiliated to the targeted MCPTT group:

i) if the <allow-request-to-affiliate-other-users> of the <ruleset> element of the MCPTT user profile document identified by the MCPTT ID of the requesting MCPTT user (see the MCPTT user profile document in 3GPP TS 24.484 [50]) is set to a value of "false":

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

B) shall skip the rest of the steps of the present clause; and

ii) if the <allow-request-to-affiliate-other-users> of the <ruleset> element of the MCPTT user profile document identified by the MCPTT ID of the requesting MCPTT user (see the MCPTT user profile document in 3GPP TS 24.484 [50]) is set to a value of "true";

A) shall invoke the procedures of clause 9.2.1.2 to affiliate the remote MCPTT user to the targeted MCPTT group by the requesting MCPTT user;

B) if the procedures of clause 9.2.1.2 were not successful:

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

II) shall skip the rest of the steps of the present clause; and

C) upon receiving a SIP NOTIFY request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26]:

I) if the SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-user affiliation information constructed according to clause 9.3.1, shall determine if the per user affiliation information indicates that the remote MCPTT user is affiliated;

II) if per user affiliation information in the received SIP NOTIFY request indicates that the remote MCPTT user is not affiliated to the targeted MCPTT group, should indicate to the requesting MCPTT user that the remote MCPTT user cannot be affiliated to the targeted MCPTT group; and

III) if it is determined in the previous step that the remote MCPTT user cannot be affiliated to the targeted MCPTT group, shall skip the rest of the steps of the present clause;

3) 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-request-uri> set to the MCPTT group identity of the targeted MCPTT group for the remotely initiated call; and

ii) an <anyExt> element containing:

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

Biii) 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 group 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 group call request;

e) shall insert in the SIP MESSAGE request an 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 remote MCPTT user; and

4) 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 group call request and not continue with the rest of the steps.

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

1) shall determine the success or failure of the sent remotely initiated group 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 group call request.

10.1.5.2.2 Remote client procedures for handling remotely initiated group call request

Upon receiving a "SIP MESSAGE request for remotely initiated group 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 call request to call the targeted MCPTT group has been received; and

2) shall invoke the procedures of clause 10.1.1.2.1.1 to originate an MCPTT group call to the targeted MCPTT group 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 call request to call the targeted MCPTT group has been received; and

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

Upon completion of the procedures of clause 10.1.1.2.1.1, the MCPTT client:

1) 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]; and

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-request-uri> set to the MCPTT group identity called by the remote MCPTT user; and

ii) an <anyExt> element containing:

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

B) if the procedures of clause 10.1.1.2.1.1 were successful in originating an MCPTT group call to the targeted MCPTT group, a <remotely-initiated-call-outcome> element set to a value of "success"; and

C) if the procedures of clause 10.1.1.2.1.1 were not successful in originating an MCPTT group call to the targeted MCPTT group, a <remotely-initiated-call-outcome> element set to a value of "fail";

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

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

10.1.5.3 Participating MCPTT function procedures

10.1.5.3.1 Originating procedures

In the procedures of this clause:

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

– the term "remote MCPTT user" is used to refer to the user who is sent a request to initiate a remotely initiated group call.

Upon receiving a "SIP MESSAGE request for remotely initiated group 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 the "SIP MESSAGE request for remotely initiated group call for originating participating MCPTT function" contains the <request-type> element set to a value of "remotely-initiated-group-call-request":

a) if the <allow-request-remote-init-group-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", shall reject the SIP MESSAGE request with a SIP 403 (Forbidden) response including warning text set to "157 user not authorised to request a remotely initiated group 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 associated with the group identity contained in the <mcptt-request-uri> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body;

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 group identity 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.

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 determined in step 4);

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 copy the contents of the application/resource-lists+xml MIME body into the outgoing SIP MESSAGE request;

9) shall set the <mcptt-calling-user-id> element of the <mcptt-Params> element of the <mcpttinfo> element to the MCPTT ID determined in step 2) above;

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 to the sent SIP MESSAGE request, 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.

10.1.5.3.2 Terminating procedures

Upon receiving a "SIP MESSAGE request for remotely initiated group 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.

10.1.5.4 Controlling MCPTT function procedures

Upon receiving:

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

– a "SIP MESSAGE request for remotely initiated group 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";

2A) if the group document contains a <list-service> element that contains a <preconfigured-group-use-only> element that is set to the value "true", shall shall reject the SIP request with a SIP 403 (Forbidden) response with the warning text set to "167 call is not allowed on the preconfigured group" as specified in clause 4.4 "Warning header field" and skip the rest of the steps;

3) if:

a) there is a <request-type> element set to a value of "remotely-initiated-group-call-request" contained in the <anyExt> element in the <mcptt-Params> element contained in the <mcpttinfo> root element contained in the application/vnd.3gpp. mcptt-info+xml MIME body in the received SIP MESSAGE request; and

b) if the MCPTT user identified by the MCPTT ID in the "uri" attribute of an <entry> element of a <list> element of the <resource-lists> element of the application/resource-lists+xml MIME body contained in the SIP MESSAGE request is not affiliated with the MCPTT group identified by the <mcptt-request-uri> in the application/vnd.3gpp. mcptt-info+xml MIME body as determined by the procedures of clause 6.3.6;

then:

a) shall reject the SIP MESSAGE request with a SIP 403 (Forbidden) response with the warning text set to "120 user is not affiliated to this group" in a Warning header field as specified in clause 4.4 and skip the rest of the steps below;

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 with the following clarifications:

a) shall set the <mcptt-calling-group-id> to the MCPTT group identity contained in the <mcptt-request-uri> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body included in the received SIP MESSAGE request; and

b) shall set the <mcptt-request-uri> element of the application/vnd.3gpp. mcptt-info+xml MIME body in the outgoing SIP MESSAGE request to the MCPTT ID contained in the "uri" attribute of the <entry> element of a <list> element of the <resource-lists> element of the application/resource-lists+xml MIME body contained in the received SIP MESSAGE request;

8) shall set the Request-URI to the public service identity of the terminating participating MCPTT function associated with the MCPTT user identified by the MCPTT ID contained in the <mcptt-request-uri> element of the application/vnd.3gpp. mcptt-info+xml MIME body in 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.

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

10) 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

11) 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, the controlling MCPTT function shall forward the error response to the originating participating MCPTT function.