A.1 Generic Structure of Inband Signalling Messages

08.623GPPInband Tandem Free Operation (TFO) of speech codecsService descriptionStage 3TS

All IS Messages follow a set of design rules, or a generic structure, which allow to identify and bypass them by IPEs without detailed knowledge of the IS Protocol served. The principle of the IS Protocol shall in that sense be future proof: it can be enhanced and extended to other applications without modifying the IPEs.

The IS Messages replace some of the LSBs of the PCM samples of the Speech, Audio or Modem signal.

By construction the introduced signal distortion is practically inaudible in case of Speech signals.

Modem signals will in most cases not be affected with respect to their data transmission performance.

A.1.1 Frequency and Order of Bit Transmission

IS Messages are transferred within the Least Significant Bit (LSB) of PCM samples on 64 kBit/s links, by replacing the LSB of every 16th consecutive PCM sample with one bit of the IS Message (16_PCM_Sample_Grid).

This is equivalent to an average bit rate of 10 bit per 20 ms or 500 bits per second. See Figure 12:

Figure 12: Inband Signalling Structure

A vertical bar denotes an 8-bit PCM sample, the shadowed box in bit 1 (LSB) represents an inserted bit of the IS-Message.

By definition each IS Message "occupies" an integer multiple of 16 PCM samples. Especially the 15 PCM samples after the last inserted bit of an IS Message "belong" still to that IS Message.

All IS Messages, whichever type, have by construction “0”-Bits at every 10th position, starting with position 1, 11, 21 and so on. This “0”-Bits occur therefor regularly every 20 ms and may be used for synchronization purposes.

Each IS Message consists of an IS_Header followed by an IS_Command_Block. Most IS Messages have a number of further IS_Extension_Blocks. Figure 13 shows an example with two IS_Extension_Blocks.

Figure 13: Example for IS Message with two IS_Extension_Blocks

The MSB of each constituent field is transmitted first. The IS_Header is transmitted first, followed by the IS_Command_Block and – if applicable – any further IS_Extension_Block(s).

By construction all IS Messages do have lengths of integer multiples of 10 bits, thus occupying integer multiples of 160 PCM samples, thus lasting integer multiples of 20 ms. The shortest IS Message has a length of 60 ms.

A.1.2 IS_Header

The IS_Header consists of a 20-Bit long sequence, as defined in Figure 14:

Figure 14: Structure of the 20 bit IS_Header

A.1.3 IS_Command_Block

The IS_Command identifies the IS Message and/or serves for the control of IPEs. The names of the IS_Commands and their codes in hexadecimal notation in the IS_Command_Block are given in the Table 20.

Table 20: Defined IS_Commands




Meaning / Action

Nibble 1-3




no extension




Denotes an IS_REQ Message, with extension




Denotes an IS_ACK Message, with extension




Denotes an IS_IPE Message, with extension,
i.e. an IS_TRANS or the IS_NORMAL Message




Denotes the IS_FILL Message, no extension




Denotes the IS_DUP Message, no extension




Denotes the IS_SYL Message, no extension




no extension

All other values are reserved for future use.

Each IS_Command is protected by the binary, systematic (9,3) block code with generator polynomial
g(x) = x^6 + x^4 + x^3 + x^2 + 1. The minimum Hamming distance of this code is dmin = 4, which allows the correction of up to one bit error within each code word of length 9 bits.

The first bit (MSB) of the IS_Command_Block is defined to be "0", for synchronisation purposes, see Figure 15.

Table 20 gives the hexadecimal notation of the complete IS_Command_Block.

Figure 15: General Construction of an IS_Command_Block

A.1.4 IS_Extension_Block(s)

Most IS Messages have one or more IS_Extension_Block(s). Each IS_Extension_Block is 20 bits long and shall consist of two "0"-Synchronization_Bits at position 1 (MSB) and 11, a 16-bit Information_Field (split into two fields of 9 and 7 bits, respectively) and a 2-bit Extension_Field (EX), see Figure 16:

Figure 16: General Construction of an IS_Extension_Block

The Extension_Field indicates if an other IS_Extension_Block is following (EX :="1.1" ) or not (EX := "0.0").

All other codes are reserved. This may be used to detect transmission errors within the Extension_Field.