Fax Relay with Abilis

Revision History
Revision 1 2006-04-03
First issue

Table of Contents

1. Introduction
2. Fax over packet networks
3. Fax Relay
3.1. Errors on analogue channel
3.2. Packet loss and late packets
3.3. Excess delay
3.4. Incompatibilities
4. Abilis configurations for best results
4.1. Jitter compensation
4.2. Fax speed
4.3. ECM
4.4. Clock sync
5. Abilis statistics and diagnostics
6. Conclusion


This document is intended to instruct the reader about the challenge of fax transmission over packet networks, and instruct the Abilis CPX system administrator on how to set it up and supervise for best results.

1. Introduction

Abilis CPX offers a proprietary protocol to transport ISDN over IP, this is called “cluster protocol” and allows transport of Voice, Fax, Data calls using various techniques of coding and compression.

This article briefly describes fax relay method and the conditions required to offer a reliable fax relay service.

2. Fax over packet networks

Group 3 faxes were designed to communicate by means of a standardised analogue telephone channel, i.e. a full-duplex channel able to transport, with small distortion, frequencies in range 300-3100 Hz.

This actually means that the fax machines send the data related to scanned image using modems, more precisely V.26, V.27, V.29 modems.

There are two basic ways to transport fax over packet networks:

  • fax bypass

  • fax relay

In fax bypass the fax signal is treated as a normal phone call, but since fax signals tolerate a much smaller distortion than voice, the voice compressors like G.723.1, G.729, GSM, etc ... are not able to transport fax signals.

At the time of writing only G.726 and G.727 at 40 kbit/sec are able to pass faxes acceptably

Of course G.711 and fully TRANSPARENT coders, which both requires 64 kbit/sec, transport fax signal without any additional distortion.

In fax relay the fax signal is demodulated locally and converted into data packets which are sent to remote site for re-modulation.

This process requires much less bandwidth on the packet network than fax bypass: the demodulation extracts the original data bits, which can be at one of the bit rates available in group 3 faxes, i.e. 9.6, 7.2, 4.8, 2.4, and only this information is transported over the packet network.

Recently group 3 faxes have been extended with a 14.4 kbit/sec bit rates using V.34 modulation scheme. Abilis CPX supports also this method.

3. Fax Relay

Fax relay is a method which:

  • demodulates fax signals locally

  • converts demodulated fax signals into data packets

  • fax data packets are transported to remote side

  • remote side converts data packets into fax data and remodulates them locally

In this process there are four points where problems can arise:

  • errors on analogue channel (modulation/demodulation)

  • packet loss and late packets

  • excess delays

  • incompatibilities between fax machines, and between fax machines and the Abilis CPX fax relay engine

3.1. Errors on analogue channel

This may occur because:

  • The CTI SYSTEM clock between Abilis CPX and the Fax machine (or PABX if it is in the middle) is not synchronised. This is actually the usual problem of ISDN/TDM synchronisation issues between devices, while tolerable with voice calls become critical with fax/data connections.

    We do not describe here what to do to keep in sync devices connected via ISDN/TDM interfaces.

  • The level of the analogue signals is not adequate. It's nowadays very rare to have the need to change default level, which is of −9 dbm, but if you suspect that this could be the cause, Abilis CPX offer the possibility to change it via FM-LEVEL: parameter in CTISYS and FMLEVEL parameter in CTIR.

3.2. Packet loss and late packets

Fax relay and fax bypass are similar to voice, they require real time treatment. The only difference is that they can tolerate a little bit higher round-trip delay.

The literature widely available on Internet explains very well the challenges of transporting real time data over packet networks. This is not the place where we will explain them deeply, but we want to summarise few key points:

  • Packet networks work with message store-and-forward paradigm, therefore hops and queues introduce variable delays in packet delivery. This effect is called jitter.

  • Although coders, silence suppression, and other techniques, may make the packet exchange discontinued, voice and faxes produces and uses data at constant bit rate, based on a clock available at A/D and D/A converters.

  • Each application has its own tolerable delays which poses constrains to buffers dimensioning.

  • Buffering, also known as jitter-compensation, has to be dimensioned as a trade-off to cover all the above points and provide the desired, or acceptable, quality of the service.

Packet loss and late packets are far the most critical problem, which may have several causes

  • Network packet loss

  • Buffer overflows

  • Buffer underflows

  • Insufficient jitter compensation

3.3. Excess delay

The round-trip delay of land line telephone networks is usually of some millisecond, maximal some tenth.

The round-trip delay of satellite telephone networks is at least 500 msec.

The fax protocol tolerates delays which are between 1 to 3 seconds, therefore if the network offers a round-trip delay above 1 second ... problems *may* arise.

3.4. Incompatibilities

While fax bypass does not make any inspection of the fax signal and therefore compatibility is not an issue, for fax relay, which has to demodulate the signal locally and make some other “inspection”, it is possible, although seldom, that fax machine and the Abilis fax relay engine does not understand each other correctly.

4. Abilis configurations for best results

Starting from version 5.3.0 the Abilis CPX improved fax relay management a lot, and became rock solid in version 5.4.7.

