The Cisco ATA provides two modes of fax services that are capable of internetworking with Cisco IOS gateways over IP networks. These modes are called fax pass-through mode and fax mode.
With fax pass-through mode, the Cisco ATA encodes fax traffic within the G.711 voice codec and passes it through the Voice Over IP (VoIP) network as though the fax were a voice call. This mode uses the Cisco proprietary fax upspeed method.
With fax mode, the Cisco ATA presents itself as a device capable of using only G.711 codecs; therefore, no codec renegotiation or switchover is required. This places minimum functionality and configuration requirements on remote gateways. Fax mode is recommended for environments in which G.711 fax upspeed is not available for the supporting Cisco gateways.
Note The term Cisco ATA is used throughout this manual to refer to both the Cisco ATA 186 and the
Cisco ATA 188, unless differences between the Cisco ATA 186 and Cisco ATA 188 are explicitly stated.
Using Fax Pass-through Mode
Fax pass-through mode allows for maximum codec flexibility because users may set up a voice call using any voice codec, then renegotiate to a G.711 codec for the fax session. To use fax pass-through mode, first configure the Cisco ATA and supporting Cisco gateways to support the Cisco-proprietary G.711fax upspeed method. Then, disable fax relay on the far-end gateway—either for the entire gateway or for the dial peer engaged in the fax call with the Cisco ATA.
The fax upspeed method allows you to use low bit-rate codecs such as G.723 and G.729 for voice calls, and G.711 codecs for fax calls. With a fax call, the Cisco ATA detects a 2100-Hz CED tone or V.21 preamble flag, then informs the remote gateway of its intent to switchover to G.711 via a peer-to-peer message. This type of message, carried as a Named Signaling Event (NSE) within the RTP stream, is used for all fax event signaling. The Cisco ATA can initiate and respond to NSEs and can function as either an originating or terminating gateway.
Note The Cisco ATA can also accept standard-based protocol-level codec switch requests, but cannot send
such requests. Therefore, to interoperate with a Cisco gateway, use the Cisco-proprietary codec switch.
The AudioMode parameter is a 32-bit value. The lower 16 bits apply to the Phone 1 port of the Cisco ATA and the upper 16 bits apply to the Phone 2 port of the Cisco ATA.
Example
The following is an example of configuring the Phone 1 port of the Cisco ATA for fax pass-through mode:
0xXXXX0015
Translation
This setting translates to the following bitmap:
xxxx xxxx xxxx xxxx 0000 0000 0001 0101
Bit 0 = 1—Enables G.711 silence suppression (VAD)
Bit 2 = 1—Enables Fax CED tone detection and switchover upon detection
Bit 4 = 1, Bit 5 = 0—DTMF transmission method = out-of-band through negotiation
Bit 6 = Bit 7 = 0—Hookflash transmission method = disable sending out hookflash
Note The values XXXX in the example apply to the Phone 2 port of the Cisco ATA.
To configure the same value for the Phone 2 port of the Cisco ATA, the value would be 0x0015XXXX. The configuration of one port is independent from the configuration of the other port.
ConnectMode
Description
The ConnectMode parameter is a 32-bit value. The parameter settings apply to both lines of the Cisco ATA. Configure ConnectMode after configuring AudioMode for fax pass-through mode. Cisco recommends you use the following ConnectMode setting to interoperate with a Cisco IOS gateway.
Recommended Setting
0x90000400
Translation
This setting translates to the bitmap:
1001 0000 0000 0000 0000 0100 0000 0000
Bit 2 and bits 7 through 15 are the only relevant bits for fax pass-through mode. These bits from the example are isolated below:
xxxx xxxx xxxx xxxx 0000 0100 0xxx x0xx
Bit 2 = 0—Uses RTP payload number 126/127 for fax upspeed to G.711m-law/G.711A-law. Set this value to 1 if you want to use RTP payload number 0/8 for fax upspeed.
Bit 7 = 0—Disables fax pass-through redundancy. Set this bit to 1 to enable redundancy. With redundancy enabled, the Cisco ATA sends each packet twice. Because of bandwidth and transmission time costs, use this option only if network quality is poor and all other gateways used in the network support this feature.
Bits {12, 11, 10, 9, 8} = {0, 0, 1, 0, 0}—Sets the offset to NSE payload-type number 96 to 4. Setting the offset to 4 results in the Cisco ATA sending an NSE payload-type value of 100 by default. Valid offset values range from 2 to 23 (NSE payload type value of 98 to 119). Set this value to match the value for your Cisco gateways.
Most Cisco MGCP-based gateways, such as Cisco 6608, use NSE payload type 101 by default. Most Cisco H.323/SIP-based gateways use NSE payload type 100 by default.
Bit 13 = 0—Uses G.711m-law for fax pass-through upspeed. Set this bit to 1 to use G.711A for fax pass-through upspeed.
Bit 14 = Bit 15 = 0—Enables fax pass-through mode using the Cisco proprietary method (recommended). Set both of these bits to 1 to disable fax pass-through mode.
Configuring Cisco IOS Gateways to Enable Fax Pass-through
To configure your IOS gateways to network with Cisco ATA, do the following:
The definitions of the command parameters are as follows:
The payload-type parameter default is 100. Valid values are from 98 to 119.
The NSE payload number must be the same on both the Cisco ATA and the Cisco gateway.
The codec parameter must be G.711m-law for faxes sent over a T1 trunk or G.711A-law for faxes sent over an E1 trunk.
The redundancy parameter enables RFC 2198 packet redundancy. It is disabled by default.
The maximum sessions parameter defines the number of simultaneous fax pass-through calls with redundancy. The default is 16. Valid values are 1 to 26.
When using the voice service voip and modem passthrough nse commands on a terminating gateway to globally set up fax or modem pass-through with NSEs, you must also ensure that each incoming call will be associated with a VoIP dial peer to retrieve the global fax or modem configuration. You associate calls with dial peers by using the incoming called-number command to specify a sequence of digits that incoming calls can match. You can ensure that all calls will match at least one dial peer by using the following commands:
Step 3 For the Cisco ATA ConnectMode parameter, turn off bits 14 and 15. This enables the sending of fax pass-through signals and the detection of incoming fax pass-through signals using the Cisco proprietary method.
Note The NSE payload-type number, fax pass-through codec (G.711m-law or G.711A-law) and redundancy
parameters must have the same settings for the Cisco ATA that they have for supporting Cisco gateways.
Dial-Peer Level Commands
You can enable fax pass-through mode for communication between a Cisco IOS gateway and the specified Cisco ATA using the following dial-peer level commands:
When using the default configuration, the dial-peer fax pass-through configuration is defined by the voice service voip command. When the system option is used, no other parameters are available.
When the NSE is configured in the fax pass-through command at the dial-peer level, the fax pass-through definition in the dial-peer command takes priority over the definition in the voice service voip command.
b. The payload-type number, codec, and redundancy parameters can also be used.
For example, the command:
modem passthrough NSE codec g711mlaw
means that the Cisco ATA will use the NSE payload-type number 100, G.711m-law codec, and no redundancy in fax pass-through mode.
Step 3 When setting up dial-peer for fax pass-through, it is necessary to set up a pair of dial-peers for inbound and outbound calls between the Cisco ATA and Cisco IOS gateways. You do this by specifying the destination-pattern and incoming-called number. The destination-pattern should point to the Cisco ATA, while the incoming-called number should apply to all numbers that the Cisco ATA is allowed to dial.
Disable Fax Relay Feature
Fax relay may be enabled by default for some IOS gateways. If you do not disable the fax relay feature, it may override the precedence of fax/modem pass-through and cause the fax transmission to fail. It is necessary to disable fax relay at the dial-peer or system level with the following command:
fax rate disable
Using FAX Mode
Use fax mode when the gateways in the network do not support fax pass-through mode or dial-peer configuration.
You can set one or both lines of the Cisco ATA to G.711-only fax mode. This mode allows the fax machine connected to the Cisco ATA to communicate directly with the far endpoint with no fax signaling event occurring between the two gateways.
G.711-only fax mode operation requires configuration of one parameter—AudioMode.
Description
The AudioMode parameter is a 32-bit value. The lower 16 bits apply to the Phone 1 port of the Cisco ATA, and the upper 16 bits to the Phone 2 port. The following is an example of the Phone 1 port of the Cisco ATA configured for G.711-only fax mode:
Example
0xXXXX0012
Translation
This setting translates to the bitmap:
xxxx xxxx xxxx xxxx 0000 0000 0001 0010
Bit 0 = 0—Disables G.711 silence suppression (VAD).
Bit 1 = 1—Uses G.711 only, does not user the low bit-rate codec.
Bit 2 = 0—Disables Fax CED tone detection.
Bit 4 = 1, Bit 5 = 0—DTMF transmission method: out-of-band through negotiation
Bit 6 = Bit 7 = 0—Hookflash transmission method: disables sending out hookflash
Note The values XXXX in the example do not apply to the Phone 1 port of the Cisco ATA.
To configure the same value for the Phone 2 port of the Cisco ATA, the value would be 0x0012XXXX. The configuration of one port is independent from the configuration of the other port.
Note The AudioMode configuration overrides the values of the following three parameters: RxCodec,
TxCodec, and LBRCodec. For example, if these three parameters are each set to 0 (for G.723), the
Cisco ATA would still use G.711 if AudioMode is set to 0x00120012. With this configuration, the
Cisco ATA sends both G.711m-law and G.711A-law as preferred codecs to a peer voice gateway.
Configuring the Cisco IOS Gateway for Fax Mode
On the Cisco gateway, disable both fax relay and fax pass-through at the dial-peer level or system level with the following commands:
Procedure
Step 1 Run the command:
fax rate disable
Step 2 Run the command:
no modem passthrough
Debugging the Cisco ATA 186/188 Fax Services
This section includes the following debugging topics for fax services:
Table 6-1 lists typical problems and actions that might solve these problems for situations in which the Cisco ATA is using fax over a Cisco IOS gateway.
Table 6-1 Solving Common Fax Problems
Problem
Action
The far-end gateway is not loaded with correct software image.
Cisco recommends IOS version 12.2 (11)T or higher for the Cisco 2600 and Cisco 3600, and IOS version 12.1 (3)T or higher for Cisco AS5300.
The Cisco 6608 supports both the NSE and NTE methods of fax pass-through mode, beginning with software version D004030145S16608. To use fax pass-through mode with the Cisco 6608, the user must select 6608 NSE mode, and the NSE payload type must be reconfigured to match the Cisco ATA.
The Cisco ATA is not loaded with the proper software.
Cisco recommends using software version 2.14 or higher.
User is operating Cisco ATA software on an outdated model.
Cisco recommends using Cisco ATA models 186-I1, 186-I2, 188-I1, or 188-I2 (hardware platforms).
The Cisco ATA is not configured for fax mode or fax pass-through mode.
For fax mode, the AudioMode configuration parameter should be set to 0xXXXX0012 (X = value not applicable) for the Phone 1 port of the Cisco ATA, and 0x0012XXXX for the Phone 2 port.
For fax pass-through mode, AudioMode should be set to 0xXXXX0015 for the Phone 1 port of the Cisco ATA, and 0x0015XXXX for the Phone 2 port.
The remote gateway is not configured for modem/fax pass-through mode.
When the Cisco ATA is configured for fax pass-through mode, all remote gateways must be configured with modem/fax pass-through mode either on a dial-peer level or system level.
Fax relay is not disabled on the remote gateway.
Fax relay is enabled by default on some Cisco gateways. When fax relay is enabled, it can override fax pass-through mode and cause fax failure. Examples of the CLI commands to disable fax relay for IOS gateways are as follows:
fax rate disable for H.323/SIP gateways
mgcp fax t38 inhibit for MGCP gateways
Fax/modem pass-through method on the remote gateway is not compatible with the Cisco NSE-based method.
Some Cisco gateways (such as Cisco VG248, and Cisco 6608) may use signaling messages based on RFC2833 for G.711 upspeed when loaded with older software images. This method is incompatible with the Cisco NSE-based method.
You must check to make sure that the image on your gateway supports the Cisco NSE-based fax/modem pass-through. Otherwise, you must configure the Cisco ATA to use fax mode.
NSE payload types differ between gateways.
The Cisco ATA has a configurable NSE packet payload-type value whose default is 100. This value is compatible with the implementations of most Cisco gateways. However, some Cisco gateways use 101 as the NSE payload type.
Ensure that all gateways in your environment use the same NSE payload type if you wish to successfully use fax pass-through mode.
prserv is a tool that runs on a Microsoft Windows-based PC and serves as a log server that captures debug information that the Cisco ATA sends to your PC IP address/port. The debug information is saved into a readable text file.
To enable your Cisco ATA to send debug information, you need to set the NPrintf configuration parameter to your PC IP address and an available port, as shown in the following procedure:
Procedure
Step 1 <IP address>.<port>
<IP address> is the IP address of your PC.
<port> is any unused port (any number from 1024 to 65535) on your PC.
Note You can the Nprintf parameter on the Cisco ATA configuration web page or with the TFTP-based
configuration method.
Step 2 To operate the debug capture program prserv.exe, place the prserv program in a folder on your PC. At the DOS prompt, enter:
C:>prserv <port>
<port> is the port number you have selected. If <port> is omitted, the default port number is 9001.
As prserv receives debug information from the Cisco ATA, it displays the information on the DOS screen and saves it to the output file <port>.log.
Once you are finished capturing debug information, you can stop prserv by entering Ctrl-C at the DOS prompt. If you restart the process without changing the name of the log file, any new debug information is appended to the end of the original file.
Analyzing prserv Output for Fax Sessions
The debug log obtained from prserv is for detecting simple configuration problems.
Table 6-2 lists log events relevant to analyzing a fax session.
Table 6-2 Debug Log Examples
Log event
Description
[ch] Enable encoder <pt>
Voice encoder type pt is enabled for the channel ch, where pt can be0 for G.711µ-law, 4 for G.723.1, 8 for G.711A-law, and 18 for G.729.
For example, [0]Enable encoder 4 indicates that the Cisco ATA transmitted G.723.1-encoded voice packets.
[ch] DPKT 1st: <timestamp1> <timestamp2>, pt <pt>
The first voice packet that the Cisco ATA received was of RTP payload type pt for the channel ch with timestamp of timestamp1, and the local decoding timestamp was set to timestamp2.
For example, [0]DPKT 1st: 1491513359 1491512639, pt 4 indicates that the first RTP packet that the Cisco ATA received was G.723.1-encoded for channel 0.
[ch] codec: <pt1> => <pt2>
Voice codec switchover occurred. The voice encoder type switched from pt1 to pt2 for the channel ch.
For example, [0]codec: 4 => 0 indicates that the local voice encoder on the Cisco ATA switched from G.723.1 to G.711µ-law.
[ch] Rx MPT PT=<NSEpt> NSE pkt <event>
Channel ch received an NSE packet of event with payload type of NSEpt. For event, c0XXXXXX indicates a CED tone event, and c1XXXXXX indicates a phase reversal event.
For example, [0]Rx MPT PT=100 NSE pkt c0000000 indicates that the Cisco ATA received a CED tone event NSE packet with payload type of 100.
[ch] Tx MPT PT=<pt> NSE pkt <event>
Channel ch transmitted an NSE packet of event with payload type of NSEpt. For event, c0XXXXXX indicates a CED tone event, and c1XXXXXX indicates a phase reversal event.
For example, [0]Tx MPT PT=100 NSE pkt c0000000 indicates that the ATA transmitted a CED tone event NSE packet with payload type of 100.
Debugging FAX Pass-through Mode
When the Cisco ATA is configured to use fax pass-through mode, the fax call session can be established with an arbitrary voice codec. Once the voice call has been established, fax machines can signal their presence by means of a CED tone or V.21 preamble flag, after which the gateways send NSE packets to initiate switchover.
Note For fax pass-through mode, check the Cisco ATA debug log to verify that it is acting as an originating
gateway as well as a terminating gateway.
Terminating-Gateway Example
When the Cisco ATA is used as a terminating gateway for a fax session, make sure the following conditions are true:
The Cisco ATA transmits CED-tone-event NSE packets.
The encoder switchover to G.711 occurs during the NSE-packet transaction.
An example debug log for a terminating gateway scenario is show below:
[0]Tx MPT PT=100 NSE pkt c0000000
[0]codec: 4 => 0
[0]Rx MPT PT=100 NSE pkt c0000000
Note The NSE response to the CED tone event is not mandatory; some gateways may not send back an NSE
response.
Originating-Gateway Example
When the Cisco ATA is used as an originating gateway for a fax session, make sure that the following conditions are true:
The Cisco ATA receives and responds to CED-tone-event NSE packets.
The NSE payload type is the same for the received and transmitted NSE packets.
The encoder switchover to G.711 occurs during NSE-packet transaction.
An example debug log for an originating gateway scenario is shown below:
[0]Rx MPT PT=100 NSE pkt c0000000
[0]Tx MPT PT=100 NSE pkt c0000000
[0]codec: 4 => 0
[0]Rx MPT PT=100 NSE pkt c0000000
[0]Rx MPT PT=100 NSE pkt c0000000
Note If your gateway is using a legacy IOS software image, it may not send NSE packets but instead may rely
on a straightforward codec switchover mechanism. In this case, a codec switchover event occurs rather
than an NSE packet transaction.
Possible Reasons for Failure
If your Cisco ATA does not receive CED-tone-event NSE packets and codec switchover does not occur, the failure may be due to the following reasons:
The terminating gateway is not configured with fax/modem pass-through.
The fax pass-through mode used by the terminating gateway may not be compatible with the Cisco NSE method.
If the log shows proper NSE packet transaction and G.711 upspeed for your fax session but the session still fails, check that the following conditions are true:
The Cisco ATA software image version is 2.14 or above.
The Cisco ATA model number is ATA186-I1, ATA186-I2, ATA188-I1, or ATA188-I2.
The fax relay option for the remote gateways has been disabled.
Debugging FAX Mode
When the Cisco ATA is configured with fax mode, only G.711 codecs are used. You must confirm that only 0 (for G.711µ-law) or 8 (for G.711A-law) appear in the Enable encoder and DPKT 1st debug lines. The following example of a debug log shows that G.711µ-law is used:
[0]Enable encoder 0
[0]DPKT 1st: 1491513359 1491512639, pt 0
If the numeric codes for the G.711 codecs do not appear in the log, you need to check your AudioMode parameter setting on the Cisco ATA.
If the correct G.711 codecs appear in the log but your fax sessions still fail, check that the following conditions are true:
The Cisco ATA software image version is 2.14 or above.
The Cisco ATA model number is ATA186-I1, ATA186-I2, ATA 188-I1, or ATA188-I2.
The fax relay option for the remote gateways has been disabled.
rtpcatch is a tool that provides comprehensive information for a VoIP connection. The tool runs on a Microsoft Windows-based PC and is capable of parsing an output capture file from Network Associates (NAI) Sniffer Pro and identifies significant fax pass-through and fax relay events.
Major functions
rtpcatch includes the following major functions:
Reads session data from Sniffer Pro capture files.
Analyzes media streams.
Stores media streams to files.
Reports RTP statistics such as the number of RTP packets, the number of RTP frames, the number of lost packets, the number of filler packets during silence suppression periods, and the number of erased packets.
How to Use
To use rtpcatch, follow these steps:
Procedure
Step 1 Create a working directory for rtpcatch and place the executable file rtpcatch.exe in this directory.
Step 2 Copy your Network Associates Sniffer Pro capture files into this directory.
Step 3 At the DOS prompt of this directory, enter the following command:
:>rtpcatch <cap_file>[<prefix>][options]
<cap_file> is the NAI Sniffer capture file.
<prefix> is the prefix prepended to the output filenames.
Output Files
The output files of rtpcatch include a summary file and audio stream files.
The summary file is <prefix>.sum if <prefix> is specified, otherwise it is file.sum.
Stream files are labeled with an integer tag beginning with 00. Stream files are also tagged with the extension pcm for G.711A/G.711µ-law, 723 for G723.1, 729 for G729, t38 for T.38, and cfr for Cisco Fax Relay.
Options
rtpcatch options include:
-fax—to output the fax events for a connection.
The output includes "FAX summary 1" as the interleaved event list for all directions, and "FAX summary 2" as the event list for each direction. The reported events include voice codec change, NSE signalling, and fax relay events.
-port <port0> <port1>—to discard any packets sent from/to this port.
If the NAI Sniffer capture file includes Cisco ATA prserv packets, these packets can interfere with rtpcatch analysis. Some prserv packets might be interpreted as NTE or NSE events. To prevent such interference, you can either disable debugging output on the Cisco ATA (do this by setting the Nprintf configuration parameter to 0), configure your NAI Sniffer to filter out the prserv packets, or run rtpcatch with the -port options.
Note rtpcatch works best for analyzing a single VoIP session. Command-line options can be entered in any
order.
Example of rtpcatch
The section contains an example of using rtpcatch and includes an explanation of its output:
This indicates that rtpcatch reached NAI Sniffer packet number 25 and opened a new file named 00.723 to store an audio stream consisting of G.723-compressed data. The audio path originates from the IP address ending with 2.213 and port 10000 (written as <2.213:1000>) and terminates at the IP address ending with 2.116 and port 10002.
[ 29] <00> 1 silence pkts from TS 1760 (seq# 3)
This indicates that rtpcatch detected one silence RTP packet in the audio path <00> and the silence packet began at timestamp 1760. This occurred at packet number 29 with the RTP sequence number 3.
[ 106] <02> 2 lost pkts from seq# 39
This indicates that rtpcatch detected two lost RTP packets in the audio path <02>. The missing packets began with sequence number 39. This occurred at packet number 106.
------------ Summary --------------
Input file: faxpassthru.cap
<00.723>: (G723) 2.213:10000 => 2.116:10002 total 38 pkts(70 frames), lost 0 pkts, fill 7 silence pkts
This indicates that the input filename is faxpassthru.cap. The output file 00.723 contains the G.723-compressed stream from <2.123:10000> to <2.116:10002>; 38 packets (70 frames) were processed by rtpcatch. No lost packets were detected and seven silence packets were found.
This indicates that the audio streams originating at <2.213> and <2.216> are G.723-compressed. The audio stream from <2.116> was then up-sped to G.711µ-law at packet number 101. The NSE signaling packets were sent at packet number 102, 103 and 105. Finally, the audio stream from <2.113> was up-sped to G.711µ-law.
<3.200> is the originating Cisco ATA, and <2.53> is the terminating gateway.
Both sides initially use G.729.
<2.53> gateway sends NTE signaling packets, then upspeeds to G.711µ-law.
<3.200>The Cisco ATA switches to G.711µ-law also, but never sends NTE signaling packets.
Fax transmission fails because <2.53> gateway does not receive any NTE packets, and it drops the fax call.
Possible Cause for Failure
The Cisco ATA does not support the NTE signaling method and requires that the gateways use the NSE signaling method.
rtpcatch Limitations
rtpcatch performs optimally when analyzing capture files containing only one VoIP session.
rtpcatch detects only G.711A, G.711µ-law, G.723, G.729, T.38, Cisco fax relay, modem pass-through with or without redundancy packets, RTCP packets and NSE packets.
rtpcatch can handle a maximum of 20 prserv ports using the -port option.