8 Affiliation

24.2813GPPMission Critical Video (MCVideo) signalling controlProtocol specificationRelease 16TS

8.1 General

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

Clause 8.2 contains the procedures for implicit affiliation at the MCVideo server serving the MCVideo user and the MCVideo server owning the MCVideo group.

Clause 8.3 describes the coding used for explicit affiliation.

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

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

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

– on receipt of a SIP MESSAGE request from an MCVideo client when initiating an MCVideo emergency alert targeted to an MCVideo group and the MCVideo client is not already affiliated to the MCVideo 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.2), as determined by configuration in the MCVideo user profile document as specified in 3GPP TS 24.484 [25].

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

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

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

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

8.2 Procedures

8.2.1 MCVideo client procedures

8.2.1.1 General

The MCVideo 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 MCVideo user; and

– a procedure for receiving affiliation status change request in negotiated mode from authorized MCVideo user.

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

8.2.1.2 Affiliation status change procedure

In order:

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

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

– to refresh indication of an MCVideo user interest in one or more MCVideo group(s) at an MCVideo client due to near expiration of the expiration time of an MCVideo group with the affiliation status set to the "affiliated" state received in a SIP NOTIFY request in clause 8.2.1.3;

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

– any combination of the above;

the MCVideo client shall generate a SIP PUBLISH request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12], and IETF RFC 3856 [13].

In the SIP PUBLISH request, the MCVideo client:

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

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

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

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

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

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

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

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

b) shall include the MCVideo client ID of the targeted MCVideo 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.

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

8.2.1.3 Affiliation status determination procedure

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

In order to discover MCVideo groups:

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

2) which another MCVideo user is affiliated to;

the MCVideo client shall generate an initial SIP SUBSCRIBE request according to 3GPP TS 24.229 [11], IETF RFC 3856 [13], and IETF RFC 6665 [16].

In the SIP SUBSCRIBE request, the MCVideo client:

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

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

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

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

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

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

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

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

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

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

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

2) if the MCVideo client wants to de-subscribe, shall set the Expires header field according to IETF RFC 6665 [16], 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 [11], IETF RFC 3856 [13], and IETF RFC 6665 [16], if SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-user affiliation information constructed according to clause 8.3.1, then the MCVideo client shall determine affiliation status of the MCVideo user for each MCVideo group at the MCVideo 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.

8.2.1.4 Procedure for sending affiliation status change request in negotiated mode to target MCVideo user

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

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

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

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

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

4) shall include an application/vnd.3gpp.mcvideo-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 [11].

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

8.2.1.5 Procedure for receiving affiliation status change request in negotiated mode from authorized MCVideo user

Upon receiving a SIP MESSAGE request containing:

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

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

then the MCVideo client:

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

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

3) if the user accepts the request:

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

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

8.2.1.6 Subscription to group dynamic data

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

In the SIP SUBSCRIBE request, the MCVideo client:

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

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

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

4) if the MCVideo 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 MCVideo 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 8.3.2, indicating the MCVideo group ID.

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

1) if the MCVideo 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 MCVideo 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 [11], 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 8.3.1, then the MCVideo client shall determine per-group dynamic data of the MCVideo group in the MIME body.

8.2.2 MCVideo server procedures

8.2.2.1 General

The MCVideo server procedures consist of:

– procedures of MCVideo server serving the MCVideo user; and

– procedures of MCVideo server owning the MCVideo group.

8.2.2.2 Procedures of MCVideo server serving the MCVideo user

8.2.2.2.1 General

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

– a receiving affiliation status change from MCVideo client procedure;

– a receiving subscription to affiliation status procedure;

– a sending notification of change of affiliation status procedure;

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

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

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

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

– a forwarding subscription to affiliation status towards another MCVideo 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; and

– an implicit affiliation to configured groups procedure.

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

8.2.2.2.2 Stored information

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

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

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

2) a list of MCVideo client information entries.

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

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

2) a list of MCVideo group information entries.

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

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

2) an affiliation status;

3) an expiration time;

4) an affiliating p-id; and

5) a next publishing time.

8.2.2.2.3 Receiving affiliation status change from MCVideo 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 MCVideo function serving the MCVideo user, or the public service identity identifying the terminating participating MCVideo function serving the MCVideo user;

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

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

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

then the MCVideo server:

1) shall identify the served MCVideo ID in the <mcvideo-request-uri> element of the application/vnd.3gpp.mcvideo-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 MCVideo function serving the MCVideo user, shall identify the originating MCVideo 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 MCVideo function serving the MCVideo user, shall identify the originating MCVideo ID in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-info+xml MIME body of the SIP PUBLISH request;

