10.2.2 Basic call control

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

10.2.2.1 General

In this release of specification, media streams of off-network group call cannot be modified and the SDP is the same for the entire duration of the call.

The maximum number of simultaneous off-network group calls is limited by the value of "/<x>/Common/MCPTTGroupCall/MaxCallN4" leaf node present in the UE configuration as specified in 3GPP TS 24.483 [45].

10.2.2.2 Basic call control state machine

The Figure 10.2.2.2-1 gives an overview of the main states and transitions on the UE for call control.

Each call control state machine is per MCPTT group ID.

Figure 10.2.2.2-1: Basic call control state machine

The following pieces of information are associated with the basic call control state machine:

a) the stored call identifier of the call;

b) the probe response value of the call;

c) the stored refresh interval of the call;

d) the stored SDP body of the call;

e) the stored originating MCPTT user ID of the call;

f) the stored MCPTT group ID of the call; and

g) the stored call start time of the call.

The basic call control state machine has a related call type control state machine described in clause 10.2.3.2.

When sending the message, MCPTT client indicates the stored current ProSe per-packet priority associated with the call type control state machine to the lower layers.

10.2.2.3 Call Control states

10.2.2.3.1 S1: start-stop

This state exists for UE, when the UE is not part of an ongoing call.

This state is the start state of this state machine.

This state is the stop state of this state machine.

10.2.2.3.2 S2: waiting for call announcement

This state exists for UE, when the UE has sent a GROUP CALL PROBE message and is waiting for a GROUP CALL ANNOUNCEMENT message.

10.2.2.3.3 S3: part of ongoing call

This state exists for UE, when the UE is part of an ongoing group call.

10.2.2.3.4 S4: pending user action without confirm indication

This state exists for UE, when the UE has presented a notification to the MCPTT user for the received GROUP CALL ANNOUNCEMENT message, is waiting for a response and is not expected to send confirm indication.

10.2.2.3.5 S5: pending user action with confirm indication

This state exists for UE, when the UE has presented a notification to the MCPTT user for the received GROUP CALL ANNOUNCEMENT message, is waiting for a response and is expected to send confirm indication.

10.2.2.3.6 S6: ignoring incoming call announcements

This state exists for UE, when the group call was rejected or released, GROUP CALL ANNOUNCEMENT message was sent or received and GROUP CALL ANNOUNCEMENT messages continue being received.

10.2.2.3.7 S7: waiting for call announcement after call release

This state exists for UE, when the group call was released, GROUP CALL ANNOUNCEMENT message was neither sent nor received and GROUP CALL PROBE was sent.

10.2.2.4 Procedures

10.2.2.4.1 General
10.2.2.4.1.1 Call announcement timer calculation

10.2.2.4.1.1.1 Periodic call announcement timer calculation

The MCPTT client:

1) shall generate a random number, X, with uniform distribution between 0 and 1; and

2) shall set the TFG2 (periodic announcement) timer as follows:

– TFG2 (periodic announcement) = the refresh interval of the call * (2/3 + 2/3*X) seconds.

10.2.2.4.1.1.2 Call announcement timer calculation after CALL PROBE

The MCPTT client:

1) shall generate a random number, X, with uniform distribution between 0 and 1; and

2) shall set the TFG2 (periodic announcement) timer as follows:

– TFG2 (periodic announcement) = 1/12*X seconds.

10.2.2.4.1.2 Max duration timer calculation

The MCPTT client shall set the TFG6 (max duration) timer as follows:

– TFG6 (max duration) = X – (Y – Z) seconds, where:

– X = value of "/<x>/<x>/OffNetwork/MaxDuration" leaf node present in group configuration as specified in 3GPP TS 24.483 [45];

– Y = current UTC time, in seconds since midnight UTC of January 1, 1970 (not counting leap seconds);

– Z = Call start time IE of the GROUP CALL ANNOUNCEMENT message or the stored call start time, if a GROUP CALL ANNOUNCEMENT message was not received that caused this max duration timer calculation to be invoked.

10.2.2.4.2 Call Probe
10.2.2.4.2.1 Call probe initiation

When in the "S1: start-stop" state, upon an indication from an MCPTT user to initiate a group call for an MCPTT group ID, the MCPTT client:

1) shall store the MCPTT group ID as the MCPTT group ID of the call;

2) shall create a call type control state machine as described in clause 10.2.3.2;

3) shall generate a GROUP CALL PROBE message as specified in clause 15.1.2. In the GROUP CALL PROBE message, the MCPTT client:

a) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call;

4) shall send the GROUP CALL PROBE message as specified in clause 10.2.1.1.1;

5) shall start timer TFG3 (call probe retransmission);

6) shall start timer TFG1 (wait for call announcement); and

7) shall enter the "S2: waiting for call announcement" state.

10.2.2.4.2.2 Call probe retransmission

When in the "S2: waiting for call announcement" state, upon expiration of TFG3 (call probe retransmission), the MCPTT client:

1) shall generate a GROUP CALL PROBE message as specified in clause 15.1.2. In the GROUP CALL PROBE message, the MCPTT client:

a) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call;

2) shall send the GROUP CALL PROBE message as specified in clause 10.2.1.1.1;

3) shall start timer TFG3 (call probe retransmission); and

4) shall remain in the "S2: waiting for call announcement" state.

10.2.2.4.2.3 Receiving GROUP CALL PROBE message when participating in the ongoing call

When in the "S3: part of ongoing call" state, upon receiving a GROUP CALL PROBE message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the MCPTT client:

1) if the stored probe response value of the call is set to "false":

a) shall stop timer TFG2 (call announcement);

b) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.2; and

c) shall set the stored probe response of the call to "true"; and

2) shall remain in the "S3: part of ongoing call" state.

10.2.2.4.3 Call setup
10.2.2.4.3.1 Not receiving any response to GROUP CALL PROBE message

When in the "S2: waiting for call announcement" state, upon expiry of timer TFG1 (wait for call announcement), the MCPTT client:

1) shall stop timer TFG3 (call probe retransmission), if running;

2) shall generate an SDP body as specified in clause 10.2.1.1.2 and store it as the SDP body of the call;

3) shall generate a random number with uniform distribution between 0 and 65535 and store it as the call identifier of the call;

4) shall select refresh interval value and store it as the refresh interval of the call;

5) shall store own MCPTT user ID as the originating MCPTT user ID of the call;

6) shall store the current UTC time as the call start time of the call;

7) shall generate a GROUP CALL ANNOUNCEMENT message as specified in clause 15.1.3. In the GROUP CALL ANNOUNCEMENT message, the MCPTT client:

a) shall set the Call identifier IE to the stored call identifier of the call;

b) shall set the Call type IE to the stored current call type associated with the call type control state machine;

c) shall set the Refresh interval IE to the stored refresh interval of the call;

d) shall set the SDP IE to the stored SDP body of the call;

e) shall set the Originating MCPTT user ID IE to the stored originating MCPTT user ID of the call;

f) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call;

g) shall set the Call start time IE to the stored call start time of the call;

h) shall set the Last call type change time IE to the stored last call type change time of the call associated with call type control state machine;

i) shall set the Last user to change call type IE to last user to change call type associated with call type control state machine; and

j) may include the Confirm mode indication IE;

8) shall send the GROUP CALL ANNOUNCEMENT message as specified in clause 10.2.1.1.1;

9) shall establish a media session based on the stored SDP body of the call;

10) shall start floor control as originating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

11) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2 (using stored call start time);

12) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

13) shall enter the "S3: part of ongoing call" state.

Note: In this release of the specification, the refresh interval of the call is fixed to 10 seconds.

10.2.2.4.3.2 Receiving a GROUP CALL ANNOUNCEMENT message

When in the "S2: waiting for call announcement" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the MCPTT client:

1) shall stop timer TFG3 (call probe retransmission);

2) shall stop timer TFG1 (wait for call announcement);

3) shall store the value of the SDP IE of the GROUP CALL ANNOUNCEMENT message as the SDP body of the call;

4) shall store the value of the Call identifier IE of the GROUP CALL ANNOUNCEMENT message as the call identifier of the call;

5) shall store the value of the originating MCPTT user ID IE of the GROUP CALL ANNOUNCEMENT message as the Originating MCPTT user ID of the call;

