Understanding Fax/Modem Pass-Through, Relay, and Store and Forward
Several features are available to overcome the issues involved with carrying fax and modem signals across an IP network including
■ Fax and Modem Pass-Through
■ Fax and Modem Relay
■ Fax Store and Forward
Fax pass-through, as illustrated in Figure 2-6, is the simplest technique for sending fax over IP networks, but it is not the default, nor is it the most desirable method of supporting fax over IP. T.38 fax relay provides a more reliable and error-free method of sending faxes over an IP network, but some third-party H.323 and Session Initiation Protocol (SIP) implementations do not support T.38 fax relay. These same implementations often support fax pass-through.
Fax pass-through is the state of the channel after the fax up-speed process has occurred. In fax pass-through mode, gateways do not distinguish a fax call from a voice call. Fax communication between the two fax machines is carried in its entirety in-band over a voice call. When using fax pass-through with up speed, the gateways are to some extent aware of the fax call. Although relay mechanisms are not employed, with up speed, the gateways recognize a called terminal identification fax tone, automatically change the voice codec to G.711 if necessary (thus the designation up speed), and turn off echo cancellation and VAD for the duration of the call.
Fax pass-through is also known as voice band data by the ITU. Voice band data refers to the transport of fax or modem signals over a voice channel through a packet network with an encoding appropriate for fax or modem signals. The minimum set of coders for voice band data mode is G.711 mu-law and a-law with VAD disabled.
Figure 2-6 Fax and Modem Pass-Through Topology
Fax pass-through takes place when incoming T.30 fax data is not demodulated or compressed for its transit through the packet network. The two endpoints (fax machines or modems) communicate directly to each other over a transparent IP connection. The gateway does not distinguish fax calls from voice calls.
With pass-through, the fax traffic is carried between the two gateways in RTP packets using an uncompressed format resembling the G.711 codec. This method of transporting fax traffic takes a constant 64 kbps (payload) stream plus its IP overhead end-to-end for the duration of the call. IP overhead is 16 kbps for normal voice traffic, but when switching to pass-through, the packetization period is reduced from 20 ms to 10 ms. Table 2-4 compares a G.711 VoIP call that uses 20 ms packetization with a G.711 fax pass-through call that uses 10 ms packetization.
Table 2-4 G.711 Packetization Periods
Overhead for Layers 3 and 4
Packet redundancy might be used to mitigate the effects of packet loss in the IP network. Even so, fax pass-through remains susceptible to packet loss, jitter, and latency in the IP network. The two endpoints must be clocked synchronously for this type of transport to work predictably.
Performance might become an issue. To attempt to mitigate packet loss in the network, redundant encoding (1X or one repeat of the original packet) is used, which doubles the amount of data transferred in each packet. The doubling of packets imposes a limitation on the total number of ports that can run fax pass-through at one time. One fax pass-through session with redundancy needs as much bandwidth as two G.711 calls without VAD.
Fax pass-through does not support the switch from G.Clear to G.711. If fax pass-through and the G.Clear codec are both configured, the gateway cannot detect the fax tone.
Fax pass-through is supported under these call-control protocols:
■ Media Gateway Control Protocol (MGCP)
Modem pass-through over VoIP provides the transport of modem signals through a packet network by using PCM-encoded packets. It is based on the same logic as fax pass-through: An analog voice stream is encoded into G.711, passed through the network, and decoded back to analog signals at the far end.
The following factors need to be considered when determining whether to use modem pass-through:
■ Modem pass-through does not support the switch from G.Clear to G.711.
■ VAD and echo cancellation need to be disabled.
■ Modem pass-through over VoIP performs these functions:
■ Represses processing functions like compression, echo cancellation, high-pass filter, and VAD
■ Issues redundant packets to protect against random packet drops
■ Provides static jitter buffers of 200 ms to protect against clock skew
■ Discriminates modem signals from voice and fax signals, indicating the detection of the modem signal across the connection, and placing the connection in a state that transports the signal across the network with the least amount of distortion
■ Reliably maintains a modem connection across the packet network for a long duration under normal network conditions
Cisco Fax Relay is the oldest method of supporting fax on Cisco IOS gateways and has been supported since Cisco IOS Release 11.3. Cisco Fax Relay uses RTP as the method of transport. In Cisco Fax Relay mode, gateways terminate T.30 fax signaling by spoofing a virtual fax machine to the locally attached fax machine. The gateways use a Cisco-proprietary fax relay RTP-based protocol to communicate between themselves.
Unlike fax pass-through, fax relay, as depicted in Figure 2-7, demodulates the fax bits at the local gateway, sends the information across the voice network using the fax relay protocol, and then remodulates the bits back into tones at the far gateway. The fax machines on either end are sending and receiving tones and are not aware that a demodulation/ modulation fax relay process is occurring.
Figure 2-7 Fax and Modem Relay Topology
The default method for fax transmission on Cisco IOS gateways is Cisco Fax Relay. This is an RTP-based transmission method that uses proprietary signaling and encoding mechanisms. The mechanism for Cisco Fax Relay is the same for calls that are controlled by SIP, MGCP, and H.323 call control protocols.
Note Before T.38 standards-based fax relay was introduced, configuration was required to enable Cisco Fax Relay.
Cisco provides two methods for fax relay:
■ Cisco Fax Relay: A Cisco-proprietary method, and the default on most platforms if a fax method is not explicitly configured.
■ T.38 fax relay: A method based on the ITU-T T.38 standard. It is real-time fax transmission (that is, two fax machines communicating with each other as if there were a direct phone line between them). T.38 fax relay is configured by using a few additional commands on gateway dial peers that have already been defined and configured for VoIP calls.
The T.38 fax relay feature can be configured for H.323, SIP, and MGCP call control protocols. For H.323 and SIP networks, the only configuration tasks that differ are those involving the configuration of VoIP dial peers.
T.38 is an ITU-T standards-based method and protocol for fax relay. Data is packetized and encapsulated according to the T.38 standard. T.38 fax relay has the following features:
■ Fax relay PLC
■ MGCP-based fax (T.38) and DTMF relay
■ SIP T.38 fax relay
■ T.38 fax relay for the T.37/T.38 fax gateway
■ T.38 fax relay for VoIP H.323
Cisco modem relay provides support for modem connections across traditional time-division multiplexing (TDM) networks. Modem relay demodulates a modem signal at one voice gateway and passes it as packet data to another voice gateway, where the signal is remodulated and sent to a receiving modem. On detection of the modem answer tone, the gateways switch into modem pass-through mode and then, if the call menu (CM) signal is detected, the two gateways switch into modem relay mode.
There are two ways to transport modem traffic over VoIP networks:
■ Modem pass-through: The modem traffic is carried between the two gateways in RTP packets, using an uncompressed voice codec, G.711 mu-law or a-law. Although modem pass-through remains susceptible to packet loss, jitter, and latency in the IP network, packet redundancy can be used to mitigate the effects of packet loss in the IP network.
■ Modem relay: The modem signals are demodulated at one gateway, converted to digital form, and carried in the Simple Packet Relay Transport (SPRT) protocol. SPRT is a protocol running over UDP packets to the other gateway, where the modem signal is re-created, remodulated, and passed to the receiving modem.
In this implementation, the call starts out as a voice call, switches into modem pass-through mode, and then into modem relay mode.
Modem relay significantly reduces the effects that dropped packets, latency, and jitter have on the modem session. Compared to modem pass-through, it also reduces the amount of bandwidth used.
Modem relay includes these features:
■ Modem tone detection and signaling
■ Relay switchover
■ Controlled redundancy
■ Packet size
■ Clock slip buffer management
Consider the modem relay characteristics in the following sections.
Modem Tone Detection and Signaling
Modem relay supports V.34 modulation and the V.42 error correction and link layer protocol with maximum transfer rates of up to 33.6 kbps. It forces higher-rate modems to train down to the supported rates. Signaling support includes the SIP, MGCP, and H.323:
■ For MGCP and SIP, during the call setup, gateways negotiate these items:
■ To use or not use the modem relay mode
■ To use or not use the gateway exchange identification (XID)
■ The value of the payload type for Named Signaling Event (NSE) packets
■ For H.323, the gateways negotiate these items:
■ To use or not use the modem relay mode
■ To use or not use the gateway XID
When the gateways detect a data modem, both the originating gateway and the terminating gateway switch to modem pass-through mode by performing these actions:
■ Switching to the G.711 codec
■ Disabling the high-pass filter
■ Disabling VAD
■ Using special jitter buffer management algorithms
■ Disabling the echo canceller upon detection of a modem phase reversal tone
At the end of the modem call, the voice ports revert to the previous configuration, and the DSPs switch back to the state they were in before the switchover. You can configure the codec by using the g711alaw or g711ulaw option of the codec command.