9 Affiliation

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

9.1 General

Clause 9.2 contains the procedures for explicit affiliation at the MCPTT client, the MCPTT server serving the MCPTT user and the MCPTT server owning the MCPTT group.

Clause 9.2 contains the procedures for implicit affiliation at the MCPTT server serving the MCPTT user and the MCPTT server owning the MCPTT group.

Clause 9.3 describes the coding used for explicit affiliation.

The procedures for implicit affiliation in this clause are triggered at the MCPTT server serving the MCPTT user in the following circumstances:

– on receipt of a SIP INVITE request or a SIP REFER request from an MCPTT client to join an MCPTT chat group, where the MCPTT client is not already affiliated to the MCPTT group;

– on receipt of a SIP INVITE request or a SIP REFER request from an MCPTT client when attempting to initiate an MCPTT emergency group call or MCPTT imminent peril group call and the MCPTT client is not already affiliated to the MCPTT group;

– on receipt of a SIP MESSAGE request from an MCPTT client when initiating an MCPTT emergency alert targeted to an MCPTT group and the MCPTT client is not already affiliated to the MCPTT group; and

– on receipt of a SIP REGISTER request for service authorisation (as described in clause 7.3.2) or SIP PUBLISH request for service authorisation and service settings (as described in clause 7.3. 3), as determined by configuration in the MCPTT user profile document as specified in 3GPP TS 24.484 [50].

The procedures for implicit affiliation in this clause are triggered at the MCPTT server owning the MCPTT group in the following circumstances:

– on receipt of a SIP INVITE request from the MCPTT server serving the MCPTT user where an MCPTT user wants to join an MCPTT chat group and the MCPTT client is not already affiliated to the MCPTT group;

– on receipt of a SIP INVITE request from the MCPTT server serving the MCPTT user where an MCPTT user initiates an MCPTT emergency group call or MCPTT imminent peril group call and the MCPTT client is not already affiliated to the MCPTT group; and

– on receipt of a SIP MESSAGE request from the MCPTT server serving the MCPTT user when the MCPTT user initiates an MCPTT emergency alert targeted to an MCPTT group and the MCPTT client is not already affiliated to the MCPTT group.

9.2 Procedures

9.2.1 MCPTT client procedures

9.2.1.1 General

The MCPTT client procedures consist of:

– an affiliation status change procedure;

– an affiliation status determination procedure;

– a procedure for sending affiliation status change request in negotiated mode to target MCPTT user;

– a procedure for receiving affiliation status change request in negotiated mode from authorized MCPTT user; and

– a rules based affiliation status change procedure.

In order to obtain information about success or rejection of changes triggered by the affiliation status change procedure for an MCPTT user, the MCPTT client needs to initiate the affiliation status determination procedure for the MCPTT user before starting the affiliation status change procedure for the MCPTT user.

9.2.1.2 Affiliation status change procedure

In order:

– to indicate that an MCPTT user is interested in one or more MCPTT group(s) at an MCPTT client;

– to indicate that the MCPTT user is no longer interested in one or more MCPTT group(s) at the MCPTT client;

– to indicate that the MCPTT user continues to have interest in one or more MCPTT group(s) at an MCPTT client due to near expiration of the expiration time of an MCPTT group with the affiliation status set to the "affiliated" state received in a SIP NOTIFY request in clause 9.2.1.3;

– to send an affiliation status change request in mandatory mode to another MCPTT user;

– to indicate that an MCPTT user is interested in one or more MCPTT group(s) at an MCPTT client triggered by a location or functional alias activation criteria;

– to indicate that the MCPTT user is no longer interested in one or more MCPTT group(s) at the MCPTT client client triggered by location or functional alias deactivation criteria; or

– any combination of the above;

the MCPTT client shall generate a SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37], and IETF RFC 3856 [51].

When the MCPTT user indicates that he is no longer interested in one or more MCPTT group(s) at the MCPTT client, the MCPTT client shall first check the <manual-deaffiliation-not-allowed-if-affiliation-rules-are-met> element within the <anyExt> element of the <entry> element corresponding to the group information within the <GroupList> list element of the <anyExt> element of the <OnNetwork> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]). If the affiliation to the group has been activated due to a rule being fulfilled and the <manual-deaffiliation-not-allowed-if-affiliation-rules-are-met> element is set to a value of "true", the MCPTT client shall suppress the MCPTT user’s request.

NOTE 1: If the request is suppressed, a notification message can be displayed to the user

In the SIP PUBLISH request, the MCPTT client:

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

2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT client shall include the <mcptt-request-uri> element set to the MCPTT ID of the MCPTT user;

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

4) if the targeted MCPTT user is interested in at least one MCPTT group at the targeted MCPTT client, shall set the Expires header field according to IETF RFC 3903 [37], to 4294967295;

NOTE 2: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

5) if the targeted MCPTT user is no longer interested in any MCPTT group at the targeted MCPTT client, shall set the Expires header field according to IETF RFC 3903 [37], to zero; and

6) shall include an application/pidf+xml MIME body indicating per-user affiliation information according to clause 9.3.1. In the MIME body, the MCPTT client:

a) shall include all MCPTT groups where the targeted MCPTT user indicates its interest at the targeted MCPTT client;

b) shall include the MCPTT client ID of the targeted MCPTT client;

c) shall not include the "status" attribute and the "expires" attribute in the <affiliation> element; and

d) shall set the <p-id> child element of the <presence> root element to a globally unique value.

NOTE: This procedure deviates from IETF RFC 3903 [37] by possibly including an application/pidf+xml MIME body when refreshing the expiration time for one or more groups. The use of this MIME body provides the ability to refresh affiliation or to deaffiliate multiple groups in a single message.

The MCPTT client shall send the SIP PUBLISH request according to 3GPP TS 24.229 [4].

9.2.1.3 Affiliation status determination procedure

NOTE 1: The MCPTT UE also uses this procedure to determine which MCPTT groups the MCPTT user successfully affiliated to.

In order to discover MCPTT groups:

1) which the MCPTT user at an MCPTT client is affiliated to; or

2) which another MCPTT user is affiliated to;

the MCPTT client shall generate an initial SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26].

In the SIP SUBSCRIBE request, the MCPTT client:

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

2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT client shall include the <mcptt-request-uri> element set to the MCPTT ID of the targeted MCPTT user;

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

4) if the MCPTT client wants to receive the current status and later notification, shall set the Expires header field according to IETF RFC 6665 [26], to 4294967295;

NOTE 2: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

5) if the MCPTT client wants to fetch the current state only, shall set the Expires header field according to IETF RFC 6665 [26], to zero; and

6) shall include an Accept header field containing the application/pidf+xml MIME type; and

7) if requesting MCPTT groups where the MCPTT user is affiliated to at the MCPTT client, shall include an application/simple-filter+xml MIME body indicating per-client restrictions of presence event package notification information according to clause 9.3.2, indicating the MCPTT client ID of the MCPTT client.

In order to re-subscribe or de-subscribe, the MCPTT client shall generate an in-dialog SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26]. In the SIP SUBSCRIBE request, the MCPTT client:

1) if the MCPTT client wants to receive the current status and later notification, shall set the Expires header field according to IETF RFC 6665 [26], to 4294967295;

NOTE 3: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

2) if the MCPTT client wants to de-subscribe, shall set the Expires header field according to IETF RFC 6665 [26], to zero; and

3) shall include an Accept header field containing the application/pidf+xml MIME type.

Upon receiving a SIP NOTIFY request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26], if SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-user affiliation information constructed according to clause 9.3.1, then the MCPTT client shall determine affiliation status of the MCPTT user for each MCPTT group at the MCPTT client(s) in the MIME body. If the <p-id> child element of the <presence> root element of the application/pidf+xml MIME body of the SIP NOTIFY request is included, the <p-id> element value indicates the SIP PUBLISH request which triggered sending of the SIP NOTIFY request.

9.2.1.4 Procedure for sending affiliation status change request in negotiated mode to target MCPTT user

NOTE: Procedure for sending affiliation status change request in negotiated mode to several target MCPTT users is not supported in this version of the specification.

Upon receiving a request from the MCPTT user to send an affiliation status change request in negotiated mode to a target MCPTT user, the MCPTT client shall generate a SIP MESSAGE request in accordance with 3GPP TS 24.229 [4] and IETF RFC 3428 [33]. In the SIP MESSAGE request, the MCPTT client:

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

2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT client shall include the <mcptt-request-uri> element set to the MCPTT ID of the target MCPTT user;

3) 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;

4) shall include an application/vnd.3gpp.mcptt-affiliation-command+xml MIME body as specified in Annex F.4; and

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

On receiving a SIP 2xx response to the SIP MESSAGE request, the MCPTT client shall indicate to the user that the request has been delivered to an MCPTT client of the target MCPTT user.

9.2.1.5 Procedure for receiving affiliation status change request in negotiated mode from authorized MCPTT user

Upon receiving a SIP MESSAGE request containing:

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

2) an application/vnd.3gpp.mcptt-affiliation-command+xml MIME body with a list of MCPTT groups for affiliation under the <affiliate> element and a list of MCPTT groups for de-affiliation under the <de-affiliate> element;

then the MCPTT client:

1) shall send a 200 (OK) response to the SIP MESSAGE request;

2) shall seek confirmation of the list of MCPTT groups for affiliation and the list of MCPTT groups for de-affiliation, resulting in an accepted list of MCPTT groups for affiliation and an accepted list of MCPTT groups for de-affiliation; and

3) if the user accepts the request:

a) shall perform affiliation for each entry in the accepted list of MCPTT groups for affiliation for which the MCPTT client is not affiliated, as specified in clause 9.2.1.2; and

b) shall perform de-affiliation for each entry in the accepted list of MCPTT groups for de-affiliation for which the MCPTT client is affiliated, as specified in clause 9.2.1.2.

9.2.1.6 Subscription to group dynamic data

In order to subscribe to changes in per-group dynamic data, the MCPTT client shall generate an initial SIP SUBSCRIBE request specified in 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26].

In the SIP SUBSCRIBE request, the MCPTT client:

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

2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT client shall include the <mcptt-request-uri> element set to the MCPTT group ID of the targeted MCPTT group;

