10.3 Off-network Broadcast group call

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

10.3.1 General

10.3.2 Basic call control

10.3.2.1 General

10.3.2.2 Broadcast group call control state machine

The figure 10.3.2.2-1 gives an overview of the main states and transitions on the UE for broadcast group call control.

Figure 10.3.2.2-1: Broadcast group call control state machine

10.3.2.3 Broadcast group call Control states

10.3.2.3.1 B1: start-stop

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

10.3.2.3.2 B2: in-progress broadcast group call

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

10.3.2.3.3 B3: pending user action

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

10.3.2.3.4 B4: ignoring same call ID

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

10.3.2.4 Procedures

10.3.2.4.1 User initiating a broadcast group call

When in the "B1: start-stop" state, upon the indication from MCPTT user to initiate the broadcast group call, the MCPTT client:

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

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

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

4) shall store "BROADCAST GROUP CALL" as the current call type;

5) shall generate a GROUP CALL BROADCAST message as specified in clause 15.1.20. In the GROUP CALL BROADCAST 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;

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

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

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

6) shall set the ProSe per-packet priority to the value corresponding to MCPTT off-network broadcast calls described in 3GPP TS 24.483 [45];

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

8) shall send the GROUP CALL BROADCAST 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 timer TFB2 (broadcast retransmission);

11) shall start timer TFB1 (max duration); and

12) shall enter the "B2: in-progress broadcast group call" state.

10.3.2.4.2 Terminating UE receiving a GROUP CALL BROADCAST message when not participating in the in-progress broadcast group call

When in the "B1: start-stop" state, upon receiving a GROUP CALL BROADCAST message with the Call identifier IE not matching any in-progress broadcast group call, the MCPTT client:

1) shall store the value of the Call identifier IE of the GROUP CALL BROADCAST message as the call identifier of the call;

2) shall store the value of the Call type IE of the GROUP CALL BROADCAST message as the received current call type;

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

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

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

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

i) shall start timer TFB3 (waiting for the user);

ii) shall notify the MCPTT user; and

iii) shall enter the "B3: pending user action" state; and

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

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

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

iii) shall start timer TFB1 (max duration); and

iv) shall enter the "B2: in-progress broadcast group call" state.

10.3.2.4.3 MCPTT user accepts the terminating call

When in the "B3: pending user action" state, upon indication from the MCPTT user to accept the incoming broadcast 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 described specified in clause 7.2 in 3GPP TS 24.380 [5];

3) shall stop timer TFB3 (waiting for the user);

4) shall start timer TFB1 (max duration); and

5) shall enter the "B2: in-progress broadcast group call" state.

10.3.2.4.4 MCPTT user rejects the terminating call

When in the "B3: pending user action" state, upon an indication from the MCPTT user to reject the incoming broadcast group call, the MCPTT client:

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

2) shall start timer TFB1 (max duration); and

3) shall enter the "B4: ignoring same call ID" state.

10.3.2.4.5 MCPTT user does not act on terminating call

When in the "B3: pending user action" state, upon expiration of timer TFB3 (waiting for the user), the MCPTT client:

1) shall start timer TFB1 (max duration); and

2) shall enter the "B4: ignoring same call ID" state.

10.3.2.4.6 Terminating user releasing the call

When in the "B2: in-progress broadcast group call" state, upon an indication from the terminating MCPTT user to release the in-progress broadcast group call, the MCPTT client:

1) shall release the media session;

2) shall stop floor control; and

3) shall enter the "B4: ignoring same call ID" state.

10.3.2.4.7 Originating user releasing the call

When in the "B2: in-progress broadcast group call" state, upon an indication from the originating MCPTT user to release the in-progress broadcast group call, the MCPTT client:

1) shall release the media session;

2) shall generate a GROUP CALL BROADCAST END message as specified in clause 15.1.21. In the GROUP CALL BROADCAST END message, the MCPTT client:

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

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

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

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

4) shall stop timer TFB2 (broadcast retransmission);

5) shall stop timer TFB1 (max duration);

6) shall clear the stored call identifier;

7) shall stop floor control; and

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

10.3.2.4.8 Receiving GROUP CALL BROADCAST END message

When in the "B2: in-progress broadcast group call" state or "B4: ignoring same call ID" state, upon receiving GROUP CALL BROADCAST END message with the same Call identifier IE as the stored call identifier, the MCPTT client:

1) shall release media session;

2) shall stop timer TFB1 (max duration);

3) shall clear the stored call identifier;

4) shall stop floor control, if running; and

5) shall enter the "B1: start-stop" state.

10.3.2.4.9 Originating UE retransmitting GROUP CALL BROADCAST message

When in the "B2: in-progress broadcast group call" state, upon expiry of timer TFB2 (broadcast retransmission), the MCPTT client:

1) shall generate a GROUP CALL BROADCAST message as specified in clause 15.1.20. In the GROUP CALL BROADCAST 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;

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

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

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

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

3) shall restart timer TFB2 (broadcast retransmission); and

4) shall remain in the "B2: in-progress broadcast group call" state.

10.3.2.4.10 Ignoring same call ID

When in the "B4: ignoring same call ID" state, upon receiving GROUP CALL BROADCAST message and if the call identifier in GROUP CALL BROADCAST message matches with the stored call identifier the MCPTT client:

1) shall restart timer TFB1 (max duration); and

2) shall remain in "B4: ignoring same call ID" state.

10.3.2.4.11 Releasing the call

For the terminating UE when in the "B2: in-progress broadcast group call" state or "B4: ignoring same call ID" state, upon expiry of timer TFB1 (max duration) the MCPTT client:

1) shall release the media session;

2) shall clear the stored call identifier;

3) shall stop floor control, if running; and

4) shall enter the "B1: start-stop" state.

For the originating UE when in the "B2: in-progress broadcast group call" state, upon expiry of timer TFB1 (max duration) the MCPTT client:

1) shall release the media session;

2) shall generate a GROUP CALL BROADCAST END message as specified in clause 15.1.21. In the GROUP CALL BROADCAST END message, the MCPTT client:

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

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

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

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

4) shall stop timer TFB2 (broadcast retransmission);

5) shall clear the stored call identifier;

6) shall stop floor control; and

7) shall enter the "B1: start-stop" state.

10.3.2.4.12 Restarting TFB1

When in the "B2: in-progress broadcast group call" state, upon receiving GROUP CALL BROADCAST message and if the call identifier in GROUP CALL BROADCAST message matches with the stored call identifier, the MCPTT client:

1) shall restart timer TFB1 (max duration); and

2) shall remain in "B2: in-progress broadcast group call" state.

10.3.2.4.13 Receiving GROUP CALL BROADCAST END message

When in the "B3: pending user action" state, upon receiving GROUP CALL BROADCAST END message with the same Call identifier IE as the stored call identifier, the MCPTT client:

1) shall clear the stored call identifier;

2) shall stop timer TFB3 (waiting for the user); and

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

10.3.2.4.14 Error handling
10.3.2.4.14.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.3.2.4.14.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.3.2.4.14.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.