9.3.3. Call type control
24.2813GPPMission Critical Video (MCVideo) signalling controlProtocol specificationRelease 18TS
9.3.3.1 General
This state machine exists in parallel with the basic call control state machine for off-network group call as specified in clause 9.3.2.2.
9.3.3.2 Call type control state machine
The Figure 9.3.3.2-1 gives an overview of the states and transitions of the state machine.
Figure 9.3.3.2-1: Call type control state machine
The following pieces of information are associated with the call type control state machine:
a) the stored current call type;
b) the stored current ProSe per-packet priority;
c) the stored last call type change time of the call; and
d) the stored last user to change call type of the call.
When sending the message, MCVideo client indicates the stored current ProSe per-packet priority (as described in 3GPP TS 24.483 [4]) associated with the call type control state machine to the lower layers.
9.3.3.3 Call type control states
9.3.3.3.1 T0: waiting for call to establish
This state is the start state of this state machine.
9.3.3.3.2 T1: in-progress emergency group call
This state exists for UE, when the UE is part of an in-progress emergency group call.
9.3.3.3.3 T2: in-progress basic group call
This state exists for UE, when the UE is part of an in-progress basic group call.
9.3.3.3.4 T3: in-progress imminent peril group call
This state exists for UE, when the UE is part of an in-progress imminent peril group call.
9.3.3.4 Procedures
9.3.3.4.1 General
9.3.3.4.1.1 Implicit downgrade (emergency) timer calculation
The MCVideo client shall set the TFG13 (implicit downgrade emergency) timer as follows:
1) TFG13 (implicit downgrade emergency) = X – (Y – Z) seconds, where:
a) X = value of "/<x>/<x>/OffNetwork/MCVideo/EmergencyCallCancel" leaf node present in group configuration as specified in 3GPP TS 24.483 [4];
b) Y = current UTC time, in seconds since midnight UTC of January 1, 1970 (not counting leap seconds); and
c) Z = Last call type change time IE of the GROUP CALL ANNOUNCEMENT message or the Last call type change time IE of the GROUP CALL PRIORITY ENDED message.
9.3.3.4.1.2 Implicit downgrade (imminent peril) timer calculation
The MCVideo client shall set the TFG14 (implicit downgrade imminent peril) timer as follows:
1) TFG14 (implicit downgrade imminent peril) = X – (Y – Z) seconds, where:
a) X = value of "/<x>/<x>/OffNetwork/MCVideo/ImminentPerilCallCancel" leaf node present in group configuration as specified in 3GPP TS 24.483 [4];
b) Y = current UTC time, in seconds since midnight UTC of January 1, 1970 (not counting leap seconds); and
c) Z = Last call type change time IE of the GROUP CALL ANNOUNCEMENT message or the Last call type change time IE of the GROUP CALL PRIORITY ENDED message.
9.3.3.4.2 User initiated the call probe
When in the "T0: waiting for the call to establish " state, upon an indication from an MCVideo user to initiate a group call probe for an MCVideo group, the MCVideo client:
1) if the stored emergency state associated with emergency alert state machine described in 11.3.2.2 is set to "true" and the value of "/<x>/<x>/Common/AllowedEmergencyCall" leaf node present in group configuration as specified in 3GPP TS 24.483 [4] is set to "true":
a) shall set the stored current call type to "EMERGENCY GROUP CALL"; and
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
2) if the stored emergency state associated with emergency alert state machine described in 11.3.2.2 is set to "false", and:
a) if the user initiates an MCVideo emergency call and the values of "/<x>/<x>/Common/MCVideoGroupCall/EmergencyCall/Enabled" leaf node present in the user profile and "/<x>/<x>/Common/AllowedEmergencyCall" leaf node present in group configuration as specified in 3GPP TS 24.483 [4] are set to "true":
i) shall set the stored current call type to "EMERGENCY GROUP CALL"; and
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
b) if the user initiates an MCVideo imminent peril group call and the value of "/<x>/<x>/Common/MCVideoGroupCall/ImminentPerilCall/Authorised" leaf node present in the user profile "/<x>/<x>/Common/AllowedImminentPerilCall " leaf node present in group configuration as specified in 3GPP TS 24.483 [4] are set to "true":
i) shall set the stored current call type to "IMMINENT PERIL GROUP CALL"; and
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4]; and
c) if the user initiates an MCVideo group call which is not an MCVideo emergency call and which is not an MCVideo imminent peril group call:
i) shall set the stored current call type to "BASIC GROUP CALL"; and
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
3) shall set the stored last call type change time to current UTC time;
4) shall set the last user to change call type to own MCVideo user ID; and
5) shall remain in "T0: waiting for the call to establish" state.
9.3.3.4.3 Received GROUP CALL ANNOUNCEMENT message as a response to GROUP CALL PROBE message
When in the "T0: waiting for the call to establish " state, upon receipt of a GROUP CALL ANNOUNCEMENT message as a response to GROUP CALL PROBE message, the MCVideo client:
1) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL":
a) shall set the stored current call type to "EMERGENCY GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
c) shall set the stored last call type change time to the Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
d) shall set the stored last user to change call type to the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
e) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1; and
f) shall enter "T1: in-progress emergency group call" state;
2) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL", and if the stored current call type is other than "EMERGENCY GROUP CALL":
a) shall set the stored current call type to "IMMINENT PERIL GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4];
c) shall set the stored last call type change time to the Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
d) shall set the stored last user to change call type to the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
e) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2; and
f) shall enter "T3: in-progress imminent peril group call" state; and
3) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "BASIC GROUP CALL", and if the stored current call type is "BASIC GROUP CALL":
a) shall set the stored last call type change time to the Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
b) shall set the stored last user to change call type to the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message; and
c) shall enter "T2: in-progress basic group call" state.
9.3.3.4.4 Received GROUP CALL ANNOUNCEMENT with MCVideo user acknowledgement required
When in the "T0: waiting for the call to establish" state, upon receipt of a GROUP CALL ANNOUNCEMENT message by an idle MCVideo client when MCVideo user acknowledgement is required, the MCVideo client:
1) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL":
a) shall set the stored current call type to "EMERGENCY GROUP CALL"; and
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
2) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL":
a) shall set the stored current call type to "IMMINENT PERIL GROUP CALL"; and
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4];
3) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "BASIC GROUP CALL":
a) shall set the stored current call type to "BASIC GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
4) shall set the stored last call type change time to the Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
5) shall set the last user to change call type to the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message; and
6) shall remain in "T0: waiting for the call to establish" state.
9.3.3.4.5 Received GROUP CALL ANNOUNCEMENT without MCVideo user acknowledgement required
When in the "T0: waiting for the call to establish" state, upon receipt of a GROUP CALL ANNOUNCEMENT message by an idle MCVideo client when MCVideo user acknowledgement is not required, the MCVideo client:
1) shall set the stored last call type change time to the Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
2) shall set the last user to change call type to the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
3) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL":
a) shall set the stored current call type to "EMERGENCY GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
c) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1; and
d) shall enter "T1: in-progress emergency group call" state;
4) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL":
a) shall set the stored current call type to "IMMINENT PERIL GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in3GPP TS 24.483 [4];
c) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2; and
d) shall enter "T3: in-progress imminent peril group call" state; and
5) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "BASIC GROUP CALL":
a) shall set the stored current call type to "BASIC GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4]; and
c) shall enter "T2: in-progress basic group call" state.
9.3.3.4.6 Call started
When in state "T0: waiting for the call to establish", if:
a) the MCVideo user accepts the call when MCVideo user acknowledgement is required; or
b) the MCVideo client sends a GROUP CALL ANNOUNCEMENT message on expiry of timer TFG1 (wait for call announcement) associated with the basic call control state machine;
the MCVideo client:
1) if the stored current call type is set to "EMERGENCY GROUP CALL"
a) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1; and
b) shall enter "T1: in-progress emergency group call" state;
2) if the stored current call type is set to "IMMINENT PERIL GROUP CALL"
a) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2; and
b) shall enter "T3: in-progress imminent peril group call" state; or
3) if the stored current call type is set to "BASIC GROUP CALL"
a) shall enter "T2: in-progress basic group call" state.
9.3.3.4.7 Upgrade call
9.3.3.4.7.1 Originating user upgrading the call
When in the "T2: in-progress basic group call" state, upon receiving an indication from the user to upgrade the call to "IMMINENT PERIL GROUP CALL" or "EMERGENCY GROUP CALL" or when in the "T3: in-progress imminent peril group call" state, upon receiving an indication from the user to upgrade the call to "EMERGENCY GROUP CALL", the MCVideo client:
1) if the user request is to upgrade the call to "EMERGENCY GROUP CALL" and the value of "/<x>/<x>/OffNetwork/EmergencyCallChange" leaf node present in the user profile as specified in 3GPP TS 24.483 [4] is set to "true":
a) shall set the stored current call type to "EMERGENCY GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
c) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1;
d) shall stop timer TFG14 (implicit downgrade imminent peril), if running; and
e) shall enter "T1: in-progress emergency group call" state;
2) if the user request is to upgrade the call to "IMMINENT PERIL GROUP CALL" and the value of "/<x>/<x>/OffNetwork/ ImminentPerilCallChange" leaf node present in the user profile as specified in 3GPP TS 24.483 [4] set to "true":
a) shall set the stored current call type to "IMMINENT PERIL GROUP CALL";
b) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4];
c) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2 and
d) shall enter "T3: in-progress imminent peril group call" state;
3) shall store the current UTC time as last call type change time of the call;
4) shall store own MCVideo user ID as last user to change call type of the call;
5) shall generate a GROUP CALL ANNOUNCEMENT message as specified in clause 17.1.3. In the GROUP CALL ANNOUNCEMENT message, the MCVideo client:
a) shall set the Call identifier IE to the stored call identifier of the call associated with the basic call control state machine;
b) shall set the Call type IE to the stored current call type;
c) shall set the Refresh interval IE to the stored refresh interval of the call associated with the basic call control state machine;
d) shall set the SDP IE to the stored SDP body of the call associated with the basic call control state machine;
e) shall set the Originating MCVideo user ID IE to the stored originating MCVideo user ID of the call associated with the basic call control state machine;
f) shall set the MCVideo group ID IE to the stored MCVideo group ID of the call associated with the basic call control state machine;
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; and
i) shall set the Last user to change call type IE to the stored last user to change call type of the call; and
6) shall send the GROUP CALL ANNOUNCEMENT message as specified in clause 9.3.1.1.1;
9.3.3.4.7.2 Terminating UE receiving a GROUP CALL ANNOUNCEMENT message when participating in the ongoing call
When in the "T1: in-progress emergency group call" state or "T2: in-progress basic group call" state or "T3: in-progress imminent peril group call" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCVideo group ID IE matching with MCVideo group ID of the ongoing call and the Call Identifier IE being the same as the stored call identifier of the call, the MCVideo client:
1) if the stored last user to change call type of the call is same as the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message and the stored last call type change time is smaller than Last call type change time IE of the GROUP CALL ANNOUNCEMENT message:
a) shall set the stored last call type change time of the call to Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
b) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL" and the stored call type is other than "EMERGENCY GROUP CALL":
i) shall set the stored current call type to "EMERGENCY GROUP CALL";
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
iii) shall stop timer TFG14 (implicit downgrade imminent peril), if running;
iv) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1; and
v) shall enter "T1: in-progress emergency group call" state;
c) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL" and the stored call type is other than "IMMINENT PERIL GROUP CALL":
i) shall set the stored current call type to "IMMINENT PERIL GROUP CALL";
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4];
iii) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2; and
iv) shall enter "T3: in-progress imminent peril group call" state; and
d) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "BASIC GROUP CALL" and the stored call type is other than "BASIC GROUP CALL":
i) shall set the stored current call type to "BASIC GROUP CALL";
ii) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
iii) shall stop timer TFG13 (implicit downgrade), if running; and
iv) shall enter "T2: in-progress basic group call" state; and
2) if the stored last user to change call type of the call is different from the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message and:
a) if the stored call type is same as Call type IE in the received GROUP CALL ANNOUNCEMENT message and the stored last call type change time is smaller than Last call type change time IE of the GROUP CALL ANNOUNCEMENT message:
i) shall set the stored last call type change time of the call to Last call type change time IE of the GROUP CALL ANNOUNCEMENT message; and
ii) shall set the stored last user to change call type of the call to Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
b) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL" and the stored call type is other than "EMERGENCY GROUP CALL":
i) shall set the stored last call type change time of the call to Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
ii) shall set the stored last user to change call type of the call to Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
iii) shall set the stored current call type to "EMERGENCY GROUP CALL";
iv) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4];
v) shall stop timer TFG14 (implicit downgrade imminent peril), if running;
vi) shall start timer TFG13 (implicit downgrade emergency) with value as specified in clause 9.3.3.4.1.1; and
vii) shall enter "T1: in-progress emergency group call" state; and
c) if the Call type IE of the received GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL" and the stored call type is "BASIC GROUP CALL":
i) shall set the stored last call type change time of the call to Last call type change time IE of the GROUP CALL ANNOUNCEMENT message;
ii) shall set the stored last user to change call type of the call to Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message;
iii) shall set the stored current call type to "IMMINENT PERIL GROUP CALL ";
iv) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4];
v) shall start timer TFG14 (implicit downgrade imminent peril) with value as specified in clause 9.3.3.4.1.2; and
vi) shall enter "T3: in-progress imminent peril group call" state.
9.3.3.4.8 Downgrade call
9.3.3.4.8.1 Originating user downgrading emergency group call
When in the "T1: in-progress emergency group call" state, upon receiving an indication from:
1) the MCVideo user who upgraded the MCVideo group call; or
2) an authorized MCVideo user with the value of "/<x>/<x>/Common/MCVideoGroupCall/EmergencyCall/CancelMCVideoGroup" leaf node present in the user profile as specified in 3GPP TS 24.483 [4] is set to "true",
to downgrade "EMERGENCY GROUP CALL", the MCVideo client:
1) shall set the stored current call type to "BASIC GROUP CALL";
2) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
3) shall set current UTC time as last call type change time of the call;
4) shall store own MCVideo user ID as last user to change call type of the call;
5) shall generate a GROUP CALL EMERGENCY END message as specified in clause 17.1.13. In the GROUP CALL EMERGENCY END message, the MCVideo client:
a) shall set the Call identifier IE to the stored call identifier of the call associated with the basic call control state machine;
b) shall set the Originating MCVideo user ID IE to the stored originating MCVideo user ID of the call associated with the basic call control state machine;
c) shall set the MCVideo group ID IE to the stored MCVideo group ID of the call associated with the basic call control state machine;
d) shall set the Last call type change time IE to the stored last call type change time of the call; and
e) shall set the Last user to change call type IE to the stored last user to change call type of the call;
6) shall send the GROUP CALL EMERGENCY END message as specified in clause 9.3.1.1.1;
7) shall stop timer TFG13 (implicit downgrade emergency);
8) shall initialize the counter CFG11 (emergency end retransmission) with value set to 1;
9) shall start timer TFG11 (emergency end retransmission); and
10) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.8.2 Retransmitting GROUP CALL EMERGENCY END
When in the "T2: in-progress basic group call" state, upon expiry of timer TFG11 (emergency end retransmission), the MCVideo client:
1) shall generate a GROUP CALL EMERGENCY END message as specified in clause 17.1.13. In the GROUP CALL EMERGENCY END message, the MCVideo client:
a) shall set the Call identifier IE to the stored call identifier of the call associated with the basic call control state machine;
b) shall set the Originating MCVideo user ID IE to the stored originating MCVideo user ID of the call associated with the basic call control state machine;
c) shall set the MCVideo group ID IE to the stored MCVideo group ID of the call associated with the basic call control state machine;
d) shall set the Last call type change time IE to the stored last call type change time of the call; and
e) shall set the Last user to change call type IE to the stored last user to change call type of the call;
2) shall send the GROUP CALL EMERGENCY END message as specified in clause 9.3.1.1.1;
3) shall increment the value of the counter CFG11 (emergency end retransmission) by 1;
4) shall start timer TFG11 (emergency end retransmission) if the value of the associated counter CFG11 (emergency end retransmission) is less than the upper limit; and
5) shall remain in "T2: in-progress basic group call" state.
9.3.3.4.8.3 Terminating user downgrading emergency group call
When in the "T1: in-progress emergency group call" state, upon receiving GROUP CALL EMERGENCY END message, the MCVideo client:
1) shall set the stored last call type change time to the Last call type change time IE of the received GROUP CALL EMERGENCY END message;
2) shall set the stored last user to change call type to the Last user to change call type IE of the received GROUP CALL EMERGENCY END message;
3) shall set the stored current call type to "BASIC GROUP CALL";
4) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
5) shall stop timer TFG13 (implicit downgrade emergency); and
6) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.8.4 Originating user downgrading imminent peril group call
When in the "T3: in-progress imminent peril group call" state, upon receiving an indication from:
1) the MCVideo user who upgraded the call; or
2) an authorized user with the value of "/<x>/<x>/Common/MCVideoGroupCall/ImminentPerilCall/Cancel" leaf node present in the user profile as specified in 3GPP TS 24.483 [4] is set to "true",
to downgrade "IMMINENT PERIL GROUP CALL", the MCVideo client:
1) shall set the stored current call type to "BASIC GROUP CALL";
2) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
3) shall set current UTC time as last call type change time of the call;
4) shall store own MCVideo user ID as last user to change call type of the call;
5) shall generate a GROUP CALL IMMINENT PERIL END message as specified in clause 17.1.12. In the GROUP CALL IMMINENT PERIL END message, the MCVideo client:
a) shall set the Call identifier IE to the stored call identifier of the call associated with the basic call control state machine;
b) shall set the Originating MCVideo user ID IE to the stored originating MCVideo user ID of the call associated with the basic call control state machine;
c) shall set the MCVideo group ID IE to the stored MCVideo group ID of the call associated with the basic call control state machine;
d) shall set the Last call type change time IE to the stored last call type change time of the call; and
e) shall set the Last user to change call type IE to the stored last user to change call type of the call;
6) shall send the GROUP CALL IMMINENT PERIL END message as specified in clause 9.3.1.1.1;
7) shall stop timer TFG14 (implicit downgrade imminent peril);
8) shall initialize the counter CFG12 (imminent peril end retransmission) with value set to 1;
9) shall start timer TFG12 (imminent peril end retransmission); and
10) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.8.5 Retransmitting GROUP CALL IMMINENT PERIL END
When in the "T2: in-progress basic group call" state, upon expiry of timer TFG12 (imminent peril end retransmission), the MCVideo client:
1) shall generate a GROUP CALL IMMINENT PERIL END message as specified in clause 17.1.12. In the GROUP CALL IMMINENT PERIL END message, the MCVideo client:
a) shall set the Call identifier IE to the stored call identifier of the call associated with the basic call control state machine;
b) shall set the Originating MCVideo user ID IE to the stored originating MCVideo user ID of the call associated with the basic call control state machine;
c) shall set the MCVideo group ID IE to the stored MCVideo group ID of the call associated with the basic call control state machine;
d) shall set the Last call type change time IE to the stored last call type change time of the call; and
e) shall set the Last user to change call type IE to the stored last user to change call type of the call;
2) shall send the GROUP CALL IMMINENT PERIL END message as specified in clause 9.3.1.1.1;
3) shall increment the value of the counter CFG12 (imminent peril end retransmission) by 1;
4) shall start the timer TFG12 (imminent peril end retransmission) if the value of the associated counter CFG12 (imminent peril end retransmission) is less than the upper limit; and
5) shall remain in "T2: in-progress basic group call" state.
9.3.3.4.8.6 Terminating user downgrading imminent peril group call
When in the "T3: in-progress imminent peril group call" state, upon receiving GROUP CALL IMMINENT PERIL END message, the MCVideo client:
1) shall set the stored last call type change time to the Last call type change time IE of the received GROUP CALL IMMINENT PERIL END message;
2) shall set the stored last user to change call type to the Last user to change call type IE of the received GROUP CALL IMMINENT PERIL END message;
3) shall set the stored current call type to "BASIC GROUP CALL";
4) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4];
5) shall stop timer TFG14 (implicit downgrade imminent peril); and
6) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.8.7 Implicit emergency priority end
When in the "T1: in-progress emergency group call" state, upon expiry of timer TFG13 (implicit downgrade emergency), the MCVideo client:
1) shall store the current UTC time as the stored last call type change time of the call;
2) shall store the originating MCVideo user ID as the stored last user to change call type of the call;
3) shall set the stored current call type to "BASIC GROUP CALL";
4) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4]; and
5) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.8.8 Implicit imminent peril priority end
When in the "T3: in-progress imminent peril call" state, upon expiry of timer TFG14 (implicit downgrade imminent peril), the MCVideo client:
1) shall store the current UTC time as the stored last call type change time of the call;
2) shall store the originating MCVideo user ID as the stored last user to change call type of the call;
3) shall set the stored current call type to "BASIC GROUP CALL";
4) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network basic group call as described in 3GPP TS 24.483 [4]; and
5) shall enter the "T2: in-progress basic group call" state.
9.3.3.4.9 Merge of two calls
When in the "T1: in-progress emergency group call" state or "T2: in-progress basic group call" state or "T3: in-progress imminent peril group call" state, upon receiving a GROUP CALL ANNOUNCEMENT message with the MCVideo group ID IE matching the stored MCVideo group ID of the call and:
1) the Originating MCVideo user ID IE is different from the stored originating MCVideo 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 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"; or
2) if the stored current call type is "IMMINENT PERIL GROUP CALL" and the value of the Call type IE of GROUP CALL ANNOUNCEMENT message is "EMERGENCY GROUP CALL"; or
3) if the stored current call type 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 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 MCVideo client:
1) shall store the value of the Last call type change time IE of the received GROUP CALL ANNOUNCEMENT message as the last call type change time of the call;
2) shall store the value of the Last user to change call type IE of the GROUP CALL ANNOUNCEMENT message as the last user to change call type of the call;
3) shall store the value of the Call type IE of the GROUP CALL ANNOUNCEMENT message as the current call type of the call;
4) if the Call type IE of GROUP CALL ANNOUNCEMENT message is set to "EMERGENCY GROUP CALL":
a) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network emergency group call as described in 3GPP TS 24.483 [4]; and
b) shall enter "T1: in-progress emergency group call" state; and
5) if the Call type IE of GROUP CALL ANNOUNCEMENT message is set to "IMMINENT PERIL GROUP CALL":
a) shall set the stored current ProSe per-packet priority to value corresponding to MCVideo off-network imminent peril group call as described in 3GPP TS 24.483 [4]; and
b) shall enter "T3: in-progress imminent peril group call" state.
9.3.3.4.10 Call release after call establishment
When in state T1: in-progress emergency group call" or "T2: in-progress basic group call" or "T3: in-progress imminent peril group call" or upon receiving an indication from MCVideo user to release the call, the MCVideo client:
1) shall release stored current call type;
2) shall release stored ProSe per-packet priority;
3) shall release Last call type change time;
4) shall release Last user to change call type; and
5) shall enter "T0: waiting for the call to establish" state.
9.3.3.4.11 Call release or reject before call establishment
When in state "T0: waiting for the call to establish", upon receiving an indication from MCVideo user to release or reject the call, the MCVideo client:
1) shall release stored current call type;
2) shall release stored ProSe per-packet priority;
3) shall release Last call type change time;
4) shall release Last user to change call type;
5) shall remain in "T0: waiting for the call to establish" state.
9.3.3.4.12 Error handling
9.3.3.4.12.1 Unexpected MONP message received
Upon receiving an unexpected MONP message or MONP MCVideo message in a state where there is no handling specified for the MONP message or the MONP MCVideo message, the MCVideo client shall discard this message.
9.3.3.4.12.2 Unexpected indication from MCVideo user
Upon receiving an indication from the MCVideo user in a state where there is no handling specified for the indication, the MCVideo client shall ignore the indication.
9.3.3.4.12.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 MCVideo client shall ignore the expiration of the timer.