Following considerations apply to Abilis 5.4.7 or later.

4.1. Jitter compensation

The default fax relay jitter compensation parameters are usually adequate, i.e. FM-DFT-JBUF:200 FM-MAX-JBUF:400. Both Abilis at the two sides of fax relay connection must have these values set.

Each Abilis CPX can jitter compensate the packets it RECEIVES. These parameters affects only the CPX where they are set, for the receive direction.

They can be increased if the network shows a higher jitter, but there is a risk to fall in the excessive delay problem explained above.

4.2. Fax speed

Although faxes should work at all standard speeds of 9.6, 7.2, 4.8, 2.4, and in some cases also 14.4 and 12 kbit/sec, our experiences shown that speeds below 9.6 are badly supported.

For higher reliability we suggest to allow at least speed of 9.6 by configuring SP:9600 in CTIR.

Since we normally want to use only 6.4k for voice, a routing which intercepts numbers assigned to faxes and uses SP:9600 is required.

4.3. ECM

Since Abilis CPX 5.4.7 the ECM negotiation is disabled. This reduces incompatibilities problems and make lower failure chances in presence of packet loss.

4.4. Clock sync

The clock synchronisation between devices interconnected by ISDN/TDM interfaces, i.e. cpx-pabx, pabx-isdnfax is still mandatory, but the synchronisation of the clocks of the fax-relay endpoints is no more required if FM-DFT-JBUF:200 and FM-MAX-JBUF:400 are correctly used.

It means that Abilis in “site A” and Abilis in “site B” that relay faxes each other through Internet, may run different ISDN/TDM clocks without having negative effects to faxes. It means that either or both sides may miss interconnection to ISDN network!

On the other hand synchronisation to a unique clock is always preferred when possible, but for OTHER reasons. With unique synchronisation the voice can be handled without buffer underrun/overrun also if silence suppression is disabled, otherwise silence suppression is the only way to avoid that sooner or later one direction will persistently work at overrun condition (with high delay!) and the other at underrun condition (jitter compensation absent).

5. Abilis statistics and diagnostics

The statistics of PV and IP tunnels (AIPT) can be used to measure packet loss and to have an idea on jitter values. Remember that faxes are very sensible to packet loss.

Both sides of the PV and IP tunnel must be checked because each side analyses the packets it receives.

The statistics to check carefully are MISSING and time arrival variation of voice frames. MISSING should not increase, and time arrival variation should not increase for values above 200 msec.

If those two statistics increase ... fix the network (or network connections).

The statistics an diagnostics of Audio Compressors (CTIAC) provide many useful information. Jitter measures, available when an Audio Compressor is IN-USE, may be useful to troubleshoot fax connections.

An example of AC extended diagnostics is:

[18:20:14] CPX_ANTEK-PBX:_d de ctiac:1

AC   Card    DSP/C  Bus/TS DSPState ACState  ModeIn  ModeOut Coder      Port/BC
     Dtmf    DhVol  DlVol  FmLevel  InGain   OutGain SigGain MaxFaxSp  MaxModSp
     SC      Dft-JB Max-JB Cur-JB   Top-JB   Avg-JB          BypassCoder
  1  QPRI-1    0/1    8/01 RUN      IN-USE   VOICE   BFI     Spirit/6.4k 111/01
     OUTBAND -4     -6     -9       0        0       0       7200      7200
     YES     100    250    40       120      47              -


  • Dft-JB is the default jitter buffer in use. When fax is active this value is loaded to FM-DFT-JBUF

  • Max-JB is the maximal jitter buffer in use. When fax is active this value is loaded to FM-MAX-JBUF

  • CurJB is the current occupation of jitter buffer

  • Top-JB is the maximal occupation of jitter buffer reached during this connection

  • Avg-JB is the average occupation of jitter buffer during this conneciton

  • All values are expressed in milliseconds

Here is an example when fax was detected and fax connection was negotiating:

[18:31:02] CPX_ANTEK-PBX:_d de ctiac:4

AC   Card    DSP/C  Bus/TS DSPState ACState  ModeIn  ModeOut Coder      Port/BC
     Dtmf    DhVol  DlVol  FmLevel  InGain   OutGain SigGain MaxFaxSp  MaxModSp
     SC      Dft-JB Max-JB Cur-JB   Top-JB   Avg-JB          BypassCoder
  4  QPRI-1    1/0    9/00 RUN      IN-USE   FAX     -       Spirit/9.6k 114/01
     OUTBAND -4     -6     -9       0        0       0       9600      9600
     YES     200    400    0        200      3               -

6. Conclusion

For a successful fax relay here is a check list:

  • Use Abilis CPX v. 5.4.7 or above

  • Use FM-DFT-JBUT:200 and FM-MAX-JBUF:400

  • Use CTI routings with SP:9600 or higher

  • Use network connection with very low packet loss

  • Use network connection with round-trip delay not higher than 1 second

Abilis FM-DFT-JBUF and FM-MAX-JBUF may be increased a little bit in presence of network connections with bigger jitter, but reasonably to value not greater than 400 and 600 respectively.

Clock synchronisation between the Abilis CPX at the two endpoints of the fax relay connection is not required.