3) 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 specified in IETF RFC 6050 [9];

4) if the MCPTT client wants to receive the current status and later notification, shall set the Expires header field specified in IETF RFC 6665 [26], to 4294967295;

NOTE 1: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

5) if the MCPTT client wants to fetch the current state only, shall set the Expires header field specified in IETF RFC 6665 [26], to zero;

6) shall include an Accept header field containing the application/pidf+xml MIME type; and

7) shall include an application/simple-filter+xml MIME body indicating per-group restrictions of presence event package notification information specified in clause 9.3.2, indicating the MCPTT group ID.

In order to re-subscribe or de-subscribe, the MCPTT client shall generate an in-dialog SIP SUBSCRIBE request specified in 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26]. In the SIP SUBSCRIBE request, the MCPTT client:

1) if the MCPTT client wants to receive the current status and later notification, shall set the Expires header field specified in IETF RFC 6665 [26], to 4294967295;

NOTE 2: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

2) if the MCPTT client wants to de-subscribe, shall set the Expires header field specified in IETF RFC 6665 [26], to zero; and

3) shall include an Accept header field containing the application/pidf+xml MIME type.

Upon receiving a SIP NOTIFY request specified in 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26], if the SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-group dynamic data information constructed according to clause 9.3.1, then the MCPTT client shall determine per-group dynamic data of the MCPTT group in the MIME body.

9.2.1.7 Rules based affiliation status change procedure

9.2.1.7.1 General

The MCPTT client can based on configuration decide to affiliate or de-affiliate to a group.

9.2.1.7.2 User profile defined rules

User profile based affiliation rules are controlled by the elements <RulesForAffiliation> or <RulesForDeAffiliation> of the MCPTT user profile document identified by the MCPTT ID of the MCPTT user (see the MCPTT user profile document in 3GPP TS 24.484 [50]). The rules can be composed of location criteria (including heading and speed) or functional alias based criteria. A rule is fulfilled if any of the location criteria and any of the functional alias based criteria are met. If, any defined rule is fulfilled, the MCPTT client shall initiate the affiliation status change procedure as specified in clause 9.2.1.2.

9.2.1.7.3 Group configuration defined rules

If the <permitted-geographic-area> element of the <list-service> element of an MCS group document is present and the MCPTT client is within the area specified in the <permitted-geographic-area> element, the MCPTT client is allowed to affiliate to the group.

If the <mandatory-geographic-area> element of the <list-service> element of an MCS group document is present and the MCPTT client is not within the area specified in the <mandatory-geographic-area> element the MCPTT client shall de-affiliate from the group.

9.2.2 MCPTT server procedures

9.2.2.1 General

The MCPTT server procedures consist of:

– procedures of MCPTT server serving the MCPTT user; and

– procedures of MCPTT server owning the MCPTT group.

9.2.2.2 Procedures of MCPTT server serving the MCPTT user

9.2.2.2.1 General

The procedures of MCPTT server serving the MCPTT user consist of:

– a receiving affiliation status change from MCPTT client procedure;

– a receiving subscription to affiliation status procedure;

– a sending notification of change of affiliation status procedure;

– a sending affiliation status change towards MCPTT server owning MCPTT group procedure;

– an affiliation status determination from MCPTT server owning MCPTT group procedure;

– a procedure for authorizing affiliation status change request in negotiated mode sent to served MCPTT user;

– a forwarding affiliation status change towards another MCPTT user procedure;

– a forwarding subscription to affiliation status towards another MCPTT user procedure

– an affiliation status determination procedure;

– an affiliation status change by implicit affiliation procedure;

– an implicit affiliation status change completion procedure;

– an implicit affiliation status change cancellation procedure;

– an implicit affiliation to configured groups procedure; and

– forwarding subscription to group dynamic data towards the controlling MCPTT server procedure.

9.2.2.2.2 Stored information

The MCPTT server shall maintain a list of MCPTT user information entries. The list of the MCPTT user information entries contains one MCPTT user information entry for each served MCPTT ID.

In each MCPTT user information entry, the MCPTT server shall maintain:

1) an MCPTT ID. This field uniquely identifies the MCPTT user information entry in the list of the MCPTT user information entries; and

2) a list of MCPTT client information entries.

In each MCPTT client information entry, the MCPTT server shall maintain:

1) an MCPTT client ID. This field uniquely identifies the MCPTT client information entry in the list of the MCPTT client information entries; and

2) a list of MCPTT group information entries.

In each MCPTT group information, the MCPTT server shall maintain:

1) an MCPTT group ID. This field uniquely identifies the MCPTT group information entry in the list of the MCPTT group information entries;

2) an affiliation status;

3) an expiration time;

4) an affiliating p-id; and

5) a next publishing time.

9.2.2.2.3 Receiving affiliation status change from MCPTT client procedure

Upon receiving a SIP PUBLISH request such that:

1) Request-URI of the SIP PUBLISH request contains either the public service identity identifying the originating participating MCPTT function serving the MCPTT user, or the public service identity identifying the terminating participating MCPTT function serving the MCPTT user;

2) the SIP PUBLISH request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the<mcptt-request-uri> element which identifies an MCPTT ID served by the MCPTT server;

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

4) the Event header field of the SIP PUBLISH request contains the "presence" event type; and

5) SIP PUBLISH request contains an application/pidf+xml MIME body indicating per-user affiliation information according to clause 9.3.1;

then the MCPTT server:

1) shall identify the served MCPTT ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP PUBLISH request;

2) if the Request-URI of the SIP PUBLISH request contains the public service identity identifying the originating participating MCPTT function serving the MCPTT user, shall identify the originating MCPTT ID from public user identity in the P-Asserted-Identity header field of the SIP PUBLISH request;

3) if the Request-URI of the SIP PUBLISH request contains the public service identity identifying the terminating participating MCPTT function serving the MCPTT user, shall identify the originating MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP PUBLISH request;

4) if the originating MCPTT ID is different than the served MCPTT ID and the originating MCPTT ID is not authorized to modify affiliation status of the served MCPTT ID, shall send a 403 (Forbidden) response and shall not continue with the rest of the steps;

5) if the Expires header field of the SIP PUBLISH request is not included or has nonzero value lower than 4294967295, shall send a SIP 423 (Interval Too Brief) response to the SIP PUBLISH request, where the SIP 423 (Interval Too Brief) response contains a Min-Expires header field set to 4294967295, and shall not continue with the rest of the steps;

6) if the Expires header field of the SIP PUBLISH request has nonzero value, shall determine the candidate expiration interval to according to IETF RFC 3903 [37];

7) if the Expires header field of the SIP PUBLISH request has zero value, shall set the candidate expiration interval to zero;

8) shall respond with SIP 200 (OK) response to the SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37]. In the SIP 200 (OK) response, the MCPTT server:

a) shall set the Expires header field according to IETF RFC 3903 [37], to the candidate expiration time;

9) if the "entity" attribute of the <presence> element of the application/pidf+xml MIME body of the SIP PUBLISH request is different than the served MCPTT ID, shall not continue with the rest of the steps;

10) shall identify the served MCPTT client ID in the "id" attribute of the <tuple> element of the <presence> element of the application/pidf+xml MIME body of the SIP PUBLISH request;

11) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

b) the MCPTT ID of the MCPTT user information entry is equal to the served MCPTT ID;

as the served MCPTT user information entry;

12) shall consider an MCPTT client information entry such that:

a) the MCPTT client information entry is in the list of MCPTT client information entries of the served MCPTT user information entry; and

b) the MCPTT client ID of the MCPTT client information entry is equal to the served MCPTT client ID;

as the served MCPTT client information entry;

13) shall consider a copy of the list of the MCPTT group information entries of the served MCPTT client information entry as the served list of the MCPTT group information entries;

14) if the candidate expiration interval is nonzero:

a) shall construct the candidate list of the MCPTT group information entries as follows:

i) for each MCPTT group ID which has an MCPTT group information entry in the served list of the MCPTT group information entries, such that the expiration time of the MCPTT group information entry has not expired yet, and which is indicated in a "group" attribute of an <affiliation> element of the <status> element of the <tuple> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request:

A) shall copy the MCPTT group information entry into a new MCPTT group information entry of the candidate list of the MCPTT group information entries;

B) if the affiliation status of the MCPTT group information entry is "deaffiliating" or "deaffiliated", shall set the affiliation status of the new MCPTT group information entry to the "affiliating" state and shall set the affiliating p-id of the new MCPTT group information entry to the value of the <p-id> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request; and

C) shall set the expiration time of the new MCPTT group information entry to the current time increased with the candidate expiration interval;

ii) for each MCPTT group ID which has an MCPTT group information entry in the served list of the MCPTT group information entries, such that the expiration time of the MCPTT group information entry has not expired yet, and which is not indicated in any "group" attribute of the <affiliation> element of the <status> element of the <tuple> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request:

A) shall copy the MCPTT group information entry into a new MCPTT group information entry of the candidate list of the MCPTT group information entries; and

B) if the affiliation status of the MCPTT group information entry is "affiliated" or "affiliating":

– shall set the affiliation status of the new MCPTT group information entry to the "de-affiliating" state; and

– shall set the expiration time of the new MCPTT group information entry to the current time increased with twice the value of timer F; and

iii) for each MCPTT group ID:

A) which does not have an MCPTT group information entry in the served list of the MCPTT group information entries; or

B) which has an MCPTT group information entry in the served list of the MCPTT group information entries, such that the expiration time of the MCPTT group information entry has already expired;

and which is indicated in a "group" attribute of the <affiliation> element of the <status> element of the <tuple> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request:

A) shall add a new MCPTT group information entry in the candidate list of the MCPTT group information list for the MCPTT group ID;

B) shall set the affiliation status of the new MCPTT group information entry to the "affiliating" state;

C) shall set the expiration time of the new MCPTT group information entry to the current time increased with the candidate expiration interval; and

D) shall set the affiliating p-id of the new MCPTT group information entry to the value of the <p-id> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request;

b) determine the candidate number of MCPTT group IDs as number of different MCPTT group IDs which have an MCPTT group information entry:

i) in the candidate list of the MCPTT group information entries; or

