6.3.5 Transmission control server state transition diagram for basic transmission control operation towards the transmission participant
24.5813GPPMission Critical Video (MCVideo) media plane controlProtocol specificationRelease 18TS
6.3.5.1 General
The transmission control interface towards the MCVideo client in the transmission control server shall behave according to the state diagram and state transitions specified in this clause.
Figure 6.3.5.1-1 shows the states and state transitions for an associated transmission participant in the transmission control server.
Figure 6.3.5.1-1: Transmission control server state transition diagram for basic transmission control operation towards the transmission participant
The transmission control interface towards the MCVideo client in the transmission control server shall create one instance of the ‘basic transmission control operations’ state machine towards the MCVideo client for every transmission participant served by the transmission control server as follows:
1. For pre-arranged group call in case of an originating MCVideo call, the ‘basic transmission control operation towards the transmission participant’ state machine shall be created when the MCVideo server sends the SIP 200 (OK) response towards the originating MCVideo client.
2. For pre-arranged group call in case of a terminating MCVideo call, the ‘basic transmission control operation towards the transmission participant’ state machine shall be created when the transmission control server receives the SIP 200 (OK) response.
3. For chat group call the ‘basic transmission control operation state machine towards the transmission participant’ shall be created when the MCVideo server sends the SIP 200 (OK) response to the received initial SIP INVITE request.
The transmission participant associated to the ‘basic transmission control operation towards the transmission participant’ state machine is here referred to as the "associated transmission participant".
The external inputs to the state machine are:
1. directives coming from the transmission control arbitration logic;
2. transmission messages sent by the transmission participants;
3. media; and
4. in certain cases, SIP messages used for call handling.
If transmission control messages or RTP media packets arrives in a state where there is no procedure specified in the following clauses, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall discard the transmission control message;
2. shall request the network media interface in the MCVideo server to discard any received RTP media packet; and
3. shall remain in the current state.
State details are explained in the following clauses.
6.3.5.2 State: ‘Start-stop’
6.3.5.2.1 General
When a new instance of the ‘basic transmission control operations towards the transmission participant’ state machine is created, before any transmission control related input is applied, the state machine is in the ‘Start-stop’ state. Similarly when the call is released the state machine shall return to the Start-Stop state.
An association between the transmission control server and a transmission participant in the MCVideo client is created, when the state machine is created; and
1. in case of an originating MCVideo call, when the MCVideo server sends the SIP 200 (OK) response to the originating MCVideo client; and
2. in case of a terminating MCVideo call, when the transmission control server receives the SIP 200 (OK) response sent from the terminating MCVideo client.
6.3.5.2.2 SIP Session initiated
When a SIP Session is established and if the session is a normal group call session:
NOTE 1: Temporary group call is not supported in this release. Normal group call contains pre-arranged group call, chat group call, broadcast group call.
1. if an MCVideo client initiates an MCVideo call with an implicit Transmission request, and the MCVideo call does not exist yet, the transmission control interface towards the MCVideo client in the transmission control server:
a. shall initialize a general state machine as specified in clause 6.3.4.2.2; and
NOTE 2: In the clause 6.3.4.2.2 the ‘general transmission control operation’ state machine will continue with the initialization of the ‘general transmission control operation’ state machine.
b. shall enter the state ‘U: permitted’ as specified in the clause 6.3.5.5.2;
2. if the associated MCVideo client rejoins an ongoing MCVideo call without an implicit Transmission request or initiates or joins a chat group call without an implicit Transmission request or attempts to initiate an already existing MCVideo call without an implicit Transmission request, and
a. if an MCVideo call already exists but no MCVideo client has the permission to send a media, the transmission control interface towards the MCVideo client in the transmission control server:
i. should send a Transmission Idle message to the MCVideo client. The Transmission Idle message:
A. shall include a Message Sequence Number field with a Message Sequence Number value increased with 1; and
B. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
ii. shall enter the state ‘U: not permitted and Transmit Idle’ as specified in the clause 6.3.5.5.2;
b. if an MCVideo call is initiated, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall enter the state ‘U: not permitted and Transmit Idle’ as specified in the clause 6.3.5.5.2; and
ii. shall initialize a general state machine as specified in clause 6.3.4.2.2; and
NOTE 3: In the clause 6.3.4.2.2 the general state machine will continue with the initialization of the general state machine.
c. if other MCVideo clients have the permission to send a media, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.4.2;
NOTE 3: For multiple MCVideo clients have the permission to send a media, the following Media Transmission notify messages will be handle as in ‘U: not permitted and transmit taken’ state as specified in the clause 6.3.5.4.2.
3. if the associated transmission participant attempts to initiate an already existing MCVideo call with an implicit Transmission request, and
a. if no MCVideo client has the permission to send media, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall processes the implicit Transmission request as if a Transmission Media Request message was receive as specified in clause 6.3.4.3.3; and
ii. shall enter the state ‘U: permitted’ as specified in the clause 6.3.5.5.2;b. if the MCVideo client negotiated support of queueing Transmission requests as specified in clause 14 and if other MCVideo clients have the permission to send media and if Cx (Simultaneous Transmission video) has not reached it upper limit, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall processes the implicit Transmission request as if a Transmission Media Request message was receive as specified in clause 6.3.4.4.12; and
ii. shall enter the state ‘U: permitted’ as specified in the clause 6.3.5.5.2;
c. if the MCVideo client negotiated support of queueing Transmission requests as specified in clause 14 and if other MCVideo clients have the permission to send media and if Cx (Simultaneous Transmission video) has reached it upper limit, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall set the priority level to the negotiated maximum priority level that the MCVideo client is permitted to request, except for pre-emptive priority, when high priority is used;
NOTE 4: The maximum transmission priority the transmission participant is permitted to request is negotiated in the "mc_priority" fmtp attribute as specified in clause 14.
NOTE 5: The initial implicit Transmission request will not result in pre-emption when an MCVideo client is joining an ongoing MCVideo call. If the MCVideo client wants to pre-empt the current MCVideo client that are sending media, an explicit Transmission request with pre-emptive transmission priority is required.
ii. shall insert the MCVideo client into the active Transmission request queue to the position immediately following all queued Transmission requests with the same transmission priority;
iii. shall send a Transmission Queue Position Info message to the MCVideo client. The Transmission Queue Position Info message:
A shall include the queue position and transmission priority in the Queue Info field; and
B. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
iv. should send a Transmission Queue Position Info message with the updated status to the MCVideo clients in the active Transmission request queue which negotiated queueing of Transmission requests as specified in clause 14, which have requested the queue status, whose queue position has been changed since the previous Transmission Queue Position Info message and which is not the joining MCVideo client. The Transmission Queue Position Info message:
A shall include the queue position and transmission priority in the Queue Info field; and
B. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
v. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.4.2; and
d. if the MCVideo client did not negotiate queueing of Transmission requests and if other MCVideo clients have the permission to send a media and if Cx (Simultaneous Transmission video) has reached it upper limit, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.4.2; and
4. if the MCVideo client is invited to the MCVideo call and
a. if other MCVideo clients have permission to send a media, the transmission control interface towards the MCVideo client in the transmission control server:
i. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.4.2; and
b. if no other MCVideo client has the permission to send a media; the transmission control interface towards the MCVideo client in the transmission control server:
i. should send a Transmission Idle message to the MCVideo client. The Transmission Idle message:
A. shall include a Message Sequence Number field with a <Message Sequence Number> value increased with 1; and
B. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
ii. shall enter the ‘U: not permitted and Transmit Idle’ state as specified in the clause 6.3.5.3.2.
6.3.5.3 State: ‘U: not permitted and Transmit Idle’
6.3.5.3.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state when the associated transmission participant is not permitted to send media.
6.3.5.3.2 Enter state ‘U: not permitted and Transmit Idle’
When entering this state the transmission control interface towards the MCVideo client in the transmission control server:
1. shall set the state for the associated transmission participant to ‘U: not permitted and Transmit Idle’.
6.3.5.3.3 Void
6.3.5.3.4 Receive Transmission Media Request message (R: Transmission Media Request)
Upon receiving a Transmission Media Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the session is not a broadcast group call or if the session is a broadcast group call and the associated transmission participant is the initiator of the broadcast group call, shall forward the Transmission Media Request message to the transmission control server arbitration logic;
NOTE 1: The Transmission Media Request message can contain a Transmission Indicator field indicating that the Transmission request is an attempt to upgrade a group call to a broadcast group call. If the transmission control arbitration logic accepts the Transmission request, the ongoing group call will be upgraded accordingly by the Transmission Grant message and, for other participants, by the Media Transmission Notify message.
NOTE 2: Initiating a broadcast group call is done in the application and signalling plane using SIP. Initiating or upgrading a call to an emergency call or an imminent peril call is done in the application and signalling plane using SIP.
2. if the session is a broadcast group call and the associated transmission participant is not the initiator of the broadcast group call, shall send a Transmission Reject message to the associated transmission participant. The Transmission Reject message:
a. shall include in the Reject Cause field the <Reject Cause> value cause #5 (Receive only);
b. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value;
c. may set the first bit in the subtype of the Transmission Reject message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 3: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
d. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
3. shall remain in the ‘U: not permitted and Transmit Idle’ state.
6.3.5.3.5 Send Transmission Grant message (S: Transmission Grant)
When a Transmission Grant message is received from the transmission control arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Grant messages to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Grant message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall enter the state ‘U: permitted’ as specified in clause 6.3.5.5.2.
6.3.5.3.6 Send Transmission Reject message (S: Transmission Reject)
When a Transmission Reject message is received from the transmission control arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Reject messages to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Reject message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall remain in the ‘U: not permitted and Transmit Idle’ state.
6.3.5.3.7 Receive Transmission End Request message (R: Transmission End Request)
Upon receiving a Transmission End Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. shall send a Transmission Idle message to the associated transmission participant. The Transmission Idle message:
a. shall include a Message Sequence Number field with a <Message Sequence Number> value increased with 1;
b. may set the first bit in the subtype of the Transmission Idle message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
c. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
3. shall use the SSRC in the received Transmission End Request message to check if the transmission participant has a queued Transmission request;
4 if the transmission participant has a Transmission request in the queue, shall remove the queued Transmission request from the queue; and
5. shall remain in the state ‘U: not permitted and Transmit Idle’ state.
6.3.5.3.8 Receive RTP media packets (R: media)
Upon receiving an indication from the network media interface that RTP media packets are received with payload from the associated transmission participant and if Transmission End Request message was received in the previous ‘U: permitted’ state, the transmission control interface towards the MCVideo client in the transmission control server:
NOTE: Reception of unauthorized RTP media packets can only happen if the associated transmission participant is in an MCVideo client. If the associated transmission participant is a transmission control server interface in a non-controlling MCVideo function of an MCVideo group, the unauthorized RTP media packets are handled in the non-controlling MCVideo function.
1. shall request the network media interface in the MCVideo server to not forward the received RTP media packets to the media distributor in the MCVideo server;
2. shall send a Transmission Revoke message to the associated transmission participant. The Transmission Revoke message:
a. shall include the Reject Cause field with the <Reject Cause> value set to #3 (No permission to send a Media Transmission); and
b. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
3. shall enter the ‘U: not permitted but sends media’ state as specified in the clause 6.3.5.7.2.
6.3.5.3.9 Receive an implicit Transmission request (R: Implicit Transmission request)
When an ongoing session is upgraded to an emergency group call and when the application and signalling plane indicates that a subsequent SDP offer included the "mc_implicit_request" fmtp attribute as described in clause 14, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall indicate to the transmission control server arbitration logic that an implicit Transmission request is received due to an upgrade to an emergency group call; and
2. shall remain in the ‘U: not permitted and Transmit Idle’ state.
6.3.5.3.10 Send Transmission Idle message (S: Transmit Idle)
When receiving a Transmission Idle message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Idle message to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Idle message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall remain in the ‘U: not permitted and Transmit Idle’ state.
6.3.5.4 State ‘U: not permitted and transmit taken’
6.3.5.4.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state when another MCVideo client (i.e. not the associated transmission participant) has been given permission to send media.
In this state RTP media packets received from the media distributor in the MCVideo server are forwarded to the associated transmission participant by the network media interface in the MCVideo server.
6.3.5.4.2 Enter state ‘U: not permitted and Transmit Taken’
When entering this state the transmission control server:
1. shall set the state to ‘U: not permitted and Transmit Taken’.
6.3.5.4.3 Send Transmission Idle message (S: Transmit Idle)
When receiving a Transmission Idle message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Idle message to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Idle message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1;
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall enter the ‘U: not permitted and Transmit Idle’ state as specified in the clause 6.3.5.3.2.
6.3.5.4.4 Receive Transmission Media Request message (R: Transmission Media Request)
Upon receiving a Transmission Media Request message, without a Transmission Indicator field or with the Transmission Indicator field included where the D-bit (Emergency call) and the E-bit (Imminent peril call) are set to ‘0’, from the associated transmission participant, and if the MCVideo client did not negotiate queueing of Transmission requests or did not include a priority in the "mc_priority" fmtp attribute as specified in clause 14, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the Cx (Simultaneous transmission video) has reached it upper limit:
a. shall send a Transmission Reject message to the associated transmission participant. The Transmission Reject message:
i. shall include in the Reject Cause field the <Reject Cause> value cause #1 (Another MCVideo client has permission);
ii. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value;
iii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
b. may set the first bit in the subtype of the Transmission Reject message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 1: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
2. if the Cx (Simultaneous transmission video) has not reached it upper limit:
a. shall perform the actions specified in the clause 6.3.4.4.7A;
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
Upon receiving a Transmission Media Request message from the associated transmission participant and the session is a broadcast group call, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall send a Transmission Reject message to the associated transmission participant. The Transmission Reject message:
a. shall include in the Reject Cause field the <Reject Cause> value cause #5 (Receive only);
b. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value; and
c. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
2. may set the first bit in the subtype of the Transmission Reject message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 2: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
Upon receiving a Transmission Media Request message from the associated transmission participant and if the MCVideo client negotiated support of queueing of Transmission requests or included a transmission priority in the "mc_priority" or both as described in specified in clause 14 and according to local policy, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall determine the effective priority level as described in clause 4.1.1.4 by using the following parameters:
a. the transmission priority shall be:
i. the lower of the transmission priority included in Transmission Media Request message and the negotiated maximum transmission priority that the MCVideo client is permitted to request, if the MCVideo client negotiated transmission priority "mc_priority" and transmission priority is included in the Transmission Media Request message;
ii. the receive only transmission priority, if the MCVideo client negotiated transmission priority in the "mc_priority" fmtp attribute and if the negotiated maximum transmission priority that the MCVideo client is permitted to request is "receive only";
iii. the default priority, if the MCVideo client negotiated transmission priority in the "mc_priority" fmtp attribute, if the negotiated maximum transmission priority that the MCVideo client is permitted to request is not receive only and if the transmission priority is not included in the Transmission Media Request message; and
iv. the default priority, if the MCVideo client did not negotiate transmission priority in the "mc_priority" fmtp attribute; and
b. the type of the call shall be
i. if the Transmission Indicator field is included in the message and the D-bit (Emergency call bit) is set to ‘1’, determined to be an emergency call;
ii. if the Transmission Indicator field is included in the message and the E-bit (Imminent peril call) is set to ‘1’, determined to be an imminent peril call; and
iii. if the Transmission Indicator field is not included in the message or the Transmission Indicator field is included and neither the D-bit (Emergency call bit) nor the E-bit (Imminent peril call) is set to ‘1’, determined to be a normal call;
2. if the effective priority is "receive only", the transmission control interface towards the MCVideo client in the transmission control server:
a. shall send a Transmission Reject message to the transmission participant. The Transmission Reject message:
i. shall include in the Reject Cause field the <Reject Cause> value cause #5 (Receive only) ;
ii. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value;
iii. if the Transmission Media Request included a Track Info field, shall include the received Track Info field; and
iv. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
b. shall remain in the ‘U: not permitted and Transmit Taken’ state;
3. shall use the SSRC in the received Transmission Media Request message to check if the transmission participant has a queued Transmission request;
4. if the transmission participant already has a queued Transmission request with the same effective priority level, the transmission control interface towards the MCVideo client in the transmission control server:
a. shall send a Transmission Queue Position Info message to the requesting MCVideo client, if the MCVideo client negotiated support of queueing of Transmission requests as specified in clause 14. The Transmission Queue Position Info message:
i. shall include the queue position and transmission priority in the Queue Info field;
ii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
b. shall remain in the ‘U: not permitted and Transmit Taken’ state
5. if the effective priority level is pre-emptive and there are no other pre-emptive requests in the active Transmission request queue and the effective priority level of the current MCVideo client with permission to send a media is not the pre-emptive priority, the transmission control interface towards the MCVideo client in the transmission control server:
a. shall forward the Transmission Media Request message to the transmission control server arbitration logic indicating that a Transmission Media Request message with pre-emptive priority is received; and
b. shall remain in the ‘U: not permitted and Transmit Taken’ state
NOTE 3: The Transmission control server arbitration logic initiates revoking the permission to send media towards the current MCVideo client with the permission to send media as specified in the clause 6.3.4.4.7;
Upon receiving a Transmission Media Request message from the associated transmission participant and if the MCVideo client did not negotiate support of queueing of Transmission requests as specified in clause 14, the effective priority level is pre-emptive and either other pre-emptive request is queued or the effective priority level of the current MCVideo client with permission to send a media is the pre-emptive priority, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the Cx (Simultaneous transmission video) has reached it upper limit:
a. shall send a Transmission Reject message to the associated transmission participant. The Transmission Reject message:
i. shall include in the Reject Cause field the <Reject Cause> value cause #1 (Another MCVideo client has permission);
ii. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value;
iii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
2. if the Cx (Simultaneous transmission video) has not reached it upper limit:
a. shall perform the actions specified in the clause 6.3.4.4.7A;
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
Upon receiving a Transmission Media Request message from the associated transmission participant and if the MCVideo client did not negotiate "queueing" and the effective priority level is not pre-emptive, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the Cx (Simultaneous transmission video) has reached it upper limit:
a. shall send a Transmission Reject message to the associated transmission participant. The Transmission Reject message:
i. shall include in the Reject Cause field the <Reject Cause> value cause #1 (Another MCVideo client has permission);
ii. may include in the Reject Cause field an additional text string explaining the reason for rejecting the Transmission request in the <Reject Phrase> value;
iii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
2. if the Cx (Simultaneous transmission video) has not reached it upper limit:
a. shall perform the actions specified in the clause 6.3.4.4.7A;
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
Upon receiving a Transmission Media Request message from the associated transmission participant and if the MCVideo client negotiated support of queueing of Transmission requests as specified in clause 14 and the effective priority level is not pre-emptive, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the Cx (Simultaneous transmission video) has reached it upper limit:
a. shall insert the MCVideo client into the active Transmission request queue, if not inserted yet, or update the position of the MCVideo client in the active Transmission request queue, if already inserted, to the position immediately following all queued requests at the same effective priority level;
b. the transmission control server shall send a Transmission Queue Position Info message to the transmission participant. The Transmission Queue Position Info message:
i. shall include the queue position and transmission priority in the Queue Info field;
ii. if the Transmission Media Request included a Track Info field, shall include the received Track Info field; and
iii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
c. shall remain in the ‘U: not permitted and Transmit Taken’ state; and
d. may set the first bit in the subtype of the Transmission Queue Position message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1.
NOTE 4: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
2. if the Cx (Simultaneous transmission video) has not reached it upper limit:
a. shall perform the actions specified in the clause 6.3.4.4.7A;
6.3.5.4.5 Receive Transmission End Request message (R: Transmission End Request)
Upon receiving a Transmission End Request message from the associated transmission participant and if the MCVideo client did not negotiate support of queueing of Transmission requests or included a transmission priority in the "mc_priority" fmtp attribute as specified in clause 14, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. shall send a Media Transmission Notify message to the reception control arbitration logic. The Media Transmission Notify message:
a. shall include the granted MCVideo users MCVideo ID in the Granted Party’s Identity field, if privacy is not requested;
b. shall include a Message Sequence Number field with a <Message Sequence Number> value increased with 1;
c. shall include the Permission to Request the transmission field set to ‘0’, if the transmission participants are not allowed to request the transmission;
d. may set the first bit in the subtype of the Media Transmission Notify message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 1: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
e. initiates a instance of ‘basic reception control operations towards the transmission participant’ state machine.
f. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
Upon receiving a Transmission End Request message from the associated transmission participant and if the MCVideo client negotiated support of queueing of Transmission requests as specified in clause 14, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. if
a. a Track Info field is included in the Transmission End Request message, shall use the topmost <Participant Reference> value and the SSRC in the received Transmission End Request message to check if the transmission participant has a queued Transmission request; or
b. if a Track Info field is not included in the Transmission End Request message, shall use the SSRC in the received Transmission End Request message to check if the transmission participant has a queued Transmission request;
3. shall remove the MCVideo client from the active Transmission request queue, if the MCVideo client was in the active Transmission request queue;
4. shall send a Media Transmission Notify message to the the reception control arbitration logic. The Media Transmission Notify message:
a. shall include the granted MCVideo users MCVideo ID in the Granted Party’s Identity field, if privacy is not requested;
b. if the session is a broadcast group call, shall include the Permission to Request the transmission field set to ‘0’;
c. if the session is not a broadcast group call, may include the Permission to Request the transmission field set to ‘1’;
d. shall include a Message Sequence Number field with a <Message Sequence Number> value increased with 1; and
e. initiates a instance of ‘basic reception control operations towards the transmission participant’ state machine.
f. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
5. may set the first bit in the subtype of the Media Transmission Notify message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 2: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
6. shall remain in the ‘U: not permitted and Transmit Taken’ state.
6.3.5.4.6 Receive RTP media packets (R: media)
Upon receiving an indication from the network media interface in the MCVideo server that RTP media packets with payload are received from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
NOTE: Reception of unauthorized RTP media packets can only happen if the associated transmission participant is in an MCVideo client. If the associated transmission participant is a transmission control server interface in a non-controlling MCVideo function of an MCVideo group, the unauthorized RTP media packets are handled in the non-controlling MCVideo function.
1. shall request the network media interface to not forward the RTP media packets to the media distributor in the MCVideo server;
2. shall send a Transmission Revoke message to the associated transmission participant. The Transmission Revoke message:
a. shall include the Reject Cause field with the Reject Cause value set to #3 (No permission to send a Media Transmission); and
b. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
3. shall enter the ‘U: not permitted but sends media’ state as specified in the clause 6.3.5.7.2.
6.3.5.4.7 Send Transmission Queue Position Info message (R: Transmission Queue Position Request)
Upon receiving a Transmission Queue Position Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall send the Transmission Queue Position Info message. The Transmission Queue Position Info message:
a. shall include the queue position and transmission priority in the Queue Info field;
b. may include the first bit in the subtype of the Transmission Queue Position Info message set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
c. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
3. shall remain in the ‘U: not permitted and Transmit Taken’ state.
6.3.5.4.8 Receive an implicit Transmission request (R: Implicit Transmission request)
When an ongoing session is upgraded to an emergency group call and when the application and signalling plane indicates that a subsequent SDP offer included the "mc_implicit_request" fmtp attribute as specified in clause 14, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall indicate to the transmission control server arbitration logic that an implicit Transmission request is received due to an upgrade to an emergency group call; and
2. shall remain in the ‘U: not permitted and Transmit Taken’ state.
6.3.5.4.9 Send Transmission Grant message (S: Transmission Grant)
When a Transmission Grant message is received from the transmission control arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Grant messages to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Grant message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1;
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall enter the state ‘U: permitted’ as specified in clause 6.3.5.5.2.
6.3.5.4.10 Send Media Transmission Notify message (S: Media Transmission Notify)
When a Media Transmission Notify message is received from the transmission control arbitration logic in the MCVideo server, if the G-bit in the Transmission Indicator is set to ‘1’ the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Media Transmission Notify message to the the reception control arbitration logic;
2. may set the first bit in the subtype of the Media Transmission Notify message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1;
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall store an indication that the participant is listening to media from two sources; and
4. initiates a instance of ‘basic reception control operations towards the transmission participant’ state machine.
5. shall remain in the ‘U: not permitted and Transmit Taken’ state.
6.3.5.5 State: ‘U: permitted’
6.3.5.5.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state when the associated transmission participant has been given permission to send media.
6.3.5.5.2 Enter state ‘U: permitted’
When entering this state the transmission control interface towards the MCVideo client in the transmission control server:
1. shall set the state for the associated transmission participant to ‘U: permitted’.
6.3.5.5.3 Receive Transmission End Request message (R: Transmission End Request)
Upon receiving a Transmission End Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. shall forward the Transmission End Request message to the general transmission control operation state machine of the transmission control arbitration logic in the MCVideo server with the first bit in the subtype of the Transmission End Request message set to ‘0’ (Acknowledgment is not required), if not already set; and
3. shall remain in the ‘U: permitted’ state.
6.3.5.5.3a Send Transmission End Response message (S: Transmission End Response)
Upon receiving a Transmission End Response message from the transmission control server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission End Response message to the associated transmission participant; and
2. shall enter the state ‘U: not permitted and Transmit Idle’.
6.3.5.5.4 Send Transmission Idle message (S: Transmit Idle)
Upon receiving the Transmission Idle message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall enter the ‘U: not permitted and Transmit Idle’ state as specified in the clause 6.3.5.3.2.
6.3.5.5.5 Send Transmission Revoke message (S: Transmission Revoke)
When receiving the Transmission Revoke message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Revoke message to the transmission participant;
2. shall enter the state ‘U pending Transmit Revoke’ as specified in the clause 6.3.5.6.2.
6.3.5.5.6 Receive RTP media packets (R: media)
Upon receiving an indication from the network media interface in the MCVideo server that RTP media packets with payload are received from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall request the network media interface in the MCVideo server to forward RTP media packets to the media distributor in the MCVideo server.
6.3.5.5.7 Receive Transmission Media Request message (R: Transmission Media Request)
Upon receiving a Transmission Media Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission Media Request message to the transmission control server arbitration logic in the MCVideo server; and
b. shall instruct the media distributor to act as in clause 6.3.4.4.5.
2. shall remain in the ‘U: permitted’ state.
6.3.5.5.8 Send RTP Media (S: media)
When RTP packets are received from the media distributor, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the RTP packet to the associated transmission participant; and
2. shall remain in the ‘U: permitted’ state.
6.3.5.5.9 Send Media Transmission Notify message (S: Media Transmission Notify)
When receiving the Media Transmission Notify message from the transmission control server arbitration logic in the MCVideo server with the G-bit in the Transmission Indicator set to ‘1’, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall send the Media Transmission Notify message to the the reception control arbitration logic;
2. shall remain in the ‘U: permitted’ state.
3. initiates a instance of ‘basic reception control operations towards the transmission participant’ state machine.
6.3.5.5.10 Send Transmission End Request message (S: Transmission End Request)
Upon receiving a Transmission End Request message from the transmission control server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission End Request message to the associated transmission participant; and
2. shall enter the state ‘U pending Transmit Revoke’ as specified in the clause 6.3.5.6.2.
6.3.5.6 State: ‘U: pending Transmit Revoke’
6.3.5.6.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state during the grace period after sending the Transmission Revoke or Transmission End Request message.
In this state timer T3 (Transmission Revoke) is running.
NOTE : As the functionality of both Transmission End Request message and Transmission Revoke message sent from server is mostly same on client and server side, currently the handling of Transmission End Request message is added in ‘U: pending Transmit Revoke’ state and timer T3 (Transmission Revoke) is also used for Transmission End Request message. A new state and timer can also be created later for this purpose if required.
6.3.5.6.2 Enter state ‘U pending Transmit Revoke’
When entering this state the transmission control interface towards the MCVideo client in the transmission control server:
1. shall start timer T3 (Transmission Revoke); and
2. shall enter the state ‘U: pending Transmit Revoke’.
6.3.5.6.3 Timer T3 (Transmission Revoke) expired
On expiry of timer T3 (Transmission Revoke) the transmission control interface towards the MCVideo client in the transmission control server:
1. shall retransmit the Transmission Revoke or Transmission End Request message to the associated transmission participant. The Transmission Revoke or Transmission End Request message:
a. shall include the same Rejection Cause field and the same Transmission Indicator field as in the previous sent Transmission Revoke or Transmission End Request message;
2. shall start timer T3 (Transmission Revoke); and
3. shall remain in the ‘U: pending Transmit Revoke’ state.
NOTE: The number of times the transmission control server retransmits the Transmission Revoke or Transmission End Request message and the action to take when the transmission control server gives up is an implementation option. However, it is recommended that the MCVideo client is disconnected from the MCVideo call when the transmission control server gives up.
6.3.5.6.4 Receive RTP media packets (R: media)
Upon receiving an RTP media packet with payload from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward RTP media packets to the media distributor; and
2. shall remain in the ‘U: pending Transmit Revoke’ state.
6.3.5.6.5 Receive Transmission End Request message (R: Transmission End Request)
Upon receiving a Transmission End Request message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. shall forward the Transmission End Request message to the transmission control server arbitration logic; and
b. shall remain in the state ‘U: pending Transmit Revoke’.
6.3.5.6.5a Send Transmission End Response message (S: Transmission End Response)
Upon receiving a Transmission End Response message from the transmission control server, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall forward the Transmission End Response message to the associated transmission participant; and
2. shall enter the state ‘U: not permitted and Transmit Idle’.
6.3.5.6.6 Send Transmission Idle message (S: Transmit Idle)
Upon receiving a Transmission Idle message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
NOTE 1: The Transmission Idle message is sent when there are no queued Transmission requests.
1. shall send the Transmission Idle message to the associated transmission participant;
2. may set the first bit in the subtype of the Transmission Idle message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 2: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall enter the ‘U: not permitted and Transmit Idle’ state as specified in the clause 6.3.5.3.2.
6.3.5.6.7 Send Media Transmission Notify message (S: Media Transmission Notify)
Upon receiving a Media Transmission Notify message from the transmission control server arbitration logic in the MCVideo server, the transmission control interface towards the MCVideo client in the transmission control server:
NOTE 1: The Media Transmission Notify message is sent when there are queued Transmission requests.
1. shall send the Media Transmission Notify message to the associated transmission participant the reception control arbitration logic;
2. may set the first bit in the subtype of the Media Transmission Notify message to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE 2: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
3. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.3.2.
6.3.5.6.8 Receive Transmission End Response message (R: Transmission End Response)
Upon receiving a Transmission End Response message from the associated transmission participant, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Response message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘1’ (Transmission End Response); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. shall stop timer T3 (Transmission Revoke) if it is running; and
3. shall forward the Transmission End Response message to the transmission control server arbitration logic; and
4. shall enter the state ‘U: not permitted and Transmit Idle’.
6.3.5.7 State ‘U: not permitted but sends media’
6.3.5.7.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state when it receives RTP media packets from the MCVideo client and the MCVideo client is not permitted to send media.
Timer T3 (Transmission Revoke) is running in this state.
6.3.5.7.2 Enter state ‘U: not permitted but sends media’
When entering this state the transmission control interface towards the MCVideo client in the transmission control server:
1. shall start timer T3 (Transmission Revoke); and
2. shall enter the state ‘U: not permitted but sends media’.
In this state the transmission control interface towards the MCVideo client in the transmission control server:
1. shall not request the network media interface in the MCVideo server to forward RTP media packets from the MCVideo client to the media distributor in the MCVideo server.
6.3.5.7.3 Timer T3 (Transmission Revoke) expired
On expiry of timer T3 (Transmission Revoke), the transmission control interface towards the MCVideo client in the transmission control server:
1. shall send a Transmission Revoke message to the associated transmission participant. The Transmission Revoke message:
a. shall include in the Rejection Cause field the <Rejection Cause> value set to #3 (No permission to send a Media Transmission); and
b. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications;
2. shall restart timer T3 (Transmission Revoke); and
3. shall remain in the ‘U: not permitted but sends media’ state.
NOTE: The number of times the transmission control server retransmits the Transmission Revoke message and the action to take when the transmission control server gives up is an implementation option. However, the recommended action is that the MCVideo client is disconnected from the MCVideo call.
6.3.5.7.4 Receive Transmission End Request message (R: Transmission End Request)
Upon receiving a Transmission End Request message, the transmission control interface towards the MCVideo client in the transmission control server:
1. if the first bit in the subtype of the Transmission End Request message is set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1, shall send a Transmission control Ack message. The Transmission control Ack message:
a. shall include the Message Type field set to ‘4’ (Transmission End Request); and
b. shall include the Source field set to ‘2’ (the controlling MCVideo function is the source);
2. if the general state is ‘G: Transmit Idle’, the transmission control interface towards the MCVideo client in the transmission control server:
a. shall send the Transmission Idle message. The Transmission Idle message:
i. shall include a Message Sequence Number field with a Message Sequence Number value increased with 1; and
ii. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
b. shall enter the ‘U: not permitted and Transmit Idle’ state as specified in the clause 6.3.5.3.2; and
3. if the general state is ‘G: Transmit Taken’, the transmission control interface towards the MCVideo client in the transmission control server:
a. shall send a Media Transmission Notify message to the reception control arbitration logic. The Media Transmission Notify message:
i. shall include the granted MCVideo users MCVideo ID in the Granted Party’s Identity field, if privacy is not requested;
ii. if the session is a broadcast group call, shall include the Permission to Request the transmission field set to ‘0’;
iii. if the session is not a broadcast group call, may include the Permission to Request the transmission field set to ‘1’;
iv. may include the first bit in the subtype of the Media Transmission Notify message set to ‘1’ (Acknowledgment is required) as described in clause 9.2.2.1; and
NOTE: It is an implementation option to handle the receipt of the Transmission control Ack message and what action to take if the Transmission control Ack message is not received.
v. if a group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, shall include the Transmission Indicator field with appropriate indications; and
c. shall enter the ‘U: not permitted and Transmit Taken’ state as specified in the clause 6.3.5.4.2.
d. initiates a instance of ‘basic reception control operations towards the transmission participant’ state machine.
6.3.5.8 In any state
6.3.5.8.1 General
This clause describes the actions to be taken in all states defined for the basic state diagram with the exception of the ‘Start-stop’ and ‘Releasing’ states.
6.3.5.8.2 Receive MCVideo call release – 1
Upon receiving an MCVideo call release step 1 request from the application and signalling plane e.g. when the MCVideo call is going to be released or when the MCVideo client leaves the MCVideo call, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall stop sending transmission control messages to the associated transmission participant;
2. shall request the network media interface to stop sending RTP media packets towards to the associated MCVideo client;
3. shall ignore any transmission control messages received from the associated transmission participant;
4. shall request the network media interface to stop forwarding RTP media packets from the associated MCVideo client to the media distributor in the MCVideo server;
5. shall indicate to the transmission control server arbitration logic in the MCVideo server that the MCVideo client has started to disconnect from the MCVideo call; and
6. shall enter the ‘Releasing’ state.
6.3.5.9 State: ‘Releasing’
6.3.5.9.1 General
The transmission control interface towards the MCVideo client in the transmission control server uses this state while waiting for the application and signalling plane to finalize the release of the MCVideo call or finalizing the removal of the MCVideo client from the MCVideo call.
6.3.5.9.2 Receive MCVideo call release – 2
Upon receiving an MCVideo call release step 2 request from the application and signalling plane, the transmission control interface towards the MCVideo client in the transmission control server:
1. shall request the network media interface to release all resources associated with this MCVideo client for this MCVideo call; and
2. shall enter the ‘Start-stop’ state and terminate the ‘basic transmission control operation towards the transmission participant” state machine associated with this transmission participant and this MCVideo call.