This section briefly describes fax relay method and the conditions required to offer a reliable fax relay service.
Group 3 faxes communicates using a standardised analogue telephone channel which transports frequencies in range 300-3100 Hz with small distortion. 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:
the fax signal is treated as a normal phone call. The voice compressors like G.723.1, G.729, GSM, etc ... are not able to transport fax signals since fax signals tolerate a much smaller distortion than voice. 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.
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.
Fax relay is a method which:
demodulates fax signals locally;
converts demodulated fax signals into data packets;
have the following feature: fax data packets are transported to remote side;
have the following feature: 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.
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.
The level of the analogue signals is not adequate. It's very rare to have the need to change default level, which is of −9 dbm.However Abilis CPX allows to change it via FM-LEVEL: parameter in CTISYS and FMLEVEL parameter in CTIR.
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.
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.
The default fax relay jitter compensation parameters are usually
adequate, i.e. FM-DFT-JBUF
:200
and 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.
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 shows that speeds below 9.6 are badly supported.
For higher reliability, at least speed of 9.6 must be allowed by
configuring SP
:9600
in CTIR. Since we want to use only 6.4k
for voice, a routing which intercepts numbers assigned to faxes and
uses SP
:9600
is required.
The ECM negotiation is disabled. This reduces incompatibilities problems and make lower failure chances in presence of packet loss.
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” which 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. With unique synchronisation the voice can be handled without buffer underrun/overrun also if silence suppression is disabled. 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).
The fm-relay parameter in the CTISYS resource enables/disbales the fax/data relay as default value for all ports. If FM-RELAY parameter is set to YES, the DSPs is enabled to recognize a fax handshaking tone. If this tone is generated by a fax near a phone and during a voice call, the fax handshaking tone reaches the microphone and it's recognized by the DSP. The result is that the local user (near the fax) hears only silence and the remote user hears the fax tone synchronization.
To avoid this:
set to NO the FM-RELAY parameter in the CTISYS resource
set to yes the FMRLY parameter in the fax cti routing rule to enable fax/data relay only for that routing
Refer to chapter How to configure fax modem relay parameter to view an example of configuration.
The V-RED parameter of a packet voice resource allows to activate/deactivate redundancy for Voice and/or Modem/Fax packets over clusters. Since fax relay is very sensitive to packet loss this feature is very useful to increase the fax relay reliability on connections with packet loss.
If the previous parameters have been set correctly and several issues with fax are still present, administrator can try to set the V-RED parameter to FM (Fax Modem) for best results. V-RED must be set to FM on both local and remote Abilis.
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.
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:
[16:16:35] ABILIS_CPX:d de ctiac:0
-------------------------------------------------------------------------------
AC Card DSP/C Bus/TS DSPState ACState ModeIn ModeOut Coder Ctip/BC
Dtmf DhVol DlVol FmLevel InGain OutGain SigGain MaxFaxSp MaxModSp
SC V-DJ V-MJ V-CurJ V-TopJ V-AvgJ EC BypassCoder
ECM FM-DJ FM-MJ FM-CurJ FM-TopJ FM-AvgJ FaxTxPg FaxFlowState
-------------------------------------------------------------------------------
0 QPRI-1 0/0 4/05 RUN IN-USE FAX - Spirit/6.4k -
OUTBAND -4 -4 -9 0 0 0 9600 7200
YES 100 250 0 0 0 NO -
YES 200 400 0 216 22 0 Tx-DIS
where:
ECM: Error Correction Mode, fax.
V-DJ: Voice Negotiated Default Jitter Buffer.
V-MJ: Voice Negotiated Maximal Jitter Buffer.
V-CurJ: Voice Current Jitter Buffer.
V-TopJ: Voice Top Reached Jitter Buffer.
V-AvgJ: Voice Average Reached Jitter Buffer.
EC: Echo Canceler.
FM-DJ: FAX/MODEM Default Jitter Buffer.
FM-MJ: FAX/MODEM Negotiated Maximal Jitter Buffer.
V-CurJ: FAX/MODEM Current Jitter Buffer.
FM-TopJ: FAX/MODEM Top Reached Jitter Buffer.
V-AvgJ: FAX/MODEM Average Reached Jitter Buffer.
FaxTxPg: Tax Transmitted Pages.
FaxFlowState: Fax Flow Current State.
For a successful fax relay here is a check list:
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.