ii) in the list of the MCPTT group information entries of an MCPTT client information entry such that:

A) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry; and

B) the MCPTT client ID of the MCPTT client information entry is not equal to the served MCPTT client ID;

with the affiliation status set to the "affiliating" state or the "affiliated" state and with the expiration time which has not expired yet; and

c) if the candidate number of MCPTT group IDs is bigger than N2 value of the served MCPTT ID (specified in the <MaxAffiliationsN2> element of the <Common> element of the corresponding MCPTT user profile), shall based on MCPTT service provider policy reduce the candidate MCPTT group IDs to that equal to N2;

NOTE: The MCPTT service provider policy can determine to remove an MCPTT group ID based on the order it appeared in the PUBLISH request or based on the importance or priority of the MCPTT group or some other policy to determine which MCPTT groups are preferred.

15) if the candidate expiration interval is zero, constructs the candidate list of the MCPTT group information entries as follows:

a) for each MCPTT group ID which has an entry in the served list of the MCPTT group information entries:

i) shall copy the MCPTT group entry of the served list of the MCPTT group information into a new MCPTT group information entry of the candidate list of the MCPTT group information entries;

ii) shall set the affiliation status of the new MCPTT group information entry to the "de-affiliating" state; and

iii) shall set the expiration time of the new MCPTT group information entry to the current time increased with twice the value of timer F;

16) shall replace the list of the MCPTT group information entries stored in the served MCPTT client information entry with the candidate list of the MCPTT group information entries;

17) shall perform the procedures specified in clause 9.2.2.2.6 for the served MCPTT ID and each MCPTT group ID:

a) which does not have an MCPTT group information entry in the served list of the MCPTT group information entries and which has an MCPTT group information entry in the candidate list of the MCPTT group information entries with the affiliation status set to the "affiliating" state;

b) which has an MCPTT group information entry in the served list of the MCPTT group information entries with the expiration time already expired, and which has an MCPTT group information entry in the candidate list of the MCPTT group information entries with the affiliation status set to the "affiliating" state;

c) which has an MCPTT group information entry in the served list of the MCPTT group information entries with the affiliation status set to the "deaffiliating" state or the "deaffiliated" state and with the expiration time not expired yet, and which has an MCPTT group information entry in the candidate list of the MCPTT group information entries with the affiliation status set to the "affiliating" state; or

d) which has an MCPTT group information entry in the served list of the MCPTT group information entries with the affiliation status set to the "affiliated" state and with the expiration time not expired yet, and which has an MCPTT group information entry in the candidate list of the MCPTT group information entries with the affiliation status set to the "de-affiliating" state;

18) shall identify the handled p-id in the <p-id> child element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request; and

19) shall perform the procedures specified in clause 9.2.2.2.5 for the served MCPTT ID.

9.2.2.2.4 Receiving subscription to affiliation status procedure

Upon receiving a SIP SUBSCRIBE request such that:

1) Request-URI of the SIP SUBSCRIBE request contains either the public service identity identifying the originating participating MCPTT function serving the MCPTT user, or the public service identity identifying the terminating participating MCPTT function serving the MCPTT user;

2) the SIP SUBSCRIBE request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the<mcptt-request-uri> element which identifies an MCPTT ID served by the MCPTT server;

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

4) the Event header field of the SIP SUBSCRIBE request contains the "presence" event type;

the MCPTT server:

1) shall identify the served MCPTT ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

2) if the Request-URI of the SIP SUBSCRIBE request contains the public service identity identifying the originating participating MCPTT function serving the MCPTT user, shall identify the originating MCPTT ID from public user identity in the P-Asserted-Identity header field of the SIP SUBSCRIBE request;

3) if the Request-URI of the SIP SUBSCRIBE request contains the public service identity identifying the terminating participating MCPTT function serving the MCPTT user, shall identify the originating MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

4) if the originating MCPTT ID is different than the served MCPTT ID and the originating MCPTT ID is not authorized to modify affiliation status of the served MCPTT ID, shall send a 403 (Forbidden) response and shall not continue with the rest of the steps; and

5) shall generate a 200 (OK) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 6665 [26].

For the duration of the subscription, the MCPTT server shall notify the subscriber about changes of the information of the served MCPTT ID, as described in clause 9.2.2.2.5.

9.2.2.2.5 Sending notification of change of affiliation status procedure

In order to notify the subscriber about changes of the served MCPTT ID, the MCPTT server:

1) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

b) the MCPTT ID of the MCPTT user information entry is equal to the served MCPTT ID;

as the served MCPTT user information entry;

2) shall consider the list of the MCPTT client information entries of the served MCPTT user information entry as the served list of the MCPTT client information entries;

3) shall generate an application/pidf+xml MIME body indicating per-user affiliation information according to clause 9.3.1 and the served list of the MCPTT client information entries with the following clarifications:

a) the MCPTT server shall not include information from an MCPTT group information entry with the expiration time already expired;

b) the MCPTT server shall not include information from an MCPTT group information entry with the affiliation status set to the "deaffiliated" state;

c) if the SIP SUBSCRIBE request creating the subscription of this notification contains an application/simple-filter+xml MIME body indicating per-client restrictions of presence event package notification information according to clause 9.3.2, the MCPTT server shall restrict the application/pidf+xml MIME body according to the application/simple-filter+xml MIME body; and

d) if this procedures is invoked by procedure in clause 9.2.2.2.3 where the handled p-id value was identified, the MCPTT server shall set the <p-id> child element of the <presence> root element of the application/pidf+xml MIME body of the SIP NOTIFY request to the handled p-id value; and

4) send a SIP NOTIFY request according to 3GPP TS 24.229 [4], and IETF RFC 6665 [26] for the subscription created in clause 9.2.2.2.4. In the SIP NOTIFY request, the MCPTT server shall include the generated application/pidf+xml MIME body indicating per-user affiliation information.

9.2.2.2.6 Sending affiliation status change towards MCPTT server owning MCPTT group procedure

NOTE 1: Usage of one SIP PUBLISH request to carry information about change of affiliation state of several MCPTT users served by the same MCPTT server is not supported in this version of the specification.

In order:

– to send an affiliation request of a served MCPTT ID to a handled MCPTT group ID;

– to send an de-affiliation request of a served MCPTT ID from a handled MCPTT group ID; or

– to send an affiliation request of a served MCPTT ID to a handled MCPTT group ID due to near expiration of the previously published information;

the MCPTT server shall generate a SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51]. In the SIP PUBLISH request, the MCPTT server:

1) shall set the Request-URI to the public service identity of the controlling MCPTT function associated with the handled MCPTT group ID;

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 handled MCPTT group ID 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.

2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT server:

a) shall include the <mcptt-request-uri> element set to the handled MCPTT group ID; and

b) shall include the <mcptt-calling-user-id> element set to the served MCPTT ID;

3) 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-Asserted-Service header field according to IETF RFC 6050 [9];

4) if sending an affiliation request, shall set the Expires header field according to IETF RFC 3903 [37], to 4294967295;

NOTE 7: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

5) if sending an de-affiliation request, shall set the Expires header field according to IETF RFC 3903 [37], to zero;

6) shall include an P-Asserted-Identity header field set to the public service identity of the MCPTT server according to 3GPP TS 24.229 [4];

7) shall set the current p-id to a globally unique value;

8) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

b) the MCPTT ID of the MCPTT user information entry is equal to the served MCPTT ID;

as the served MCPTT user information entry;

9) for each MCPTT group information entry such that:

a) the MCPTT group information entry has the "affiliating" affiliation status, the MCPTT group ID set to the handled MCPTT group ID, the expiration time has not expired yet and the affiliating p-id is not set;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry; and

c) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry;

shall set the affiliating p-id of the MCPTT group information entry to the current p-id; and

10) shall include an application/pidf+xml MIME body indicating per-group affiliation information constructed according to clause 9.3.1.2. The MCPTT server shall indicate all served MCPTT client IDs, such that:

a) the affiliation status is set to "affiliating" or "affiliated", and the expiration time has not expired yet in an MCPTT group information entry with the MCPTT group ID set to the handled MCPTT group;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry;

c) the MCPTT client information entry has the MCPTT client ID set to the served MCPTT client ID; and

d) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry.

The MCPTT server shall set the <p-id> child element of the <presence> root element to the current p-id.

The MCPTT server shall not include the "expires" attribute in the <affiliation> element.

The MCPTT server shall send the SIP PUBLISH request according to 3GPP TS 24.229 [4].

If timer F expires for the SIP PUBLISH request sent for a (de)affiliation request of served MCPTT ID to the MCPTT group ID or upon receiving a SIP 3xx, 4xx, 5xx or 6xx response to the SIP PUBLISH request, the MCPTT server:

1) shall remove each MCPTT group ID entry such that:

a) the MCPTT group information entry has the MCPTT group ID set to the handled MCPTT group ID;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry; and

c) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry.

9.2.2.2.7 Affiliation status determination from MCPTT server owning MCPTT group procedure

NOTE 1: Usage of one SIP SUBSCRIBE request to subscribe for notification about change of affiliation state of several MCPTT users served by the same MCPTT server is not supported in this version of the specification.

In order to discover whether a served MCPTT user was successfully affiliated to a handled MCPTT group in the MCPTT server owning the handled MCPTT group, the MCPTT server shall generate an initial SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26].

In the SIP SUBSCRIBE request, the MCPTT server:

1) shall set the Request-URI to the public service identity of the controlling MCPTT function associated with the handled MCPTT group ID;

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 handled MCPTT group ID 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.2) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT server:

a) shall include the <mcptt-request-uri> element set to the handled MCPTT group ID; and

b) shall include the <mcptt-calling-user-id> element set to the served MCPTT ID;

3) 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-Asserted-Service header field according to IETF RFC 6050 [9];

4) if the MCPTT server wants to receive the current status and later notification, shall set the Expires header field according to IETF RFC 6665 [26], to 4294967295;

NOTE 7: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

5) if the MCPTT server wants to fetch the current state only, shall set the Expires header field according to IETF RFC 6665 [26], to zero;

6) shall include an Accept header field containing the application/pidf+xml MIME type; and