4) if the originating MCVideo ID is different than the served MCVideo ID and the originating MCVideo ID is not authorized to modify affiliation status of the served MCVideo 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 [12];

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 [11], IETF RFC 3903 [12]. In the SIP 200 (OK) response, the MCVideo server:

a) shall set the Expires header field according to IETF RFC 3903 [12], 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 MCVideo ID, shall not continue with the rest of the steps;

10) shall identify the served MCVideo 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 MCVideo user information entry such that:

a) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

as the served MCVideo user information entry;

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

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

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

as the served MCVideo client information entry;

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

14) if the candidate expiration interval is nonzero:

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

i) for each MCVideo group ID which has an MCVideo group information entry in the served list of the MCVideo group information entries, such that the expiration time of the MCVideo 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 MCVideo group information entry into a new MCVideo group information entry of the candidate list of the MCVideo group information entries;

B) if the affiliation status of the MCVideo group information entry is "deaffiliating" or "deaffiliated", shall set the affiliation status of the new MCVideo group information entry to the "affiliating" state and shall reset the affiliating p-id of the new MCVideo group information entry; and

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

ii) for each MCVideo group ID which has an MCVideo group information entry in the served list of the MCVideo group information entries, such that the expiration time of the MCVideo 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 MCVideo group information entry into a new MCVideo group information entry of the candidate list of the MCVideo group information entries; and

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

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

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

iii) for each MCVideo group ID:

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

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

and which is indicated in a "group" element 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 MCVideo group information entry in the candidate list of the MCVideo group information list for the MCVideo group ID;

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

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

D) shall reset the affiliating p-id of the new MCVideo group information entry;

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

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

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

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

B) the MCVideo client ID of the MCVideo client information entry is not equal to the served MCVideo 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 MCVideo group IDs is bigger than N2 value of the served MCVideo ID, shall based on MCVideo service provider policy reduce the candidate MCVideo group IDs to that equal to N2;

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

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

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

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

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

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

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

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

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

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

c) which has an MCVideo group information entry in the served list of the MCVideo 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 MCVideo group information entry in the candidate list of the MCVideo group information entries with the affiliation status set to the "affiliating" state; or

d) which has an MCVideo group information entry in the served list of the MCVideo group information entries with the affiliation status set to the "affiliated" state and with the expiration time not expired yet, and which has an MCVideo group information entry in the candidate list of the MCVideo 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 8.2.2.2.5 for the served MCVideo ID.

8.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 MCVideo function serving the MCVideo user, or the public service identity identifying the terminating participating MCVideo function serving the MCVideo user;

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

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

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

the MCVideo server:

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

2) if the Request-URI of the SIP SUBSCRIBE request contains the public service identity identifying the originating participating MCVideo function serving the MCVideo user, shall identify the originating MCVideo 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 MCVideo function serving the MCVideo user, shall identify the originating MCVideo ID in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-info+xml MIME body of the SIP SUBSCRIBE request;

4) if the originating MCVideo ID is different than the served MCVideo ID and the originating MCVideo ID is not authorized to modify affiliation status of the served MCVideo 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 [11], IETF RFC 6665 [16].

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

8.2.2.2.5 Sending notification of change of affiliation status procedure

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

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

a) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

as the served MCVideo user information entry;

2) shall consider the list of the MCVideo client information entries of the served MCVideo user information entry as the served list of the MCVideo 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 MCVideo client information entries with the following clarifications:

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

b) the MCVideo server shall not include information from an MCVideo 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 according to clause 8.3.2, the MCVideo 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 8.2.2.2.3 where the handled p-id value was identified, the MCVideo 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 [11], and IETF RFC 6665 [16] with the MIME body. In the SIP NOTIFY request, the MCVideo server shall include the generated application/pidf+xml MIME body indicating per-user affiliation information.

8.2.2.2.6 Sending affiliation status change towards MCVideo server owning MCVideo group procedure

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

In order:

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

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

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

the MCVideo server shall generate a SIP PUBLISH request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12] and IETF RFC 3856 [13]. In the SIP PUBLISH request, the MCVideo server:

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

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

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

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

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

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

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

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

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

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

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

a) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

as the served MCVideo user information entry;

9) for each MCVideo group information entry such that:

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

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

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

shall set the affiliating p-id of the MCVideo 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 8.2.3.2. The MCVideo server shall indicate all served MCVideo client IDs, such that:

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

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

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

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

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

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

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

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

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

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

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

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

8.2.2.2.7 Affiliation status determination from MCVideo server owning MCVideo group procedure

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

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

In the SIP SUBSCRIBE request, the MCVideo server:

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

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

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

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

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

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

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