6) shall store the value of the Refresh interval IE of the GROUP CALL ANNOUNCEMENT message as the refresh interval of the call;

7) shall store the value of the Call start time IE of the GROUP CALL ANNOUNCEMENT message as the call start time of the call;

8) shall establish a media session based on the stored SDP body of the call;

9) shall start floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

10) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2;

11) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

12) shall enter the "S3: part of ongoing call" state.

10.2.2.4.3.3 Receiving a GROUP CALL ANNOUNCEMENT message when not participating in the ongoing call

When in the "S1: start-stop" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE not matching MCPTT group ID of the call stored for other state machines, the MCPTT client:

1) shall store the value of the SDP IE of the GROUP CALL ANNOUNCEMENT message as the SDP body of the call;

2) shall store the value of the Call identifier IE of the GROUP CALL ANNOUNCEMENT message as the call identifier of the call;

3) shall store the value of the Originating MCPTT user ID IE of the GROUP CALL ANNOUNCEMENT message as the originating MCPTT user ID of the call;

4) shall store the value of the Refresh interval IE of the GROUP CALL ANNOUNCEMENT message as the refresh interval of the call;

5) shall store the value of the MCPTT group ID IE of the GROUP CALL ANNOUNCEMENT message as the MCPTT group ID of the call;

6) shall store the value of the Call start time IE of the GROUP CALL ANNOUNCEMENT message as the call start time of the call;

7) shall create a call type control state machine as described in clause 10.2.3.2;

8) if the terminating UE is configured that the terminating MCPTT user acknowledgement is required upon a terminating call request reception:

a) shall start timer TFG4 (waiting for the user);

b) if the GROUP CALL ANNOUNCEMENT message contains the Confirm mode indication IE, shall enter the "S5: pending user action with confirm indication" state; and

c) if the GROUP CALL ANNOUNCEMENT message does not contains the Confirm mode indication IE, shall enter the "S4: pending user action without confirm indication" state; and

9) if the terminating UE is configured that the terminating MCPTT user acknowledgement is not required upon a terminating call request reception:

a) shall establish a media session based on the stored SDP body of the call;

b) shall start floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

c) if the GROUP CALL ANNOUNCEMENT message contains the Confirm mode indication IE:

i) shall generate a GROUP CALL ACCEPT message as specified in clause 15.1.4. In the GROUP CALL ACCEPT message, the MCPTT client:

A) shall set the Call identifier IE to the stored call identifier of the call;

B) shall set the Sending MCPTT user ID IE to own MCPTT user id;

C) shall set the Call type IE to the stored current call type associated with the call type control state machine; and

D) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call; and

ii) shall send the GROUP CALL ACCEPT message as specified in clause 10.2.1.1.1;

d) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2;

e) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

f) shall enter the "S3: part of ongoing call" state.

10.2.2.4.3.4 MCPTT user accepts the terminating call with confirm indication

When in the "S5: pending user action with confirm indication" state, upon indication from the MCPTT user to accept the incoming group call, the MCPTT client:

1) shall establish a media session based on the stored SDP body of the call;

2) shall start floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

3) shall generate a GROUP CALL ACCEPT message as specified in clause 15.1.4. In the GROUP CALL ACCEPT message, the MCPTT client:

a) shall set the Call identifier IE to the stored call identifier of the call;

b) shall set the Sending MCPTT user ID IE to own MCPTT user id;

c) shall set the Call type IE to the stored current call type associated with the call type control state machine; and

d) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call; and

4) shall send the GROUP CALL ACCEPT message as specified in clause 10.2.1.1.1;

5) shall stop timer TFG4;

6) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2 (using stored call start time);

7) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

8) shall enter the "S3: part of ongoing call" state.

10.2.2.4.3.5 MCPTT user accepts the terminating call without confirm indication

When in the "S4: pending user action without confirm indication" state, upon an indication from the MCPTT user to accept the incoming group call, the MCPTT client:

1) shall establish a media session based on the stored SDP body of the call;

2) shall start floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

3) shall stop timer TFG4;

4) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2 (using stored call start time);

5) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

6) shall enter the "S3: part of ongoing call" state.

10.2.2.4.3.6 Receiving GROUP CALL ACCEPT message