7) shall include an application/simple-filter+xml MIME body indicating per-user restrictions of presence event package notification information according to clause 9.3.2, indicating the served MCPTT ID.

In order to re-subscribe or de-subscribe, the MCPTT server shall generate an in-dialog SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26]. In the SIP SUBSCRIBE request, the MCPTT server:

1) if the MCPTT server wants to receive the current status and later notification, shall set the Expires header field according to IETF RFC 6665 [26], to 4294967295;

NOTE 8: 4294967295, which is equal to 232-1, is the highest value defined for Expires header field in IETF RFC 3261 [24].

2) if the MCPTT server wants to de-subscribe, shall set the Expires header field according to IETF RFC 6665 [26], to zero; and

3) shall include an Accept header field containing the application/pidf+xml MIME type.

Upon receiving a SIP NOTIFY request according to 3GPP TS 24.229 [4], IETF RFC 3856 [51], and IETF RFC 6665 [26], if SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-group affiliation information constructed according to clause 9.3.1, then the MCPTT server:

1) for each served MCPTT ID and served MCPTT client ID such that the application/pidf+xml MIME body of SIP NOTIFY request contains:

a) a <tuple> element of the root <presence> element;

b) the "id" attribute of the <tuple> element indicating the served MCPTT ID;

c) an <affiliation> child element of the <status> element of the <tuple> element;

d) the "client" attribute of the <affiliation> element indicating the served MCPTT client ID; and

d) the "expires" attribute of the <affiliation> element indicating expiration of affiliation;

perform the following:

a) if an MCPTT group information entry exists such that:

i) the MCPTT group information entry has the "affiliating" affiliation status, the MCPTT group ID set to the handled MCPTT group ID, and the expiration time has not expired yet;

ii) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry with the MCPTT client ID set to the served MCPTT client ID;

iii) the MCPTT client information entry is in the list of the MCPTT client information entries of a served MCPTT user information entry with the MCPTT ID set to the served MCPTT ID; and

iv) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

shall set the affiliation status of the MCPTT group information entry to "affiliated"; and

shall set the next publishing time of the MCPTT group information entry to the current time and half of the time between the current time and the expiration of affiliation; and

2) for each MCPTT group information entry such that:

a) the MCPTT group information entry has the "affiliated" affiliation status or the "deaffiliating" affiliation status, the MCPTT group ID set to the handled MCPTT group ID, and the expiration time has not expired yet;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry with the MCPTT client ID set to a served MCPTT client ID;

c) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry with the MCPTT ID set to a served MCPTT ID; and

d) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

for which the application/pidf+xml MIME body of SIP NOTIFY request does not contain:

a) a <tuple> element of the root <presence> element;

b) the "id" attribute of the <tuple> element indicating the served MCPTT ID;

c) an <affiliation> child element of the <status> child element of the <tuple> element; and

d) the "client" attribute of the <affiliation> element indicating the served MCPTT client ID.

perform the following:

a) shall set the affiliation status of the MCPTT group information entry to "deaffiliated"; and

b) shall set the expiration time of the MCPTT group information entry to the current time; and

3) if a <p-id> element is included in the <presence> root element of the application/pidf+xml MIME body of the SIP NOTIFY request, then for each MCPTT group information entry such that:

a) the MCPTT group information entry has the "affiliating" affiliation status, the MCPTT group ID set to the handled MCPTT group ID, the expiration time has not expired yet and with the affiliating p-id set to the value of the <p-id> element;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry with the MCPTT client ID set to a served MCPTT client ID;

c) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry with the MCPTT ID set to a served MCPTT ID; and

d) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

for which the application/pidf+xml MIME body of SIP NOTIFY request does not contain:

a) a <tuple> element of the root <presence> element;

b) the "id" attribute of the <tuple> element indicating the served MCPTT ID;

c) an <affiliation> child element of the <status> child element of the <tuple> element; and

d) the "client" attribute of the <affiliation> element indicating the served MCPTT client ID;

perform the following:

a) shall set the affiliation status of the MCPTT group information entry to "deaffiliated"; and

b) shall set the expiration time of the MCPTT group information entry to the current time.

9.2.2.2.8 Procedure for authorizing affiliation status change request in negotiated mode sent to served MCPTT user

Upon receiving a SIP MESSAGE request such that:

1) Request-URI of the SIP MESSAGE request contains the public service identity identifying the terminating participating MCPTT function serving the MCPTT user;

2) the SIP MESSAGE request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the<mcptt-request-uri> element and the <mcptt-calling-user-id> element;

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

4) the SIP MESSAGE request contains an application/vnd.3gpp.mcptt-affiliation-command+xml MIME body;

then the MCPTT server:

1) shall identify the served MCPTT ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP MESSAGE request;

2) shall identify the originating MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP MESSAGE request;

3) if the originating MCPTT ID is not authorized to send an affiliation status change request in negotiated mode to the served MCPTT ID, shall send a 403 (Forbidden) response and shall not continue with the rest of the steps;

4) shall set the Request-URI of the SIP MESSAGE request to the public user identity bound to the served MCPTT ID in the MCPTT server; and

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

before forwarding the SIP MESSAGE request further.

9.2.2.2.9 Forwarding affiliation status change towards another MCPTT user procedure

Upon receiving a SIP PUBLISH request such that:

1) Request-URI of the SIP PUBLISH request contains the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

2) the SIP PUBLISH request contains an application/vnd.3gpp.mcptt-info MIME body containing the<mcptt-request-uri> element which identifies an MCPTT ID not served by the MCPTT server;

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

4) the Event header field of the SIP PUBLISH request contains the "presence" event type; and

5) SIP PUBLISH request contains an application/pidf+xml MIME body indicating per-user affiliation information according to clause 9.3.1;

then the MCPTT server:

1) shall identify the target MCPTT ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info MIME body of the SIP PUBLISH request;

2) shall identify the originating MCPTT ID from public user identity in the P-Asserted-Identity header field of the SIP PUBLISH request;

3) shall generate a SIP PUBLISH request from the received SIP PUBLISH request. In the generated SIP PUBLISH request, the MCPTT server:

a) shall set the Request-URI to the public service identity identifying the terminating participating MCPTT function serving the target MCPTT ID;

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 originating participating MCPTT function determines the public service identity of the terminating participating MCPTT function serving the target MCPTT ID 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.

b) shall include a P-Asserted-Identity header field containing the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

c) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT server:

A) shall include the <mcptt-request-uri> element set to the target MCPTT ID; and

B) shall include the <mcptt-calling-user-id> element set to the originating MCPTT ID; and

d) shall include other signalling elements from the received SIP PUBLISH request; and

4) shall send the generated SIP PUBLISH request according to 3GPP TS 24.229 [4].

The MCPTT server shall forward received SIP responses to the SIP PUBLISH request.

9.2.2.2.10 Forwarding subscription to affiliation status towards another MCPTT user procedure

Upon receiving a SIP SUBSCRIBE request such that:

1) Request-URI of the SIP SUBSCRIBE request contains the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

2) the SIP SUBCRIBE request contains an application/vnd.3gpp.mcptt-info MIME body containing the<mcptt-request-uri> element which identifies an MCPTT ID not served by MCPTT server;

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

4) the Event header field of the SIP SUBSCRIBE request contains the "presence" event type;

then the MCPTT server:

1) shall identify the target MCPTT ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info MIME body of the SIP SUBSCRIBE request;

2) shall identify the originating MCPTT ID from public user identity in the P-Asserted-Identity header field of the SIP SUBSCRIBE request;

3) shall generate a SIP SUBSCRIBE request from the received SIP SUBSCRIBE request. In the generated SIP SUBSCRIBE request, the MCPTT server:

a) shall set the Request-URI to the public service identity identifying the terminating participating MCPTT function serving the target MCPTT ID;

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 originating participating MCPTT function determines the public service identity of the terminating participating MCPTT function serving the target MCPTT ID 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.

b) shall include a P-Asserted-Identity header field containing the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

c) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT server:

A) shall include the <mcptt-request-uri> element set to the target MCPTT ID; and

B) shall include the <mcptt-calling-user-id> element set to the originating MCPTT ID; and

d) shall include other signalling elements from the received SIP SUBSCRIBE request; and

4) shall send the generated SIP SUBSCRIBE request according to 3GPP TS 24.229 [4].

The MCPTT server shall forward any received SIP responses to the SIP SUBSCRIBE request, any received SIP NOTIFY request and any received SIP responses to the SIP NOTIFY request.

9.2.2.2.11 Affiliation status determination

This clause is referenced from other procedures.

If the participating MCPTT function needs to determine the affiliation status of an MCPTT user to an MCPTT group, the participating function:

1) shall find the user information entry in the list of MCPTT user information entries described in clause 9.2.2.2.2 such that the MCPTT ID of the MCPTT user information entry is equal to the MCPTT ID of the originator of the received SIP request;

a) if the applicable MCPTT group information entry cannot be found, then the participating MCPTT function shall determine that the MCPTT user is not affiliated to the MCPTT group at the MCPTT client and the skip the rest of the steps;

2) shall find the MCPTT client information entry in the list of MCPTT client information entries of MCPTT user information entry found in step 1) in which the MCPTT client id matches the value of the <mcptt-client-id> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body in the received SIP request;

a) if the applicable MCPTT client information entry cannot be found, then the participating MCPTT function shall determine that the MCPTT user is not affiliated to the MCPTT group at the MCPTT client and the skip the rest of the steps;

3) shall find the MCPTT group information entry in the list of MCPTT group information entries of MCPTT client information entry found in step 2 such that the MCPTT group identity matches the value of the identity of the targeted MCPTT group;

a) if the applicable MCPTT group information entry was found in step 3) and the affiliation status of the MCPTT group information entry is "affiliating" or "affiliated", shall determine that the MCPTT user at the MCPTT client to be affiliated to the targeted MCPTT group and skip the rest of the steps;

b) if the applicable MCPTT group information entry was found in step 3) and the affiliation status of the MCPTT group information entry is "deaffiliating" or "deaffiliated", shall determine that the MCPTT user at the MCPTT client to not be affiliated to the targeted MCPTT group and skip the rest of the steps; or