5) if the MCVideo server wants to fetch the current state only, shall set the Expires header field according to IETF RFC 6665 [16], 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 8.3.2, indicating the served MCVideo ID.

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

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

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

2) if the MCVideo server wants to de-subscribe, shall set the Expires header field according to IETF RFC 6665 [16], 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 [11], IETF RFC 3856 [13], and IETF RFC 6665 [16], if SIP NOTIFY request contains an application/pidf+xml MIME body indicating per-group affiliation information constructed according to clause 8.3.1, then the MCVideo server:

1) for each served MCVideo ID and served MCVideo 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 MCVideo 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 MCVideo client ID; and

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

perform the following:

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

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

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

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

iv) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

shall set the next publishing time of the MCVideo 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 MCVideo group information entry such that:

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

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

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

d) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.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 MCVideo 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 MCVideo client ID.

perform the following:

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

b) shall set the expiration time of the MCVideo 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 MCVideo group information entry such that:

a) the MCVideo group information entry has the "affiliating" affiliation status, the MCVideo group ID set to the handled MCVideo 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 MCVideo group information entry is in the list of the MCVideo group information entries of an MCVideo client information entry with the MCVideo client ID set to a served MCVideo client ID;

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

d) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.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 MCVideo 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 MCVideo client ID;

perform the following:

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

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

8.2.2.2.8 Procedure for authorizing affiliation status change request in negotiated mode sent to served MCVideo 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 MCVideo function serving the MCVideo user;

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

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

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

then the MCVideo server:

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

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

3) if the originating MCVideo ID is not authorized to send an affiliation status change request in negotiated mode to the served MCVideo 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 MCVideo ID in the MCVideo 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.mcvideo" along with the "require" and "explicit" header field parameters according to IETF RFC 3841 [20];

before forwarding the SIP MESSAGE request further.

8.2.2.2.9 Forwarding affiliation status change towards another MCVideo 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 MCVideo function serving the MCVideo user;

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

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

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

then the MCVideo server:

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

2) shall identify the originating MCVideo 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 MCVideo server:

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

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

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

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

B) shall include the <mcvideo-calling-user-id> element set to the originating MCVideo 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 [11].

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

8.2.2.2.10 Forwarding subscription to affiliation status towards another MCVideo user procedure

Upon receiving a SIP SUBSCRIBE request such that:

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

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

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

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

then the MCVideo server:

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

2) shall identify the originating MCVideo 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 MCVideo server:

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

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

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

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

B) shall include the <mcvideo-calling-user-id> element set to the originating MCVideo 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 [11].

The MCVideo 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.

8.2.2.2.11 Affiliation status determination

This clause is referenced from other procedures.

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

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

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

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

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

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

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

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

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

8.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 MCVideo client to an MCVideo group, the participating MCVideo function:

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

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

3) shall determine the served MCVideo ID by using the public user identity in the P-Asserted-Identity header field of the SIP request;

NOTE 1: The MCVideo ID of the calling user is bound to the public user identity at the time of service authorisation.

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

a) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

as the served MCVideo user information entry;

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

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

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

as the served MCVideo client information entry;

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

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

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

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

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

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

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

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

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

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

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

ii) the MCVideo client ID of the MCVideo client information entry is not equal to the served MCVideo 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 MCVideo group IDs is bigger than the N2 value of the served MCVideo ID, shall based on MCVideo service provider policy reduce the candidate MCVideo group IDs to that equal to N2;

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

10) if the determined MCVideo group ID cannot be added to the the candidate list of the MCVideo group information entries due to exceeding the MCVideo user’s N2 limit, shall discard the candidate list of the MCVideo group information entries and skip the remaining steps of the current procedure; and

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

8.2.2.2.13 Implicit affiliation status change completion

This clause is referenced from other procedures.

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

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

2) shall perform the procedures specified in clause 8.2.2.2.5 for the served MCVideo ID.

8.2.2.2.14 Implicit affiliation status change cancellation

This clause is referenced from other procedures.

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

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

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

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

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

8.2.2.2.15 Implicit affiliation to configured groups procedure

This clause is referenced from other procedures.

If the participating MCVideo function has successfully performed service authorisation for the MCVideo ID identified in the service authorisation procedure, the participating MCVideo function:

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

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

3) shall download the MCVideo user profile from the MCVideo user database if not already stored at the participating MCVideo function;

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

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

a) the MCVideo user information entry is in the list of MCVideo user information entries described in clause 8.2.2.2.2; and

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

as the served MCVideo user information entry;

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

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

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

as the served MCVideo client information entry;

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

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

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

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

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

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

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

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

