10.1.4 Remote change of an MCPTT user’s selected group

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

10.1.4.1 General

Clause 10.1.4 specifies the MCPTT client procedures, participating MCPTT function procedures and controlling MCPTT function procedures for the on-network remote change of an MCPTT user’s selected group.

10.1.4.2 Client procedures

10.1.4.2.1 Remote selected group change initiation

Upon receiving a request from the MCPTT user to send a group selection change request to change the selected group of a targeted MCPTT user to a specific MCPTT group, the MCPTT client:

1) if:

a) the <RemoteGroupSelectionURIList> element does not exist in the MCPTT user profile document with one or more <entry> elements (see the MCPTT user profile document in 3GPP TS 24.484 [50]); or

b) the <RemoteGroupSelectionURIList> element exists in the MCPTT user profile document and the MCPTT ID of the targeted MCPTT user does not match with one of the <entry> elements of the <RemoteGroupSelectionURIList> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]);

then:

a) should indicate to the requesting MCPTT user that they are not authorised to change the selected MCPTT group of the targeted MCPTT user; and

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

1A) shall determine whether the group document associated with the specific MCPTT group 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 specific MCPTT group; and

b) shall skip the remainder of this procedure;

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

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 to be selected by the targeted MCPTT user; and

ii) the <request-type> element set to a value of "group-selection-change-request"; and

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

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].

Upon receipt of a SIP 4xx, 5xx or 6xx response to the SIP MESSAGE request, should indicate to the MCPTT user the failure of the sent group selection change request and not continue with the rest of the steps.

Upon receiving a "SIP MESSAGE request for group selection change response for terminating client", the MCPTT client:

1) shall determine the success or failure of the sent group selection change request from the value of the <selected-group-change-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 MCPTT user the success or failure of the sent group selection change request.

10.1.4.2.2 Target client procedures for handling remote selected group change request

Upon receiving a "SIP MESSAGE request for group selection change request for terminating client", the MCPTT client:

1) if the received SIP MESSAGE request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing an <affiliation-required> element set to a value of "true":

a) shall invoke the procedures of clause 9.2.1.2 to affiliate to the MCPTT group identified by the contents of the <mcptt-calling-group-id> included in the application/vnd.3gpp.mcptt-info+xml MIME body;

b) if the MCPTT client has not already invoked the procedures of clause 9.2.1.3, shall invoke the procedures of clause 9.2.1.3; and

c) upon receiving a SIP NOTIFY request including a <p-id> element set to a value matching the <p-id> value included in the SIP PUBLISH request sent in step 1) a) above as specified in clause 9.2.1.3, shall determine if the affiliation procedure to the MCPTT group identified by the contents of the <mcptt-calling-group-id> in the received SIP MESSAGE request was successful;

2) if the received SIP MESSAGE request contained an application/vnd.3gpp.mcptt-info+xml MIME body containing an <affiliation-required> element set to a value of "true" and the affiliation was successful as determined in step 1) c) above, or if the <affiliation-required> element was not present in the received SIP MESSAGE request:

a) shall change the MCPTT client’s selected group to the MCPTT group identified by the contents of the <mcptt-calling-group-id> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body included in the received SIP MESSAGE request; and

b) shall determine the success or failure of the change of selected group action;

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]; 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;

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 to be selected by the MCPTT user; and

ii) the <anyExt> element containing:

A) the <response-type> element set to a value of "group-selection-change-response";

B) if the MCPTT client was able to successfully change the selected group as determined in step 2) b) above, then a <selected-group-change-outcome> element set to a value of "success"; and

C) if the MCPTT client:

I) was required to affiliate to the MCPTT group identified by the contents of the <mcptt-calling-group-id> in the received SIP MESSAGE request and the affiliation failed as determined in step 1) c); or

II) failed to change the selected group as determined in step 2) b);

then a <selected-group-change-outcome> element set to a value of "fail";

4) should indicate to the MCPTT user the success or failure of the requested change of selected group action;

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

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

10.1.4.3 Participating MCPTT function procedures

10.1.4.3.1 Originating procedures

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

a) if:

i) the <RemoteGroupSelectionURIList> element does not exist in the MCPTT user profile document with one or more <entry> elements (see the MCPTT user profile document in 3GPP TS 24.484 [50]); or

ii) if the MCPTT ID 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 for group selection change for originating participating MCPTT function" does not match with one of the <entry> elements of the <RemoteGroupSelectionURIList> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]);

then:

i) shall reject the SIP MESSAGE request with a SIP 403 (Forbidden) response including warning text set to "155 user not authorised to change user’s selected group" 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> contained in <mcptt-Params> element of the application/vnd.3gpp.mcptt-info+xml MIME body 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 in 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.4.3.2 Terminating procedures

Upon receiving a "SIP MESSAGE request for group-selection-change 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. Otherwise, continue with 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 MESSAGE 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.4.4 Controlling MCPTT function procedures

Upon receiving:

– a "SIP MESSAGE request for group selection change request for controlling MCPTT function"; or

– a "SIP MESSAGE request for group selection change 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]. Otherwise, continue with 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 there is a <request-type> element set to a value of "group-selection-change-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:

a) if the MCPTT user identified by the MCPTT ID in the "uri" attribute of an <entry> element in a <list> element in 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:

i) shall determine if the MCPTT user is eligible to be affiliated with the MCPTT group as determined by clause 9.2.2.3.8; and

ii) if the MCPTT user is not eligible for affiliation, 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 of the targeted MCPTT user 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) if the received SIP MESSAGE request is a "SIP MESSAGE request for group selection change request for controlling MCPTT function":

a) if the targeted MCPTT user is not affiliated to the identified MCPTT group and was determined to be eligible to be affiliated with the MCPTT group in step 3) a) i) above, shall include in the application/vnd.3gpp.mcptt-info+xml MIME body with the <mcpttinfo> element containing the <mcptt-Params> element with the <anyExt> element an <affiliation-required> element set to a value of "true";

9) shall set the Request-URI to the public service identity of the terminating participating MCPTT function associated with the targeted MCPTT user;

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.