c) if the applicable MCPTT group information entry was not found in step 3), shall determine that the MCPTT user at the MCPTT client is not affiliated to the targeted MCPTT group.

9.2.2.2.12 Affiliation status change by implicit affiliation

This clause is referenced from other procedures.

Upon receiving a SIP request that requires implicit affiliation of the sending MCPTT client to an MCPTT group, the participating MCPTT function:

1) shall determine the served MCPTT client ID from the <mcptt-client-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body in the received SIP request;

2) shall determine the MCPTT group ID from the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body in the received SIP request;

3) shall determine the served MCPTT ID by using the public user identity in the P-Asserted-Identity header field of the SIP 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.

4) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

b) the MCPTT ID of the MCPTT user information entry is equal to the served MCPTT ID;

as the served MCPTT user information entry;

5) shall consider an MCPTT client information entry such that:

a) the MCPTT client information entry is in the list of MCPTT client information entries of the served MCPTT user information entry; and

b) the MCPTT client ID of the MCPTT client information entry is equal to the served MCPTT client ID;

as the served MCPTT client information entry;

6) shall consider a copy of the list of the MCPTT group information entries of the served MCPTT client information entry as the served list of the MCPTT group information entries;

7) shall construct the candidate list of the MCPTT group information entries as follows:

a) for each MCPTT group ID which has an MCPTT group information entry in the served list of the MCPTT group information entries shall copy the MCPTT group information entry into a new MCPTT group information entry of the candidate list of the MCPTT group information entries; and

b) if the determined MCPTT group ID does not have an MCPTT group information entry in the served list of the MCPTT group information entries or has an MCPTT group information entry in the served list of the MCPTT group information entries, such that the expiration time of the MCPTT group information entry has already expired:

i) shall add a new MCPTT group information entry in the candidate list of the MCPTT group information list for the determined MCPTT group ID;

ii) shall set the affiliation status of the new MCPTT group information entry to the "affiliating" state; and

iii) shall set the expiration time of the new MCPTT group information entry to the current time increased with the candidate expiration interval;

8) determine the candidate number of MCPTT group IDs as the number of different MCPTT group IDs which have an MCPTT group information entry:

a) in the candidate list of the MCPTT group information entries; or

b) in the list of the MCPTT group information entries of an MCPTT client information entry such that:

i) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry; and

ii) the MCPTT client ID of the MCPTT client information entry is not equal to the served MCPTT client ID;

with the affiliation status set to the "affiliating" state or the "affiliated" state and with the expiration time which has not expired yet; and

9) if the candidate number of MCPTT group IDs is bigger than the N2 value of the served MCPTT ID (specified in the <MaxAffiliationsN2> element of the <Common> element of the corresponding MCPTT user profile), shall based on MCPTT service provider policy reduce the candidate MCPTT group IDs to that equal to N2;

NOTE 2: The MCPTT service provider policy can determine to remove an MCPTT group ID based on the importance or priority of other MCPTT groups, received SIP requests containing an authorised request for originating a priority call as determined by clause 6.3.2.1.8.1 or other policy to determine which MCPTT groups are preferred.

10) if the determined MCPTT group ID cannot be added to the the candidate list of the MCPTT group information entries due to exceeding the MCPTT user’s N2 limit (specified in the <MaxAffiliationsN2> element of the <Common> element of the corresponding MCPTT user profile of the served MCPTT ID), shall discard the candidate list of the MCPTT group information entries and skip the remaining steps of the current procedure; and

11) shall replace the list of the MCPTT group information entries stored in the served MCPTT client information entry with the candidate list of the MCPTT group information entries.

9.2.2.2.13 Implicit affiliation status change completion

This clause is referenced from other procedures.

If the participating MCPTT function has received a SIP 2xx response from the controlling MCPTT function to a SIP request that had triggered performing the procedures of clause 9.2.2.2.12, the participating MCPTT function:

1) shall set the affiliation status of the MCPTT group information entry added to the candidate list of the MCPTT group information entries by the procedures of clause 9.2.2.2.12 to "affiliated"; and

2) shall perform the procedures specified in clause 9.2.2.2.5 for the served MCPTT ID.

9.2.2.2.14 Implicit affiliation status change cancellation

This clause is referenced from other procedures.

If the participating MCPTT function determines that a received SIP request that had triggered performing the procedures of clause 9.2.2.2.12 needs to be rejected or if the participating MCPTT function receives a SIP 4xx, 5xx or 6xx response from the controlling MCPTT function for the received SIP request, the participating MCPTT function:

1) shall remove the MCPTT group ID entry added by the procedures of clause 9.2.2.2.12 such that:

a) the MCPTT group information entry has the MCPTT group ID set to the MCPTT group ID of the MCPTT group targeted by the received SIP request;

b) the MCPTT group information entry is in the list of the MCPTT group information entries of an MCPTT client information entry containing the MCPTT client ID included in the received SIP request; and

c) the MCPTT client information entry is in the list of the MCPTT client information entries of the MCPTT user information entry containing the MCPTT ID of the sender of the received SIP request.

9.2.2.2.15 Implicit affiliation to configured groups procedure

This clause is referenced from other procedures.

If the participating MCPTT function has successfully performed service authorization for the MCPTT ID identified in the service authorisation procedure as described in 3GPP TS 33.180 [78], the participating MCPTT function:

1) shall identify the MCPTT ID included in the SIP request received for service authorisation procedure as the served MCPTT ID;

2) shall identify the MCPTT client ID from the <mcptt-client-id> element contained in the application/vnd.3gpp.mcptt-info+xml MIME body included in the SIP request received for service authorisation as the served MCPTT client ID;

3) shall download the MCPTT user profile from the MCPTT user database as defined in 3GPP TS 29.283 [73] if not already stored at the participating MCPTT function;

4) if no <ImplicitAffiliations> element is contained in the <OnNetwork> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]) for the served MCPTT ID or the <ImplicitAffiliations> element contains no <entry> elements containing an MCPTT group ID, shall skip the remaining steps;

5) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of MCPTT user information entries described in clause 9.2.2.2.2; and

b) the MCPTT ID of the MCPTT user information entry is equal to the served MCPTT ID;

as the served MCPTT user information entry;

6) shall consider an MCPTT client information entry such that:

a) the MCPTT client information entry is in the list of MCPTT client information entries of the served MCPTT user information entry; and

b) the MCPTT client ID of the MCPTT client information entry is equal to the served MCPTT client ID;

as the served MCPTT client information entry;

7) shall consider a copy of the list of the MCPTT group information entries of the served MCPTT client information entry as the served list of the MCPTT group information entries;

8) shall construct the candidate list of the MCPTT group information entries as follows:

a) for each MCPTT group ID which has an MCPTT group information entry in the served list of the MCPTT group information entries shall copy the MCPTT group information entry into a new MCPTT group information entry of the candidate list of the MCPTT group information entries;

b) for each MCPTT group ID contained in an <entry> element of the <ImplicitAffiliations> element in the <OnNetwork> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]) for the served MCPTT ID that does not have an MCPTT group information entry in the served list of the MCPTT group information entries or has an MCPTT group information entry in the served list of the MCPTT group information entries such that the expiration time of the MCPTT group information entry has already expired:

i) shall add a new MCPTT group information entry in the candidate list of the MCPTT group information list for the MCPTT group ID;

ii) shall set the affiliation status of the new MCPTT group information entry to the "affiliating" state; and

iii) shall set the expiration time of the new MCPTT group information entry to the current time increased with the candidate expiration interval;

c) if in step b) above, no new MCPTT group information entries were added to the candidate list of the MCPTT group information list for the MCPTT group ID:

i) shall discard the candidate list; and

ii) shall skip the remaining steps;

9) determine the candidate number of MCPTT group IDs as the number of different MCPTT group IDs which have an MCPTT group information entry:

a) in the candidate list of the MCPTT group information entries; or

b) in the list of the MCPTT group information entries of an MCPTT client information entry such that:

i) the MCPTT client information entry is in the list of the MCPTT client information entries of the served MCPTT user information entry; and

ii) the MCPTT client ID of the MCPTT client information entry is not equal to the served MCPTT client ID;

with the affiliation status set to the "affiliating" state or the "affiliated" state and with the expiration time which has not expired yet; and

c) if the candidate number of MCPTT group IDs is bigger than the N2 value of the served MCPTT ID (specified in the <MaxAffiliationsN2> element of the <Common> element of the corresponding MCPTT user profile), shall based on MCPTT service provider policy reduce the candidate MCPTT group IDs to that equal to N2;

NOTE 1: The MCPTT service provider policy can determine to remove an MCPTT group ID based on the importance or priority of other MCPTT groups, received SIP requests containing an authorised request for originating a priority call as determined by clause 6.3.2.1.8.1 or other policy to determine which MCPTT groups are preferred.

10) shall replace the list of the MCPTT group information entries stored in the served MCPTT client information entry with the candidate list of the MCPTT group information entries; and

11) for each MCPTT group ID contained in an <entry> element of the <ImplicitAffiliations> element in the <OnNetwork> element of the MCPTT user profile document (see the MCPTT user profile document in 3GPP TS 24.484 [50]) for the served MCPTT ID and which has an MCPTT group information entry in the candidate list of the MCPTT group information entries with an affiliation status of "affiliating", shall perform the procedures specified in clause 9.2.2.2.6 for the served MCPTT ID and each MCPTT group ID.

NOTE 2: To learn of the MCPTT groups successfully affiliated to, the MCPTT client can subscribe to that information by the procedures specified in clause 9.2.1.3.

9.2.2.2.16 Forwarding subscription to group dynamic data towards the controlling MCPTT server procedure

Upon receiving a SIP SUBSCRIBE request such that:

1) Request-URI of the SIP SUBSCRIBE request contains the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

2) the SIP SUBSCRIBE request contains an application/vnd.3gpp.mcptt-info MIME body containing the<mcptt-request-uri> element which identifies an MCPTT group ID not served by the MCPTT server;

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

4) the Event header field of the SIP SUBSCRIBE request contains the "presence" event type;

then the MCPTT server:

1) shall identify the target MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info MIME body of the SIP SUBSCRIBE request;