When in the "S3: part of ongoing call" state, upon receiving a GROUP CALL ACCEPT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the MCPTT client:

1) can inform the MCPTT user about the call acceptance; and

2) shall remain in the "S3: part of ongoing call" state.

10.2.2.4.3.7 MCPTT user rejects the terminating call

When in the "S5: pending user action with confirm indication" state or the "S4: pending user action without confirm indication" state, upon an indication from the MCPTT user to reject the incoming group call, the MCPTT client:

1) shall stop timer TFG4 (waiting for the user);

2) shall start timer TFG5 (not present incoming call announcements); and

3) shall enter the "S6: ignoring incoming call announcements" state.

10.2.2.4.3.8 MCPTT user does not act on terminating call

When in the "S5: pending user action with confirm indication" state or the "S4: pending user action without confirm indication" state, upon expiration of timer TFG4 (waiting for the user), the MCPTT client:

1) shall start timer TFG5 (not present incoming call announcements); and

2) shall enter the "S6: ignoring incoming call announcements" state.

10.2.2.4.4 Periodic group call announcement
10.2.2.4.4.1 Sending periodic call announcement

When in the "S3: part of ongoing call" state, upon expiry of timer TFG2 (call announcement), the MCPTT client:

1) shall generate a GROUP CALL ANNOUNCEMENT message as specified in clause 15.1.3. In the GROUP CALL ANNOUNCEMENT message, the MCPTT client:

a) shall set the Call identifier IE to the stored call identifier of the call;

b) shall set the Call type IE to the stored current call type associated with the call type control state machine;

c) shall set the Refresh interval IE to the stored refresh interval of the call;

d) shall set the SDP IE to the stored SDP body of the call;

e) shall set the Originating MCPTT user ID IE to the stored originating MCPTT user ID of the call;

f) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call;

g) shall set the Last call type change time IE to the stored last call type change time of the call associated with call type control state machine;

h) shall set the Last user to change call type IE to last user to change call type associated with call type control state machine;

i) shall set the Call start time IE to the stored call start time of the call;

j) if the stored probe response value of the call is set to "true", shall include Probe response IE;

2) shall send the GROUP CALL ANNOUNCEMENT message as specified in clause 10.2.2.1.1.1;

3) if the stored probe response value of the call is set to "true", shall set the stored probe response value of the call to "false";

4) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

5) shall remain in the "S3: part of ongoing call" state.

10.2.2.4.4.2 Receiving periodic call announcement

When in the "S3: part of ongoing call" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the Call start time IE being the same as the stored call start time of the call, the Last call type change time IE being the same as the stored last call type change time of the call associated with the call type control state machine, the Last user to change call type IE being the same as the stored last user to change call type of the call associated with the call type control state machine and the Call identifier IE being the same as the stored call identifier of the call and Call type IE same as the stored current call type associated with the call type control state machine and:

1) if the stored probe response value of the call is set to "true" and GROUP CALL ANNOUNCEMENT message contains Probe response IE; or

2) if the stored probe response value of the call is set to "false":

the MCPTT client,

1) shall stop timer TFG2 (call announcement);

2) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1;

3) shall set the stored probe response of the call to "false", if set to "true"; and

4) shall remain in the "S3: part of ongoing call" state.

10.2.2.4.5 Call release
10.2.2.4.5.1 MCPTT user leaves the call when GROUP CALL ANNOUNCEMENT was sent or received

When in the "S3: part of ongoing call" state, the "S5: pending user action with confirm indication" state, or the "S4: pending user action without confirm indication" state, upon an indication from the MCPTT user to release the group call, the MCPTT client:

1) shall release the media session, if established;

2) shall stop floor control as specified in clause 7.2.3.9.2 in 3GPP TS 24.380 [5];

3) shall stop timer TFG4 (waiting for the user), if running;

4) shall stop timer TFG2 (call announcement), if running;

5) shall start timer TFG5 (not present incoming call announcements);

6) shall stop timer TFG6 (max duration), if running; and

7) shall enter the "S6: ignoring incoming call announcements" state.

10.2.2.4.5.2 Receiving GROUP CALL ANNOUNCEMENT message for rejected or released call

When in the "S6: ignoring incoming call announcements" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the MCPTT client:

1) shall store the value of the SDP IE of the GROUP CALL ANNOUNCEMENT message as the SDP body of the call;

2) shall store the value of the Call identifier IE of the GROUP CALL ANNOUNCEMENT message as the call identifier of the call;

3) shall store the value of the Originating MCPTT user ID IE of the GROUP CALL ANNOUNCEMENT message as the originating MCPTT user ID of the call;

4) shall store the value of the Refresh interval IE of the GROUP CALL ANNOUNCEMENT message as the refresh interval of the call;

5) shall store the value of the Call start time IE of the GROUP CALL ANNOUNCEMENT message as the call start time of the call;

6) shall stop timer TFG5 (not present incoming call announcements);

7) shall start timer TFG5 (not present incoming call announcements); and

8) shall remain in the "S6: ignoring incoming call announcements" state.

10.2.2.4.5.3 MCPTT user initiates originating call for rejected or released call

When in the "S6: ignoring incoming call announcements" state, upon an indication from the MCPTT user to initiate a group call for an MCPTT group ID matching the stored MCPTT group ID of the call, the MCPTT client:

1) stop timer TFG5 (not present incoming call announcements);

2) shall establish a media session based on the stored SDP body of the call;

3) shall start floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

4) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2 (using stored call start time);

5) shall start timer TFG2 (call announcement) with value as specified in clause 10.2.2.4.1.1.1; and

6) shall enter the "S3: part of ongoing call" state.

10.2.2.4.5.4 No GROUP CALL ANNOUNCEMENT messages for rejected or released call

When in the "S6: ignoring incoming call announcements" state, upon expiration of timer TFG5 (not present incoming call announcements), the MCPTT client:

1) shall release the stored SDP body of the call;

2) shall release the stored call identifier of the call;

3) shall release the stored originating MCPTT user ID of the call;

4) shall release the stored refresh interval of the call;

5) shall release the stored MCPTT group ID of the call;

6) shall release the stored call start time of the call;

7) shall destroy the call type control state machine as specified in clause 10.2.3.4.10 or 10.2.3.4.11; and

8) shall enter the "S1: start-stop" state.

10.2.2.4.5.5 MCPTT user leaves the call when GROUP CALL PROBE was sent

When in the "S2: waiting for call announcement" state, upon an indication from the MCPTT user to release the group call, the MCPTT client:

1) shall stop timer TFG3 (call probe retransmission); and

2) shall enter the "S7: Waiting for call announcement after call release" state.

10.2.2.4.5.6 MCPTT user initiates originating call for released call

When in the "S7: Waiting for call announcement after call release" state, upon an indication from the MCPTT user to initiate a group call for an MCPTT group ID matching the stored MCPTT group ID of the call, the MCPTT client:

1) shall stop timer TFG1 (wait for call announcement);

2) shall generate a GROUP CALL PROBE message as specified in clause 15.1.2. In the GROUP CALL PROBE message, the MCPTT client:

a) shall set the MCPTT group ID IE to the stored MCPTT group ID of the call; and

3) shall send the GROUP CALL PROBE message as specified in clause 10.2.1.1.1;

4) shall start timer TFG3 (call probe retransmission);

5) shall start timer TFG1 (wait for call announcement); and

6) shall enter the "S2: waiting for call announcement" state.

10.2.2.4.5.7 Receiving GROUP CALL ANNOUNCEMENT message for released call

When in the "S7: Waiting for call announcement after call release" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call, the MCPTT client:

1) shall store the value of the SDP IE of the GROUP CALL ANNOUNCEMENT message as the SDP body of the call;

2) shall store the value of the Call identifier IE of the GROUP CALL ANNOUNCEMENT message as the call identifier of the call;

3) shall store the value of the Originating MCPTT user ID IE of the GROUP CALL ANNOUNCEMENT message as the originating MCPTT user ID of the call;

4) shall store the value of the Refresh interval IE of the GROUP CALL ANNOUNCEMENT message as the refresh interval of the call;

5) shall store the value of the Call start time IE of the GROUP CALL ANNOUNCEMENT message as the call start time of the call;

6) shall stop timer TFG1 (wait for call announcement);

7) shall start timer TFG5 (not present incoming call announcements); and

