The procedures defined in this subclause provide floor control to MCPTT UEs in off-network operation. The procedures apply to both private calls and group calls.
In off-network, floor control is performed by using floor control messages among the MCPTT clients without centralized MCPTT server. The MCPTT client can transmit voice packets once it is granted the right to speak, either locally in the UE or by reception of a floor granted message from another MCPTT client.
In off-network, the MCPTT client currently speaking performs the temporary floor arbitrator during speaking since there is no centralized MCPTT floor control server. The floor arbitrator controls the floor whether or not queue is supported, and when floor is requested with override. If queue is supported, the MCPTT client performing floor arbitrator grants the right to speak to the next speaker and transfers the floor arbitrator role after completing the voice transfer and releasing the floor. For group calls, the floor arbitrator also transfers the floor control queue when granting the floor. The next MCPTT client receiving the right to speak becomes the new floor arbitrator and, for group calls, has the floor control queue.
For group calls, the floor control message is delivered in multicast based communication and can be monitored by all the members within the MCPTT group.
The following information flows apply among MCPTT clients.
Floor request (from the floor participants to the floor arbitrator): used to request a floor for voice transfer.
Floor release (from the floor arbitrator to the floor participants): used to inform that the voice transfer is completed and the floor is released.
Floor granted (from the floor arbitrator to a floor participant): used to indicate that the request for floor is granted, that voice transfer is possible and the current queue list.
Queue position request (from the floor participant to the floor arbitrator): used to request the position in the floor request queue.
Queue position info (from the floor arbitrator to the floor participant): used to indicate the floor request is queued and the current queue status.
Floor rejected (from the floor arbitrator to the floor participant): used to indicate that a request for the floor is rejected.
Floor taken (from the floor arbitrator to the floor participant): used to indicate the floor is granted to another MCPTT user.
Table 10.9.2.2.2-1 describes the information flow floor granted, from the floor participant to the floor participant, which is used to indicate that a request for floor is granted and media transfer is possible.
If a floor arbitrator still exists, the expected behaviour for floor requests during periods of silence is described in subclause 10.9.2.5 and subclause 10.9.2.6 (with the exception that no media was being generated prior to the floor request).
If a floor arbitrator does not exist, Figure 10.9.2.3.1-1 shows the successful high level floor control procedure during periods when there is no detectable talker.
Pre-conditions:
An off-network group call had been established and all MCPTT clients have the call parameters. No participant is currently talking and no floor arbitrator is identified.
If a floor arbitrator does not exist, Figure 10.9.2.4.1-1 shows the expected behaviour in case of simultaneous floor requests are generated when there is no detectable talker.
Pre-conditions:
An off-network group call is established and all MCPTT clients have the call parameters. No participant is currently talking and no floor arbitrator is identified.
MCPTT client 1 has higher priority than MCPTT client 2.
On receiving a floor request message, while waiting for a response to the sent floor request message, the MCPTT client compares its floor priority with the floor priority indicated in the received floor request message.
On determining that it has higher floor priority than the received floor request message(s), and no response to the sent floor request message is received, the MCPTT client 1 sends the floor taken message to the MCPTT group.
Figure 10.9.2.5-1 shows the high level procedure that the floor control is conducted when the MCPTT off-network session is already established among MCPTT floor participants and while voice media is transmitting. In the case, MCPTT clients should support queue function. The current speaking MCPTT client acting as the floor arbitrator put the floor request into the queue list when receiving the floor request from other MCPTT clients. This procedure happens while voice media is transmitting. In the flow, MCPTT client 1 transmits the voice media to the MCPTT group and acts as the floor arbitrator.
MCPTT client 1 sends the queue position info message with the queuing status regarding the floor request of MCPTT client 2 in order to inform the floor request is queued.
MCPTT client 1 sends the floor granted message to the MCPTT group when releasing the floor. The message contains the MCPTT ID to be granted to send the voice media, and queue list, if any. MCPTT client 1 may include the maximum duration that MCPTT client 2 transmits in the floor granted message.
MCPTT client 2 sends the voice media when receiving the floor granted message and being granted as next speaker in the floor granted message. In addition, MCPTT client 2 becomes the floor arbitrator.
Figure 10.9.2.6-1 shows the high level procedure that the floor control is conducted when the MCPTT off-network session is already established among MCPTT floor participants. In the case, MCPTT clients do not support queue function. The current speaking MCPTT client acting as the floor arbitrator controls the floor request when receiving the floor request from other MCPTT clients. This procedure happens while voice media is transmitting. In the flow, MCPTT client 1 transmits the voice media to the MCPTT group and acts as the floor arbitrator.
MCPTT client 1 acting as the floor arbitrator rejects the floor request from MCPTT client 2 if no queue function is supported and sends the floor rejected message to the MCPTT group.
MCPTT client 1 sends the floor release message to the MCPTT group when releasing the floor, in order to indicate that MCPTT client 1 finishes to send the voice media and releases the floor.
When the floor release message is transmitted, there are no voice media in the MCPTT group until an MCPTT client requests the floor as described in subclause 10.9.2.3.
Figure 10.9.2.7-1 shows the high level procedure that the floor control is conducted when the MCPTT off-network session is already established among MCPTT floor participants and while voice media is transmitting. When the currently speaking MCPTT floor participant receives the floor request message from another floor participant who is authorized to revoke the active transmission (e.g. higher hierarchy), the current speaking MCPTT floor participant immediately stops sending the audio media and then grants the permission to that authorized floor participant.
Pre-condition:
MCPTT client 1, who acts as the floor arbitrator, transmits the audio media to the MCPTT group.
MCPTT client 1 acting as the floor arbitrator determines if the floor is to be revoked based on override criteria. If this is the case, MCPTT client 1 revokes its right of the floor and stops sending the voice media immediately.
MCPTT client 1 sends the floor granted message to the MCPTT group. The floor granted message contains the MCPTT ID to be granted, the floor and the floor control queue (if supported). MCPTT client 1 may also include the maximum duration that MCPTT client 2 can transmit voice in the floor granted message.
MCPTT client 2 who has revoked the floor is the new floor arbitrator and transmits the audio media to the MCPTT group.
Figure 10.9.2.8-1 shows the high level procedure that the floor control is conducted when the MCPTT off-network session is already established among MCPTT floor participants and while voice media is transmitting. If the floor control queueing is supported by the floor control mechanism, the current speaking MCPTT group member who is acting as the floor arbitrator collects the information about the queue status based on the received request(s) from the MCPTT group participant(s). The current speaker can then share information about the queue status of the MCPTT floor participant upon request.
Pre-condition:
MCPTT client 1, who acts as the floor arbitrator, transmits the audio media to the MCPTT group.
MCPTT client 2 sends the queue position request message targeted to MCPTT client 1 i.e. the floor arbitrator by broadcasting the message to the MCPTT group to get its queue status.
Since the queue function is assumed to be supported in this call flow, MCPTT client 1 i.e. the floor arbitrator processes the queue position request to find out the status of MCPTT client 1 in the queue.
MCPTT client 1 constructs the queue position info message containing the MCPTT client 2's queue status and sends it toward MCPTT client 2 by broadcasting the message to the MCPTT group.
MCPTT client1 continues being the floor arbitrator and transmits the audio media to the MCPTT group.