i) shall discard the candidate list; and

ii) shall skip the remaining steps;

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

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

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

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

ii) the MCVideo client ID of the MCVideo client information entry is not equal to the served MCVideo 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 MCVideo group IDs is bigger than the N2 value of the served MCVideo ID, shall based on MCVideo service provider policy reduce the candidate MCVideo group IDs to that equal to N2;

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

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

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

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

8.2.2.2.16 Forwarding subscription to group dynamic data towards the controlling MCVideo 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 MCVideo function serving the MCVideo user;

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

3) the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcvideo" (coded as specified in 3GPP TS 24.229 [11]), 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 MCVideo server:

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

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

3) shall if the originating MCVideo 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 [11], 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 MCVideo server:

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

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

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

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

B) shall include the <mcvideo-calling-user-id> element set to the originating MCVideo 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 [11].

The MCVideo 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.

8.2.2.3 Procedures of MCVideo server owning the MCVideo group

8.2.2.3.1 General

The procedures of MCVideo server owning the MCVideo 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; and

– 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 MCVideo group affiliation procedure and of CSC-3 part of MCVideo group de-affiliation procedure is not specified in this version of the specification.

8.2.2.3.2 Stored information

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

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

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

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

3) a list of MCVideo user information entries.

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

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

2) a list of MCVideo client information entries; and

3) an expiration time.

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

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

8.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 MCVideo function associated with the served MCVideo group;

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

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

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

then the MCVideo server:

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

2) shall identify the handled MCVideo ID in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-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 MCVideo group for the served MCVideo group ID does not exist in the group management server according to 3GPP TS 24.481 [24], shall reject the SIP PUBLISH request with SIP 403 (Forbidden) response to the SIP PUBLISH request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12] and IETF RFC 3856 [13] and skip the rest of the steps;

5) if the handled MCVideo ID is not a member of the MCVideo group identified by the served MCVideo group ID, shall reject the SIP PUBLISH request with SIP 403 (Forbidden) response to the SIP PUBLISH request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12] and IETF RFC 3856 [13] 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 [11], IETF RFC 3903 [12]. In the SIP 200 (OK) response, the MCVideo server:

a) shall set the Expires header field according to IETF RFC 3903 [12], 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 MCVideo group ID, shall not continue with the rest of the steps;

8) if the handled MCVideo ID is different from the MCVideo 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 MCVideo group information entry such that:

a) the MCVideo group information entry is in the list of MCVideo group information entries described in clause 8.2.2.3.2; and

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

as the served MCVideo group information entry;

10) if the selected expiration time is zero:

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

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

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

11) if the selected expiration time is not zero:

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

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

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

as the served MCVideo user information entry;

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

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

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

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

i) set the MCVideo 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 8.2.2.3.5 for the served MCVideo group ID.

8.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 MCVideo users served by the same MCVideo 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 MCVideo function associated with the served MCVideo group;

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

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

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 8.3.2 indicating the same MCVideo ID as in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-info+xml MIME body of the SIP SUBSCRIBE request;

then the MCVideo server:

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

2) shall identify the handled MCVideo ID in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-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 MCVideo group for the served MCVideo group ID does not exist in the group management server, shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12] and IETF RFC 3856 [13] and skip the rest of the steps;

5) if the handled MCVideo ID is not a member of the MCVideo group identified by the served MCVideo group ID, shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [11], IETF RFC 3903 [12] and IETF RFC 3856 [13] 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 [11], IETF RFC 6665 [16].

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

8.2.2.3.5 Sending notification of change of affiliation status procedure

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

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

a) the MCVideo group information entry is in the list of MCVideo group information entries described in clause 8.2.2.3.2; and

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

2) shall consider an MCVideo user information entry such:

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

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

as the served MCVideo 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 MCVideo user information entry of the MCVideo group information entry with following clarifications:

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

b) if this procedures is invoked by procedure in clause 8.2.2.3.3 where the handled p-id was identified, the MCVideo 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 [11], and IETF RFC 6665 [16]. In the SIP NOTIFY request, the MCVideo server shall include the generated application/pidf+xml MIME body indicating per-group affiliation information.

8.2.2.3.6 Implicit affiliation eligibility check procedure

This clause is referenced from other procedures.

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

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

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

8.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 MCVideo group that the MCVideo user is not currently affiliated to and that requires the controlling MCVideo function to perform an implicit affiliation to, the controlling MCVideo function:

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

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

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

a) the MCVideo group information entry is in the list of MCVideo group information entries described in clause 8.2.2.3.2; and

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

as the served MCVideo group information entry;

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

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

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