8) shall enter the "S6: ignoring incoming call announcements" state.

10.2.2.4.5.8 No GROUP CALL ANNOUNCEMENT messages for released call

When in the "S7: Waiting for call announcement after call release" state, upon expiration of timer TFG1 (wait for call announcement), the MCPTT client:

1) shall release the stored MCPTT group ID of the call;

2) shall destroy the call type control state machine as specified in clause 10.2.3.4.11; and

3) shall enter the "S1: start-stop" state.

10.2.2.4.5.9 Max duration reached

When in the "S3: part of ongoing call" state, upon expiration of timer TFG6 (max duration), the MCPTT client:

1) shall release the media session;

2) shall stop floor control as specified in clause 7.2.3.9.2 in 3GPP TS 24.380 [5];

3) shall stop timer TFG2 (call announcement), if running;

4) shall start timer TFG5 (not present incoming call announcements); and

5) shall enter the "S6: ignoring incoming call announcements" state.

10.2.2.4.6 Merge of calls
10.2.2.4.6.1 Merge of two calls

When in the "S3: part of ongoing call" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCPTT group ID IE matching the stored MCPTT group ID of the call and:

1) the Originating MCPTT user ID IE is different from the stored originating MCPTT user ID of the call; or

2) the Call identifier IE is different from the stored call identifier of the call;

then:

1) if the stored current call type associated with the call type control state machine is "BASIC GROUP CALL" and the value of the Call type IE of GROUP CALL ANNOUNCEMENT message is either "IMMINENT PERIL GROUP CALL" or "EMERGENCY GROUP CALL";

2) if the stored current call type associated with the call type control state machine is "IMMINENT PERIL GROUP CALL" and the value of the Call type IE of GROUP CALL ANNOUNCEMENT message is "EMERGENCY GROUP CALL";

3) if the stored current call type associated with the call type control state machine being equal to the Call type IE of the GROUP CALL ANNOUNCEMENT message and the Call start time IE of the GROUP CALL ANNOUNCEMENT message being lower than the stored call start time of the call; or

4) if the stored current call type associated with the call type control state machine being equal to the Call type IE of the GROUP CALL ANNOUNCEMENT message and the Call start time IE of the GROUP CALL ANNOUNCEMENT message being equal to the stored call start time of the call and the Call identifier IE of the GROUP CALL ANNOUNCEMENT message being lower than the stored call identifier of the call;

the MCPTT client:

1) shall store the value of the SDP IE of the GROUP CALL ANNOUNCEMENT message as the SDP body of the call;

2) shall store the value of the Call identifier IE of the GROUP CALL ANNOUNCEMENT message as the call identifier of the call;

3) shall store the value of the Originating MCPTT user ID IE of the GROUP CALL ANNOUNCEMENT message as the originating MCPTT user ID of the call;

4) shall store the value of the Refresh interval IE of the GROUP CALL ANNOUNCEMENT message as the refresh interval of the call;

5) shall store the value of the Call start time IE of the GROUP CALL ANNOUNCEMENT message as the call start time of the call;

6) shall adjust the media session based on the stored SDP body of the call and restart floor control as terminating floor participant as specified in clause 7.2 in 3GPP TS 24.380 [5];

7) shall stop timer TFG6 (max duration);

8) shall start timer TFG6 (max duration) with value as specified in clause 10.2.2.4.1.2;

9) shall stop timer TFG2 (call announcement); and

10) shall start timer TFG2 (call announcement) with value according to rules and procedures as specified in clause 10.2.2.4.1.1.1; and

11) shall remain in the "S3: part of ongoing call" state.

10.2.2.4.7 Error handling

10.2.2.4.7.1 Unexpected MONP message received

Upon receiving a MONP message in a state where there is no handling specified for the MONP message, the MCPTT client shall discard the MONP message.

10.2.2.4.7.2 Unexpected indication from MCPTT user

Upon receiving an indication from the MCPTT user in a state where there is no handling specified for the indication, the MCPTT client shall ignore the indication.

10.2.2.4.7.3 Unexpected expiration of a timer

Upon expiration of a timer in a state where there is no handling specified for expiration of the timer, the MCPTT client shall ignore the expiration of the timer.