2) shall identify the originating MCPTT ID from public user identity in the P-Asserted-Identity header field of the SIP SUBSCRIBE request;

3) shall if the originating MCPTT ID is not authorized for this subscription reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

4) shall generate a SIP SUBSCRIBE request from the received SIP SUBSCRIBE request. In the generated SIP SUBSCRIBE request, the MCPTT server:

a) shall set the Request-URI to the public service identity identifying the controlling MCPTT function serving the target MCPTT group ID;

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

NOTE 2: 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 3: 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 4: How the participating MCPTT function determines the public service identity of the controlling MCPTT function serving he target MCPTT group ID 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.

b) shall include a P-Asserted-Identity header field containing the public service identity identifying the originating participating MCPTT function serving the MCPTT user;

c) shall include an application/vnd.3gpp.mcptt-info+xml MIME body. In the application/vnd.3gpp.mcptt-info+xml MIME body, the MCPTT server:

A) shall include the <mcptt-request-uri> element set to the target MCPTT group ID; and

B) shall include the <mcptt-calling-user-id> element set to the originating MCPTT ID; and

d) shall include other signalling elements from the received SIP SUBSCRIBE request; and

4) shall send the generated SIP SUBSCRIBE request according to 3GPP TS 24.229 [4].

The MCPTT server shall forward any received SIP responses to the SIP SUBSCRIBE request, any received SIP NOTIFY requests and any received SIP responses to the SIP NOTIFY request.

9.2.2.3 Procedures of MCPTT server owning the MCPTT group

9.2.2.3.1 General

The procedures of MCPTT server owning the MCPTT group consist of:

– receiving group affiliation status change procedure;

– receiving subscription to affiliation status procedure;

– sending notification of change of affiliation status procedure;

– affiliation eligibility check procedure;

– implicit affiliation eligibility check procedure;

– affiliation status change by implicit affiliation procedure;

– receiving subscription to group dynamic data procedure and;

– sending notification of change of group dynamic data procedure.

NOTE: Usage of CSC-3 part of MCPTT group affiliation procedure and of CSC-3 part of MCPTT group de-affiliation procedure is not specified in this version of the specification.

9.2.2.3.2 Stored information

The MCPTT server shall maintain a list of MCPTT group information entries.

In each MCPTT group information entry, the MCPTT server shall maintain:

1) an MCPTT group ID. This field uniquely identifies the MCPTT group information entry in the list of the MCPTT group information entries;

2) the status of the MCPTT group as defined in clause 10.1.5.5 of 3GPP TS 23.280[82], along with the MCPTT ID of the user that last changed the status; and

3) a list of MCPTT user information entries.

In each MCPTT user information entry, the MCPTT server shall maintain:

1) an MCPTT ID. This field uniquely identifies the MCPTT user information entry in the list of the MCPTT user information entries;

2) a list of MCPTT client information entries; and

3) an expiration time.

In each MCPTT client information entry, the MCPTT server shall maintain:

1) an MCPTT client ID. This field uniquely identifies the MCPTT client information entry in the list of the MCPTT client information entries.

9.2.2.3.3 Receiving group affiliation status change procedure

Upon receiving a SIP PUBLISH request such that:

1) Request-URI of the SIP PUBLISH request contains the public service identity of the controlling MCPTT function associated with the served MCPTT group;

2) the SIP PUBLISH request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the <mcptt-request-uri> element and the <mcptt-calling-user-id> element;

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

4) the Event header field of the SIP PUBLISH request contains the "presence" event type; and

5) SIP PUBLISH request contains an application/pidf+xml MIME body indicating per-group affiliation information constructed according to clause 9.3.1.2;

then the MCPTT server:

1) shall identify the served MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP PUBLISH request;

2) shall identify the handled MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP PUBLISH request;

3) if the Expires header field of the SIP PUBLISH request is not included or has nonzero value lower than 4294967295, shall send a SIP 423 (Interval Too Brief) response to the SIP PUBLISH request, where the SIP 423 (Interval Too Brief) response contains a Min-Expires header field set to 4294967295, and shall not continue with the rest of the steps;

4) if an MCPTT group for the served MCPTT group ID does not exist in the group management server according to 3GPP TS 24.481 [31], shall reject the SIP PUBLISH request with SIP 403 (Forbidden) response to the SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

5) if the handled MCPTT ID is not a member of the MCPTT group identified by the served MCPTT group ID, shall reject the SIP PUBLISH request with SIP 403 (Forbidden) response to the SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

6) shall respond with SIP 200 (OK) response to the SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37]. In the SIP 200 (OK) response, the MCPTT server:

a) shall set the Expires header field according to IETF RFC 3903 [37], to the selected expiration time;

7) if the "entity" attribute of the <presence> element of the application/pidf+xml MIME body of the SIP PUBLISH request is different than the served MCPTT group ID, shall not continue with the rest of the steps;

8) if the handled MCPTT ID is different from the MCPTT ID in the "id" attribute of the <tuple> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request, shall not continue with the rest of the steps;

9) shall consider an MCPTT group information entry such that:

a) the MCPTT group information entry is in the list of MCPTT group information entries described in clause 9.2.2.3.2; and

b) the MCPTT group ID of the MCPTT group information entry is equal to the served MCPTT group ID;

as the served MCPTT group information entry;

10) if the selected expiration time is zero:

a0) if the MCPTT group identity configuration for the served MCPTT group ID found in the group management server according to 3GPP TS 24.481 [31] contains:

i) a <forbidden-deaffiliation-FAs> element and the handled MCPTT ID has activated a functional alias that matches with one of the <entry> elements of the <forbidden-deaffiliation-FAs> element; or

ii) a <forbidden-deaffiliation-if-last-FAs> element and the handled MCPTT ID has activated a functional alias that matches with one of the <entry> elements of the <forbidden-deaffiliation-if-last-FAs> element and corresponds to the last user that has bound the functional alias to the served MCPTT group ID;

shall reject the SIP PUBLISH request with SIP 403 (Forbidden) response to the SIP PUBLISH request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

NOTE: The MCPTT server learns the functional aliases that are activated for an MCPTT ID from procedures specified in clause 9A.2.2.2.7.

a) shall remove the MCPTT user information entry such that:

i) the MCPTT user information entry is in the list of the MCPTT user information entries of the served MCPTT group information entry; and

ii) the MCPTT user information entry has the MCPTT ID set to the served MCPTT ID;

11) if the selected expiration time is not zero:

a) shall consider an MCPTT user information entry such that:

i) the MCPTT user information entry is in the list of the MCPTT user information entries of the served MCPTT group information entry; and

ii) the MCPTT ID of the MCPTT user information entry is equal to the handled MCPTT ID;

as the served MCPTT user information entry;

b) if the MCPTT user information entry does not exist:

i) shall insert an MCPTT user information entry with the MCPTT ID set to the handled MCPTT ID into the list of the MCPTT user information entries of the served MCPTT group information entry; and

ii) shall consider the inserted MCPTT user information entry as the served MCPTT user information entry; and

c) shall set the following information in the served MCPTT user information entry:

i) set the MCPTT client ID list according to the "client" attributes of the <affiliation> elements of the <status> element of the <tuple> element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request; and

ii) set the expiration time according to the selected expiration time;

12) shall identify the handled p-id in the <p-id> child element of the <presence> root element of the application/pidf+xml MIME body of the SIP PUBLISH request; and

13) shall perform the procedures specified in clause 9.2.2.3.5 for the served MCPTT group ID.

9.2.2.3.4 Receiving subscription to affiliation status procedure

NOTE: Usage of one SIP SUBSCRIBE request to subscribe for notification about change of affiliation state of several MCPTT users served by the same MCPTT server is not supported in this version of the specification.

Upon receiving a SIP SUBSCRIBE request such that:

1) Request-URI of the SIP SUBSCRIBE request contains the public service identity of the controlling MCPTT function associated with the served MCPTT group;

2) the SIP SUBSCRIBE request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the<mcptt-request-uri> element and the <mcptt-calling-user-id> element;

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

4) the Event header field of the SIP SUBSCRIBE request contains the "presence" event type; and

5) the SIP SUBSCRIBE request contains an application/simple-filter+xml MIME body indicating per-user restrictions of presence event package notification information according to clause 9.3.2 indicating the same MCPTT ID as in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

then the MCPTT server:

1) shall identify the served MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

2) shall identify the handled MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

3) if the Expires header field of the SIP SUBSCRIBE request is not included or has nonzero value lower than 4294967295, shall send a SIP 423 (Interval Too Brief) response to the SIP SUBSCRIBE request, where the SIP 423 (Interval Too Brief) response contains a Min-Expires header field set to 4294967295, and shall not continue with the rest of the steps;

4) if an MCPTT group for the served MCPTT group ID does not exist in the group management server according to 3GPP TS 24.481 [31], shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

5) if the handled MCPTT ID is not a member of the MCPTT group identified by the served MCPTT group ID, shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps; and

6) shall generate a SIP 200 (OK) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 6665 [26].

For the duration of the subscription, the MCPTT server shall notify subscriber about changes of the information of the served MCPTT ID, as described in clause 9.2.2.3.5.

9.2.2.3.5 Sending notification of change of affiliation status procedure

In order to notify the subscriber identified by the handled MCPTT ID about changes of the affiliation status of the served MCPTT group ID, the MCPTT server:

1) shall consider an MCPTT group information entry such that:

a) the MCPTT group information entry is in the list of MCPTT group information entries described in clause 9.2.2.3.2; and

b) the MCPTT group ID of the MCPTT group information entry is equal to the served MCPTT group ID;

2) shall consider an MCPTT user information entry such:

a) the MCPTT user information entry is in the list of the MCPTT user information entries of the served MCPTT group information entry; and

b) the MCPTT ID of the MCPTT user information entry is equal to the handled MCPTT ID;

as the served MCPTT user information entry;

3) shall generate an application/pidf+xml MIME body indicating per-group affiliation information according to clause 9.3.1 and the served list of the served MCPTT user information entry of the MCPTT group information entry with following clarifications:

a) the MCPTT server shall include the "expires" attribute in the <affiliation> element; and

