6 Elementary Procedures for TFO Operation
28.0623GPPInband Tandem Free Operation (TFO) of speech codecsService descriptionStage 3TS
This clause provides a simplified overview of the elementary procedures of the Tandem Free Operation Protocol. The complete, binding specification of the TFO Protocol is provided in clause 10.
6.1 Pre-synchronisation of IPEs
As soon as the local transcoder receives and sends speech samples and TFO is enabled, it initiates the TFO negotiation by sending TFO_FILL messages, in order to pre-synchronise potential IPEs quickly. The IPEs will then let further TFO messages pass transparently (see Annex B for guidelines for In-Path Equipment behaviour).
The distant TC may initiate the same procedure at the same time.
Figure 6.1
If the IPE does not support TFO, i.e. if it is not transparent for the TFO Messages and TFO Frames, it is perceived by the local transcoder in the same way as if the distant transcoder does not answer (see clause 6.2).
6.2 TFO Negotiation
The transcoder sends TFO_REQ messages, indicating its System Identification (3G, GSM…) and the Speech Codec Type used with its main characteristics (ACS for AMR). If the distant transcoder supports TFO, it will answer by a TFO_ACK message. The distant transcoder may initiate the same procedure at the same time.
If the local and distant transcoders use compatible Speech Codec Types (or compatible configurations of the same Speech Codec Type), see clause 11, they will go into TFO. Otherwise, a Codec Mismatch Resolution may be initiated, if supported by the transcoder.
Figure 6.2
In some rare cases, the transcoders might also go into TFO even if both ends use different Speech Codec Types or different Configurations of the same Speech Codec Types. Typical examples of this situation occur when both ends use AMR Speech Codec Types with a substantial subset of identical Codec Modes. The conditions and rules related to this situation are defined in clause 11.
The distant transcoder may not answer for following reasons (the list is not exhaustive):
– The call is connected to PSTN (and then there is no distant transcoder!);
– The distant transcoder does not support TFO or TFO is disabled there;
– The path between the transcoders is not transparent.
In these cases, the local transcoder sends several TFO_REQ and returns to normal mode. However, it continues to monitor if there are TFO messages inserted in the PCM samples.
6.3 Codec Mismatch Resolution
If the optional Codec Mismatch Resolution is supported, the transcoders shall exchange their full codec capabilities (Supported Codec List, with the full range of parameters for these codecs) by sending TFO_REQ_L messages or Con_Req frames. These are acknowledged by TFO_ACK_L messages, respectively Con_Ack frames. The same procedure may be initiated by the distant transcoder.
The same algorithm is then run at both extremities to determine a Common Speech Codec Type and its configuration to go into TFO. If no Common Speech Codec Type exists, the transcoders give up TFO. Any Speech Codec Type or Configuration listed in the Supported Codec Set is a candidate for TFO establishment. If a Codec Type configuration is undesirable, e.g. Full Rate Codec Type when operating on a Half Rate Channel, it should not be listed in the Supported Codec List.
Once the Common Speech Codec Type/Configuration is defined, each side must modify its Local Used Speech Codec Type and/or Configuration to the Common Speech Codec Type, if necessary. This operation may involve other network elements (BSS/RAN) and is out of the scope of the present document. Once the Speech Codec Type is set to the Common Speech Codec Type, the transcoder shall re-initialise the TFO Negotiation as defined in clause 6.2.
Figure 6.3
If the Codec Mismatch Resolution is not supported, the List of Supported Codec Types shall be restricted to the Local Active Codec Type and its Configuration (Acitve Speech Codec Mode/s in use).
6.4 TFO Establishment
To establish TFO, the transcoders sends a TFO_TRANS message to indicate to the IPEs that TFO frames follow, and begins to send TFO frames. The TFO_TRANS message also defines the bandwidth occupied by the TFO frames (8Â kbit/s or 16 kbit/s or 32 kbit/s).
Once both transcoders send and receive TFO frames, encoded with the Common Speech Codec Type, TFO is established.
Figure 6.4
6.5 Codec Optimisation
Once TFO is established, the transcoders shall exchange their capabilities available for Optimisation by sending a TFO_REQ_L message or a Configuration frame. The TFO_REQ_L message is acknowledged by TFO_ACK_L messages, the Configuration Request by an Configuration Acknowledgement. This may trigger a Codec Optimisation. The TFO Decision Algorithm will determine, if another Common Speech Codec Type/Configuration exists with the potential to provide better speech quality while operating in TFO.
If the Optimisation leads to a new Common Speech Codec Type and/or Configuration, both ends shall switch to the new Common Speech Codec following the same procedure as in clause 6.3 Codec Mismatch Resolution.
The Codec Optimisation may temporarily break TFO while the Speech Codec is switched to the new Optimised Codec Type/Configuration.
Figure 6.5
6.6 TFO Termination
TFO may be terminated for the following reasons (the list is not exhaustive):
– TFO is disabled in one of the transcoders;
– The call is released;
– An in-call modification from speech to data is initiated;
– A handover moves the call to a transcoder that does not support TFO, or where TFO is disabled;
– A handover moves the call to a cell where no common codec can be found with the distant side.
The transcoder which is still in TFO shall stop sending TFO frames, go back to normal operation and send a TFO_NORMAL message to indicate to the IPEs that TFO has ended.
6.7 TFO Fast Establishment after Local Handover
While TFO is established, if the local side is handed over, the distant side may not detect the loss of synchronisation immediately and continue to send TFO Frames.
Once the handover is performed, the new local transcoder receives TFO Frames, while TFO is not yet re-established. If the Speech Codec Types on both sides match, the local TC sends a TFO_DUP message to indicate the situation to the distant TC. Meanwhile, the distant transcoder may have detected a loss of synchronisation, which it signals by sending a TFO_SYL message. If further TFO Frames and especially if a TFO_SYL message are received, the new local transcoder sends TFO Frames and goes into TFO.
Figure 6.6
The same procedure applies if the new local Transcoder operates an AMR Speech Codec Type and receives acceptable TFO Frames (AMR TFO Frames for one of the Codec Modes in the ACS) after a local handover. The local Transcoder assumes that the ACS was not changed during the Handover and sends TFO Frames to the distant Transcoder. The local and distant Transcoders should then confirm that they are operating on the same or compatible ACS by exchanging TFO_REQ_L messages (or Configuration Frames, see example below) and by running the TFO Decision Algorithm.
Figure 6.7