as the served MCVideo user information entry;

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

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

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

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

i) add the MCVideo client ID derived from the received SIP request to the MCVideo 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 8.2.2.3.5 for the served MCVideo group ID.

8.2.2.3.8 Affiliation eligibility check procedure

This clause is referenced from other procedures.

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

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

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

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

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

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

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

8.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 MCVideo function associated with the served MCVideo group;

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

3) the ICSI value "urn:urn-7:3gpp-service.ims.icsi.mcvideo" (coded as specified in 3GPP TS 24.229 [11]), 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 8.3.2 indicating the same MCVideo group ID as in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-info+xml MIME body of the SIP SUBSCRIBE request;

then the MCVideo server:

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

2) shall identify the handled MCVideo ID in the <mcvideo-calling-user-id> element of the application/vnd.3gpp.mcvideo-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 MCVideo group for the served MCVideo 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 [11], IETF RFC 3903 [37] and IETF RFC 3856 [51] and skip the rest of the steps;

5) if the handled MCVideo ID is not authorized to subscribe to group dynamic data of the MCVideo group identified by the served MCVideo group ID, shall reject the SIP SUBSCRIBE request with SIP 403 (Forbidden) response to the SIP SUBSCRIBE request according to 3GPP TS 24.229 [11], 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 [11], IETF RFC 6665 [26].

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

8.2.2.3.10 Sending notification of change of group dynamic data procedure

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

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

a) the MCVideo group information entry is in the list of MCVideo group information entries described in clause 8.2.2.3.2; and

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

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

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

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

8.3 Coding

8.3.1 Extension of application/pidf+xml MIME type

8.3.1.1 Introduction

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

– per-user affiliation information;

– per-group affiliation information; and

– per-group dynamic data information.

8.3.1.2 Syntax

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

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

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

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

4) can contain a <p-id> child element defined in the XML schema defined in table 8.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 MCVideo 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 8.3.1.2-1, of the <status> element, for each MCVideo group in which the MCVideo user is interested at the MCVideo client;

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

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

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

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

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

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

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

4) can contain a <p-id> child element defined in the XML schema defined in table 8.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 MCVideo ID of the MCVideo 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 8.3.1.2-1, of the <status> element, for each MCVideo client at which the MCVideo user is interested in the MCVideo group;

8) contains one "client" attribute defined in the XML schema defined in table 8.3.1.2-2, of the <affiliation> element set to the MCVideo client ID; and

9) can contain an "expires" attribute defined in the XML schema defined in table 8.3.1.2-2, of the <affiliation> element indicating expiration of affiliation of the MCVideo user to MCVideo group at the MCVideo client.

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 MCVideo group ID of the MCVideo 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 8.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 8.3.1.2-1, of the <presence> element;

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

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

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

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

10) contains an "id" attribute of the <tuple> element set to the MCVideo 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 8.3.1.2-1, of the <status> element, for each MCVideo client at which the MCVideo user is interested in the MCVideo group;

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

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

Table 8.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:mcvideoPresInfo:1.0"

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

xmlns:mcvideoPI10="urn:3gpp:ns:mcvideoPresInfo:1.0"

elementFormDefault="qualified" attributeFormDefault="unqualified">

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

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

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

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

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

<xs:element name="affiliation" type="mcvideoPI10: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="mcvideoPI10:statusType" 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="mcvideoPI10: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 8.3.1.2-2.

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

Prefix

Namespace

mcvideoPI10

urn:3gpp:ns:mcvideoPresInfo: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 8.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"

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

8.3.2.1 Introduction

The parent clause of this clause describes extension of the application/simple-filter+xml MIME body specified in IETF RFC 4661 [19].

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.

8.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 [19] and:

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

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

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

A) contains a "prefix" attribute according to IETF RFC 4661 [19] 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 [19], of the <ns-bindings> element where the <ns-binding> element:

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

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

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

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

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

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

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

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

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

B) contains the value, according to IETF RFC 4661 [19], set to concatenation of the ‘//pidf:presence/pidf::tuple[@id="’ string, the MCVideo 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 [19] and:

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

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

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

A) contains a "prefix" attribute according to IETF RFC 4661 [19] 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 [19], of the <ns-bindings> element where the <ns-binding> element:

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

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

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

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

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

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

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

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

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

B) contains the value, according to IETF RFC 4661 [19], set to concatenation of the ‘//pidf:presence/pidf::tuple[@id="’ string, the MCVideo 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 "mcvideoPI10"; and

B) contains a "urn" attribute according to IETF RFC 4661 [63], set to the "urn:3gpp:ns:mcvideoPresInfo: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.