b) if this procedures is invoked by procedure in clause 9.2.2.3.3 where the handled p-id was identified, the MCPTT server shall set the <p-id> child element of the <presence> root element of the application/pidf+xml MIME body of the SIP NOTIFY request to the handled p-id value; and

4) send a SIP NOTIFY request according to 3GPP TS 24.229 [4], and IETF RFC 6665 [26] for the subscription created in clause 9.2.2.3.4. In the SIP NOTIFY request, the MCPTT server shall include the generated application/pidf+xml MIME body indicating per-group affiliation information.

9.2.2.3.6 Implicit affiliation eligibility check procedure

This clause is referenced from other procedures.

Upon receiving a SIP request for an MCPTT group that the MCPTT user is not currently affiliated to and that requires the controlling MCPTT function to check on the eligibility of the MCPTT user to be implicitly affiliated to the MCPTT group, the controlling MCPTT function:

1) shall perform the procedures of clause 9.2.2.3.8 to determine if the MCPTT user is eligible to be affiliated to the MCPTT group; and

2) if the MCPTT user was determined eligible to be affiliated to the MCPTT group by the procedures of clause 9.2.2.3.8, shall consider the MCPTT user to be eligible for implicit affiliation to the MCPTT group.

9.2.2.3.7 Affiliation status change by implicit affiliation procedure

This clause is referenced from other procedures.

Upon receiving a SIP request for an MCPTT group that the MCPTT user is not currently affiliated to and that requires the controlling MCPTT function to perform an implicit affiliation to, the controlling MCPTT function:

1) shall identify the served MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP request;

2) shall identify the handled MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP request;

3) shall consider an MCPTT group information entry such that:

a) the MCPTT group information entry is in the list of MCPTT group information entries described in clause 9.2.2.3.2; and

b) the MCPTT group ID of the MCPTT group information entry is equal to the served MCPTT group ID;

as the served MCPTT group information entry;

4) shall consider an MCPTT user information entry such that:

a) the MCPTT user information entry is in the list of the MCPTT user information entries of the served MCPTT group information entry; and

b) the MCPTT ID of the MCPTT user information entry is equal to the handled MCPTT ID;

as the served MCPTT user information entry;

c) if the MCPTT user information entry does not exist:

i) shall insert an MCPTT user information entry with the MCPTT ID set to the handled MCPTT ID into the list of the MCPTT user information entries of the served MCPTT group information entry; and

ii) shall consider the inserted MCPTT user information entry as the served MCPTT user information entry; and

d) shall make the following modifications in the served MCPTT user information entry:

i) add the MCPTT client ID derived from the received SIP request to the MCPTT client ID list if not already present; and

ii) set the expiration time as determined by local policy;

5) shall perform the procedures specified in clause 9.2.2.3.5 for the served MCPTT group ID.

9.2.2.3.8 Affiliation eligibility check procedure

This clause is referenced from other procedures.

Upon receiving a SIP request for an MCPTT group that the MCPTT user is not currently affiliated to and that requires the controlling MCPTT function to check on the eligibility of the MCPTT user to be affiliated to the MCPTT group, the controlling MCPTT function shall:

1) shall identify the served MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP request;

2) shall identify the handled MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP request;

3) if an MCPTT group for the served MCPTT group ID does not exist in the group management server according to 3GPP TS 24.481 [31], shall consider the MCPTT user to be ineligible for affiliation and skip the rest of the steps;

4) if the handled MCPTT ID is not a member of the MCPTT group identified by the served MCPTT group ID, shall consider the MCPTT user to be ineligible for affiliation and skip the rest of the steps;

5) if there is no MCPTT group information entry in the list of MCPTT group information entries described in clause 9.2.2.3.2 with an MCPTT group identity matching the served MCPTT group ID, then shall consider the MCPTT user to be ineligible for affiliation and skip the rest of the steps; or

6) shall consider the MCPTT user to be eligible for affiliation.

9.2.2.3.9 Receiving subscription to group dynamic data procedure

Upon receiving a SIP SUBSCRIBE request such that:

1) Request-URI of the SIP SUBSCRIBE request contains the public service identity of the controlling MCPTT function associated with the served MCPTT group;

2) the SIP SUBSCRIBE request contains an application/vnd.3gpp.mcptt-info+xml MIME body containing the<mcptt-request-uri> element and the <mcptt-calling-user-id> element;

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

4) the Event header field of the SIP SUBSCRIBE request contains the "presence" event type; and

5) the SIP SUBSCRIBE request contains an application/simple-filter+xml MIME body indicating per-group dynamic data of presence event package notification information according to clause 9.3.2 indicating the same MCPTT group ID as in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

then the MCPTT server:

1) shall identify the served MCPTT group ID in the <mcptt-request-uri> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

2) shall identify the handled MCPTT ID in the <mcptt-calling-user-id> element of the application/vnd.3gpp.mcptt-info+xml MIME body of the SIP SUBSCRIBE request;

3) if the Expires header field of the SIP SUBSCRIBE request is not included or has nonzero value lower than 4294967295, shall send a SIP 423 (Interval Too Brief) response to the SIP SUBSCRIBE request, where the SIP 423 (Interval Too Brief) response contains a Min-Expires header field set to 4294967295, and shall not continue with the rest of the steps;

4) if an MCPTT group for the served MCPTT group ID does not exist in the group management server according to 3GPP TS 24.481 [31], shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

5) if the handled MCPTT ID is not authorized to subscribe to group dynamic data of the MCPTT group identified by the served MCPTT group ID, shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps; and

6) shall generate a SIP 200 (OK) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [4], IETF RFC 6665 [26].

For the duration of the subscription, the MCPTT server shall notify subscriber about changes of the information of the served MCPTT ID, as described in clause 9.2.2.3.10.

9.2.2.3.10 Sending notification of change of group dynamic data procedure

In order to notify the subscriber identified by the handled MCPTT ID about changes of the per-group dynamic data of the served MCPTT group ID, the MCPTT server:

1) shall consider an MCPTT group information entry such that:

a) the MCPTT group information entry is in the list of MCPTT group information entries described in clause 9.2.2.3.2; and

b) the MCPTT group ID of the MCPTT group information entry is equal to the served MCPTT group ID;

2) shall generate an application/pidf+xml MIME body indicating per-group dynamic data according to clause 9.3.1 with the following clarifications:

a) the MCPTT server shall include the "expires" attribute in the <affiliation> element; and

3) shall send a SIP NOTIFY request according to 3GPP TS 24.229 [4], and IETF RFC 6665 [26] for the subscription created in clause 9.2.2.3.8. In the SIP NOTIFY request, the MCPTT server shall include the generated application/pidf+xml MIME body indicating per-group dynamic data.

9.3 Coding

9.3.1 Extension of application/pidf+xml MIME type

9.3.1.1 Introduction

The clauses of the parent clause describe an extension of the application/pidf+xml MIME body specified in IETF RFC 3863 [52]. The extension is used to indicate:

– per-user affiliation information;

– per-group affiliation information; and

– per-group dynamic data information.

9.3.1.2 Syntax

The application/pidf+xml MIME body indicating per-user affiliation information is constructed according to IETF RFC 3863 [52] and:

1) contains a <presence> root element according to IETF RFC 3863 [52];

2) contains an "entity" attribute of the <presence> element set to the MCPTT ID of the MCPTT user;

3) contains one <tuple> child element according to IETF RFC 3863 [52] per each MCPTT client of the <presence> element;

4) can contain a <p-id> child element defined in the XML schema defined in table 9.3.1.2-1, of the <presence> element set to an identifier of a SIP PUBLISH request;

5) contains an "id" attribute of the <tuple> element set to the MCPTT client ID;

6) contains one <status> child element of each <tuple> element;

7) contains one <affiliation> child element defined in the XML schema defined in table 9.3.1.2-1, of the <status> element, for each MCPTT group in which the MCPTT user is interested at the MCPTT client;

8) contains a "group" attribute of each <affiliation> element set to the MCPTT group ID of the MCPTT group in which the MCPTT user is interested at the MCPTT client;

9) can contain a "status" attribute of each <affiliation> element indicating the affiliation status of the MCPTT user to MCPTT group at the MCPTT client; and

10) can contain an "expires" attribute of each <affiliation> element indicating expiration of affiliation of the MCPTT user to MCPTT group at the MCPTT client.

The application/pidf+xml MIME body indicating per-group affiliation information is constructed according to IETF RFC 3856 [51] and:

1) contains the <presence> root element according to IETF RFC 3863 [52];

2) contains an "entity" attribute of the <presence> element set to the MCPTT group ID of the MCPTT group;

3) contains one <tuple> child element according to IETF RFC 3863 [52] of the <presence> element;

4) can contain a <p-id> child element defined in the XML schema defined in table 9.3.1.2-1, of the <presence> element set to an identifier of a SIP PUBLISH request;

5) contains an "id" attribute of the <tuple> element set to the MCPTT ID of the MCPTT user;

6) contains one <status> child element of each <tuple> element;

7) contains one <affiliation> child element defined in the XML schema defined in table 9.3.1.2-1, of the <status> element, for each MCPTT client at which the MCPTT user is interested in the MCPTT group;

8) contains one "client" attribute defined in the XML schema defined in table 9.3.1.2-1, of the <affiliation> element set to the MCPTT client ID;

9) can contain an "expires" attribute defined in the XML schema defined in table 9.3.1.2-1, of the <affiliation> element indicating expiration of affiliation of the MCPTT user to MCPTT group at the MCPTT client; and

10) can contain one <functionalAlias> child element defined in the XML schema defined in table 9.3.1.2-1, of the <status> element, for each functional alias that the group member identified by the "id" attribute of the <tuple> element has activated with the "functionalAliasID" attribute set to the corresponding functional alias ID.

The application/pidf+xml MIME body indicating per-group dynamic data information is constructed according to IETF RFC 3856 [51] and:

1) contains the <presence> root element according to IETF RFC 3863 [52];

2) contains an "entity" attribute of the <presence> element set to the MCPTT group ID of the MCPTT group;

3) can contain a <groupStatus> child element defined in the XML schema, of the <presence> element set to an appropriate value specified in Table 9.3.1.2-3;

