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.