# Tandem Free Operation

Tandem Free Operation (TFO) is a part of ETSI's 3GPP standard specification, which has been included from R99 of the standards specifications onwards.

## Overview

In traditional GSM networks, a call between two Mobile Stations (MS) involve a dual encoding/decoding process. Speech signals are first encoded in the originating MS, converted to G.711 in the local transcoder, converted back to a GSM codec in the remote transcoder and finally converted back to speech at the terminating MS. In this configuration the two transcoders are operating in tandem introducing a voice quality degradation. It is possible to eliminate this problem by removing the two transcoding operations in the voice path if the two MS are using the same codec.

## Details

Broadly, the equipments that are en-route two end mobile sets can be categorized into two types:
* Active voice equipments, that does the transcoding operation, either from a GSM/UMTS speech codec (e.g.: GSM-EFR, GSM-AMR) to G.711/PCM or opposite.
* Passive equipments (or In-Path Equipment), does not transcode, but change the voice signals in some way. For example: Line Echo Canceller, attenuation algorithms or any equipment that change the voice samples.

## Active Equipment

These equipment are typically at the edge of the core networks that acts as a gateway between mobile core networks (IP based) and digital PSTN networks. Mobile core IP networks carry voice encoded in the form of one of the GSM/UMTS codecs (e.g.: GSM AMR). When this has to be carried over a G.711/PCM based PSTN network, the gateway equipment transcodes from GSM/UMTS codec to G.711 PCM samples. This results in a certain loss of voice quality.
A single G.711/PCM sample is an 8-bit value and is sampled at the rate of 8 kHz. Hence, the bandwidth requirement is 64 kbit/s, with each bit corresponding to 8 kbit/s.
TFO is a mechanism that steals least significant bits (LSBs) of PCM samples to literally embed the bits from encoded stream. Since most GSM/UMTS codec rates are around the range of 8 kbit/s to 16 kbit/s (and higher rates of up to 32 kbit/s for 16 kHz sampled Wide Band codecs), one needs to steal only about 1 or 2 LSBs of total 8 bits. This aspect is very important, as, if there is a breakage in TFO connection, the upper most significant bits (MSBs) can still be used to carry transcoded G.711/PCM sample values. The degradation due to loss of 1 or 2 LSBs is not much.
The remote transcoder equipment then extracts the encoded stream from LSBs of PCM samples and reconstructs it as codec frames and then sent as though it was encoded by itself, thereby virtually avoiding two iterations of trancoding.

### Flow

The transcoder equipment that supports TFO runs a well defined state machine. Based on the sequence of events, the state machine table defines a sequence of actions to be performed.
As a part of this sequence, the local transcoder sends TFO In-band Signalling messages (IS_Messages) on the LSBs of the PCM samples. The protocol is very well defined in the specification documents.
The remote transcoder equipment that receives these messages, acknowledges (ACKs) with its own IS_Messages. Upon initial exchange, the two transcoders also exchange their capabilities (the codecs they support, etc.). Once a common codec is decided, they both start streaming PCM samples with LSBs containing encoded stream.

## In-Path Equipment (IPE)

As described earlier, these are not active equipment that does transcoding. These typically come in the path of two transcoders. To ensure that the TFO stream that is embedded in the LSBs of PCM samples are not touched by these equipments, even these have to be aware of TFO.
The specifications define the role for these. In a nutshell, these equipments have to detect TFO traffic (by checking for IS_Messages on the input) and ensure that these are not touched on the output.