4) can contain a "ModifiedBy" attribute of the <groupStatus> element;

5) can contain an <additionalData> child element definied in the XML schema defined in table 9.3.1.2-1, of the <presence> element;

6) can contain a <groupBroadcastAlias> attribute defined in the XML schema defined in table 9.3.1.2-1 of the <additionalData> element;

7) can contain a <groupRegroupAlias> attribute defined in the XML schema defined in table 9.3.1.2-1 of the <additionalData> element;

8) can contain a <groupCallOnoing> attribute defined in the XML schema defined in table 9.3.1.2-1 of the <additionalData> element;

9) contains one <tuple> child element per affiliated MCPTT ID of the MCPTT group, according to IETF RFC 3863 [52] of the <presence> element;

10) contains an "id" attribute of the <tuple> element set to the MCPTT ID of the group member;

11) contains one <status> child element of each <tuple> element;

12) contains one <affiliation> child element defined in the XML schema defined in table 9.3.1.2-1, of the <status> element, for each MCPTT client at which the MCPTT user is interested in the MCPTT group;

13) contains one "client" attribute defined in the XML schema defined in table 9.3.1.2-1, of the <affiliation> element set to the MCPTT client ID;

14) can contain an "expires" attribute defined in the XML schema defined in table 9.3.1.2-1, of the <affiliation> element indicating expiration of affiliation of the MCPTT user to MCPTT group at the MCPTT client; and

15) can contain one <functionalAlias> child element defined in the XML schema defined in table 9.3.1.2-1, of the <status> element, for each functional alias that the group member identified by the "id" attribute of the <tuple> element has activated with the "functionalAliasID" attribute set to the corresponding functional alias ID.

Table 9.3.1.2-1: XML schema with elements and attributes extending the application/pidf+xml MIME body

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

<xs:schema

targetNamespace="urn:3gpp:ns:mcpttPresInfo:1.0"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:mcpttPI10="urn:3gpp:ns:mcpttPresInfo:1.0"

elementFormDefault="qualified" attributeFormDefault="unqualified">

<!– MCPTT specific child elements of presence element –>

<xs:element name="p-id" type="xs:string"/>

<xs:element name="groupStatus" type="mcpttPI10:groupStatusType"/>

<xs:element name="additionalData" type="mcpttPI10:additionalDataType"/>

<!– MCPTT specific child elements of tuple element –>

<xs:element name="affiliation" type="mcpttPI10:affiliationType"/>

<xs:complexType name="affiliationType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="group" type="xs:anyURI" use="optional"/>

<xs:attribute name="client" type="xs:anyURI" use="optional"/>

<xs:attribute name="status" type="mcpttPI10:statusType" use="optional"/>

<xs:attribute name="expires" type="xs:dateTime" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:element name="functionalAlias" type="mcpttPI10:functionalAliasType"/>

<xs:complexType name="functionalAliasType">

<xs:sequence>

<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="functionalAliasID" type="xs:anyURI" use="optional"/>

<xs:attribute name="expires" type="xs:dateTime" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:complexType>

<xs:simpleType name="statusType">

<xs:restriction base="xs:string">

<xs:enumeration value="affiliating"/>

<xs:enumeration value="affiliated"/>

<xs:enumeration value="deaffiliating"/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name="groupStatusType">

<xs:simpleContent>

<xs:extension base="xs:string">

<xs:attribute name="ModifiedBy" type="xs:anyURI" use="optional"/>

<xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name="emptyType"/>

<xs:complexType name="additionalDataType">

<xs:complexContent>

<xs:extension base="mcpttPI10:emptyType">

<xs:attribute name="groupBroadcastAlias" type="xs:anyURI" use="optional"/>

<xs:attribute name="groupRegroupAlias" type="xs:anyURI" use="optional"/>

<xs:attribute name="groupCallOngoing" type="xs:boolean" use="optional"/> <xs:anyAttribute namespace="##any" processContents="lax"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:schema>

The application/pidf+xml MIME body refers to namespaces using prefixes specified in table 9.3.1.2-2.

Table 9.3.1.2-2: Assignment of prefixes to namespace names in the application/pidf+xml MIME body

Prefix

Namespace

mcpttPI10

urn:3gpp:ns:mcpttPresInfo:1.0

NOTE: The "urn:ietf:params:xml:ns:pidf" namespace is the default namespace so no prefix is used for it in the application/pidf+xml MIME body.

Table 9.3.1.2-3 ABNF syntax of values of the <groupStatus> element

in-peril-value = %x69.6E.2D.70.65.72.69.6C ; "in-peril"

emergency-value = %x65.6D.65.72.67.65.6E.63.79 ; "emergency"

9.3.2 Extension of application/simple-filter+xml MIME type

9.3.2.1 Introduction

The clauses of the parent clause describe an extension of the application/simple-filter+xml MIME body specified in IETF RFC 4661 [63].

The extension is used to indicate per-client restrictions of presence event package notification information, per-user restrictions of presence event package notification information and per-group dynamic data restrictions of presence event package notification information.

9.3.2.2 Syntax

The application/simple-filter+xml MIME body indicating per-client restrictions of presence event package notification information is constructed according to IETF RFC 4661 [63] and:

1) contains a <filter-set> root element according to IETF RFC 4661 [63];

2) contains a <ns-bindings> child element according to IETF RFC 4661 [63], of the <filter-set> element;

3) contains a <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63] set to "pidf"; and

B) contains a "urn" attribute set to the "urn:ietf:params:xml:ns:pidf" value;

4) contains a <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63], set to "mcpttPI10"; and

B) contains an "urn" attribute according to IETF RFC 4661 [63], set to the "urn:3gpp:ns:mcpttPresInfo:1.0" value;

5) contains a <filter> child element according to IETF RFC 4661 [63], of the <filter-set> element where the <filter> element;

A) contains an "id" attribute set to a value constructed according to IETF RFC 4661 [63];

B) does not contain an "uri" attribute of the <filter> child element according to IETF RFC 4661 [63]; and

C) does not contain an "domain" attribute according to IETF RFC 4661 [63];

6) contains a <what> child element according to IETF RFC 4661 [63], of the <filter> element; and

7) contains an <include> child element according to IETF RFC 4661 [63], of the <what> element where the <include> element;

A) does not contain a "type" attribute according to IETF RFC 4661 [63]; and

B) contains the value, according to IETF RFC 4661 [63], set to concatenation of the ‘//pidf:presence/pidf:tuple[@id="’ string, the MCPTT client ID, and the ‘"]’ string.

The application/simple-filter+xml MIME body indicating per-user restrictions of presence event package notification information is constructed according to IETF RFC 4661 [63] and:

1) contains a <filter-set> root element according to IETF RFC 4661 [63];

2) contains a <ns-bindings> child element according to IETF RFC 4661 [63], of the <filter-set> element;

3) contains a <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63] set to "pidf"; and

B) contains a "urn" attribute set to the "urn:ietf:params:xml:ns:pidf" value;

4) contains a <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63], set to "mcpttPI10"; and

B) contains an "urn" attribute according to IETF RFC 4661 [63], set to the "urn:3gpp:ns:mcpttPresInfo:1.0" value;

5) contains a <filter> child element according to IETF RFC 4661 [63], of the <filter-set> element where the <filter> element;

A) contains an "id" attribute set to a value constructed according to IETF RFC 4661 [63];

B) does not contain an "uri" attribute of the <filter> child element according to IETF RFC 4661 [63]; and

C) does not contain an "domain" attribute according to IETF RFC 4661 [63];

6) contains a <what> child element according to IETF RFC 4661 [63], of the <filter> element; and

7) contains an <include> child element according to IETF RFC 4661 [63], of the <what> element where the <include> element;

A) does not contain a "type" attribute according to IETF RFC 4661 [63]; and

B) contains the value, according to IETF RFC 4661 [63], set to concatenation of the ‘//pidf:presence/pidf:tuple[@id="’ string, the MCPTT ID, and the ‘"]’ string.

The application/simple-filter+xml MIME body indicating per-group dynamic data restrictions of presence event package notification information is constructed according to IETF RFC 4661 [63] and:

1) contains a <filter-set> root element according to IETF RFC 4661 [63];

2) contains an <ns-bindings> child element according to IETF RFC 4661 [63], of the <filter-set> element;

3) contains an <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63] set to "pidf"; and

B) contains a "urn" attribute set to the "urn:ietf:params:xml:ns:pidf" value;

4) contains an <ns-binding> child element according to IETF RFC 4661 [63], of the <ns-bindings> element where the <ns-binding> element:

A) contains a "prefix" attribute according to IETF RFC 4661 [63], set to "mcpttPI10"; and

B) contains a "urn" attribute according to IETF RFC 4661 [63], set to the "urn:3gpp:ns:mcpttPresInfo:1.0" value;

5) contains a <filter> child element according to IETF RFC 4661 [63], of the <filter-set> element where the <filter> element;

A) contains an "id" attribute set to a value constructed according to IETF RFC 4661 [63];

B) does not contain a "uri" attribute of the <filter> child element according to IETF RFC 4661 [63]; and

C) does not contain a "domain" attribute according to IETF RFC 4661 [63];

6) contains a <what> child element according to IETF RFC 4661 [63], of the <filter> element; and

7) contains one or more <include> child elements according to IETF RFC 4661 [63], of the <what> element where the <include> element(s);

A) does not contain a "type" attribute according to IETF RFC 4661 [63]; and

B) can contain one of the values, according to IETF RFC 4661 [63], needed to retrieve the dynamic group data the UE is interested in:

a) "//pidf:presence/pidf:groupStatus/@pidf:ModifiedBy" if the group status is requested;

b) "//pidf:presence/pidf:additionalData/@pidf:groupBroadcastAlias" if the group broadcast alias is requested;

c) "//pidf:presence/pidf:additionalData/@pidf:groupRegroupAlias" if the group regroup alias is requested;

d) "//pidf:presence/pidf:additionalData/@pidf:groupCallOngoing" if the group call ongoing information is requested; or

e) "//pidf:presence/pidf:tuple/pidf:status/pidf:affiliation/@pidf:client [@pidf:status="affiliated"]" if the Contact address for all affiliated users are requested.