Cisco IOS Voice Troubleshooting and Monitoring -- FXO Interfaces

From DocWiki

Jump to: navigation, search

An FXO interface is used for trunk, or tie line, connections to a PSTN CO or to a PBX that does not support E&M signaling (when local telecommunications authority permits). This interface is of value for off-premises station applications. Figure: FXS and FXO Signaling Interfaces shows an FXS connection to a telephone and an FXO connection to the PSTN at the far side of a WAN.

Guide Contents
Troubleshooting Cisco IOS Voice Overview
Debug Command Output on Cisco IOS Voice Gateways
Filtering Troubleshooting Output
Cisco VoIP Internal Error Codes
Troubleshooting Cisco IOS Voice Telephony
Troubleshooting Cisco IOS Voice Protocols
Troubleshooting Cisco IOS Telephony Applications
Monitoring the Cisco IOS Voice Network
Cause Codes and Debug Values


Figure: FXS and FXO Signaling Interfaces


FXO Hardware Troubleshooting

An FXO interface is used for trunk connections. Troubleshoot FXO hardware by checking the following sections:

Software Compatibility

To ensure that your card is compatible with your software, check the following:


Two types of cabling are supported for Cisco FXO interfaces. They are described in the following sections:

Note Note: For FXO connections, use a 2-wire (RJ-11) cable. A 4-wire cable can cause the second port to busy out.

RJ-11 Connectors

The two-port and four-port FXO interface cards support the RJ-11 connector. Illustrations of the connector ports are shown in Figure: Two-Port FXO Card Front Panel and Figure: Four-Port FXO Card Front Panel. Information about LEDs can be found in the "Connecting Voice Interface Cards to a Network" chapter of the Cisco Interface Card Hardware Installation Guide.

Figure: Two-Port FXO Card Front Panel


Figure: Four-Port FXO Card Front Panel


RJ-21 Connectors on the High-Density Analog Telephony Network Module

The High-Density Analog Telephony network module supports an RJ-21 connector. This network module supports both FXS and FXO traffic. An illustration of the connector port is shown in Figure: High-Density Analog Telephony Network Module. Information about LEDs and pinouts can be found in the "Connecting High-Density Analog Telephony Network Modules to a Network" chapter of the Cisco Network Modules Hardware Installation Guide.

Figure: High-Density Analog Telephony Network Module


Shutdown Port

If the port is not working, be sure the port is not shut down. Enter the show voice port command with the voice port number that you are troubleshooting. The output will tell you:

  • If the voice port is up. If it is not, use the no shutdown command to make it active.
  • What parameter values have been set for the voice port, including default values (these values do not appear in the output from the 'show running-config' command). If these values do not match those of the telephony connection you are making, reconfigure the voice port.

Disabling a Port on a Multiple Port Card

If you shut down a port on a multiple-port card, you can disable all of the ports on that card. If only one port is bad and the others are working, in many cases you can disable the bad port and use the working ports until a replacement arrives. To disable a bad port, use one of the following methods:

FXO Disconnect Failure

When loop-starting signaling is used, an FXO interface looks like a phone to the switch that it is connecting to. The FXO interface closes the loop to indicate off hook. The switch always provides a battery so there is no disconnect supervision from the switch side. Because a switch expects a phone user or modem to hang up the phone when the call is terminated on either side, it also expects the FXO port on the router to hang up. However, the FXO port expects the switch to tell it when to hang up. Because the port relies on the switch, there is no guarantee that a near- or far-end FXO port will disconnect the call once either end of the call has hung up.

The most common symptoms of this problem are phones that continue to ring when the caller has cleared, or FXO ports that remain busy after the previous call should have been cleared.

To troubleshoot this problem, refer to Understanding FXO Disconnect Problem, document ID 8120.

Troubleshooting FXO Answer and Disconnect Supervision

This section describes troubleshooting the FXO Answer and Disconnect Supervision feature for analog FXO voice ports. This feature applies to analog FXO voice ports with loop-start signaling connected to PSTNs, PBXs, or key systems.

The FXO Answer and Disconnect Supervision feature enables analog FXO ports to monitor call-progress tones and to monitor voice and fax transmissions returned from a PBX or from the PSTN.

Answer supervision can be accomplished in two ways: by detecting battery reversal, or by detecting voice, fax, or modem tones. If an FXO voice port is connected to the PSTN and battery reversal is supported, use the battery reversal method. Voice ports that do not support battery reversal must use the answer supervision method, in which answer supervision is triggered when the DSP detects voice, modem, or fax transmissions. Configuring answer supervision automatically enables disconnect supervision; however, you can configure disconnect supervision separately if answer supervision is not configured.

Disconnect supervision can be configured to detect call-progress tones sent by the PBX or PSTN (for example, busy, reorder, out-of-service, number-unavailable), or to detect any tone received (for example, busy tone or dial tone). When an incoming call ends, the DSP detects the associated call-progress tone, causing the analog FXO voice port to go on-hook.

This section provides solutions to problems that you might encounter when implementing the FXO Answer and Disconnect Supervision feature.

Typical problems with the answer supervision feature are as follows:

  • Call-progress tones such as ringback are not heard by the calling party.
If any call legs have IVR configured, ensure that the IVR version is 2.0.
  • Ringback timer is not initiated or ringback is not detected.
    • The wrong call-progress tone (cptone) command is configured on the voice port.
    • The wrong DTMF detection parameters are configured.
    • Custom call-progress tones are assigned to the voice port but ringback tone has not been configured; in this case, the default behavior is not to detect any ringback tones.
  • Answer supervision is not triggered.
Answer supervision-either by battery-reversal detection or by call-progress tone detection-is not configured on the voice-port in use.
  • Excessive delay before answer supervision is activated.
The level on the sensitivity parameter in the supervisory answer dualtone command is set too low. Configure the sensitivity for high.

If incorrect disconnect cause codes are reported, check the following:

  • The values configured for custom call-progress tones could be incorrect.
  • Overlapping detection frequencies might have been incorrectly specified in the voice class created by the voice class dualtone-detect-params command. For example if the freq-max-deviation parameter is configured to be 20 Hz, and the busy and reorder parameters are set for frequencies 350 and 370 respectively, the voice port cannot detect the reorder tone, resulting in an incorrect disconnect cause code.
Note Note: If the frequencies and cadences (including error deviations as defined in the voice class dualtone-detect-params command) are the same for multiple call-progress tones, the order of detection is as follows: busy, reorder, number-unobtainable, out-of-service, disconnect.

If calls are not billed correctly, it might be that answer supervision is not being triggered. For answer supervision to be triggered, voice, fax, or data tones originating at the called-party end must be detected.

To configure the FXO Supervisory Disconnect Tone, refer to the Voice Port Configuration document.

Monitoring and Maintaining FXO Answer and Disconnect Supervision

To monitor the status of the FXO Answer and Disconnect Supervision feature, use the show voice port command, which causes the FXO voice port to be monitored. The following table illustrates the use of the show voice port command for monitoring voice port 1/1/0.

Command Purpose

Router# show voice port 1/1/0

Shows a detailed status of the voice port. Under the heading "Voice card specific Info Follows:", the status of the FXO Answer and Disconnect Supervision feature is indicated by one of the following messages: "Answer Supervision is active" or "Answer Supervision is inactive".

Unbreakable Dial Tone

A common problem encountered in a VoIP network is being unable to break dial tone. The router puts a seizure on the local PBX but when digits are dialed, the dial tone stays. The calling party is unable to pass the DTMF tones or digits to the terminating device, resulting in callers being unable to dial the desired extension or interact with the device that needs DTMF tones, such as a voice mail or IVR application. Here are some possible causes of the problem:

  • DTMF tones not being sent.
  • DTMF tones not being understood.
  • DTMF tones too distorted to be understood.
  • Other signaling and cabling issues.

Make sure the dial type is set as DTMF on both the router and the PBX. The FXS port does not pass on the digits, therefore this setting is not available on an FXS port. However, this setting can be changed on FXO and E&M ports:

 Router(config-voiceport)# dial-type ? 
   dtmf   touch-tone dialer  
   mf     mf-tone dialer  
   pulse  pulse dialer  

For more information, refer to Inability To Break Dialtone in a Voice over IP Network, document ID 22376.

Troubleshooting Caller ID Problems

Several debugs can be used to troubleshoot the Caller ID feature on the routers. The voice port module (VPM) signaling debugs, such as the debug vpm signal command, track the standard debugs with Caller ID feature turned on. These debugs are analyzed from the perspective of the terminating router and its FXO port; the caller ID is sent from this end. The following example shows an FXO port receiving caller ID. In this example, the phone sends the caller ID to the FXO port.

 Nov 20 10:40:15.861 EST: [1/0/0] htsp_start_caller_id_rx 
 Nov 20 10:40:15.861 EST: [1/0/0] htsp_set_caller_id_rx:BELLCORE 
 Nov 20 10:40:15.861 EST: htsp_timer - 10000 msec 
 Nov 20 10:40:17.757 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100]  
 Nov 20 10:40:17.757 EST: fxols_ringing_not  
 Nov 20 10:40:17.761 EST: htsp_timer_stop  
 Nov 20 10:40:17.761 EST: htsp_timer - 10000 msec 
 Nov 20 10:40:18.925 EST: [1/0/0] htsp_stop_caller_id_rx 
 Nov 20 10:40:21.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0000]  
 Nov 20 10:40:23.857 EST: [1/0/0, FXOLS_RINGING, E_DSP_SIG_0100]  
 Nov 20 10:40:23.857 EST: fxols_ringing_not  
 Nov 20 10:40:23.861 EST: htsp_timer_stop htsp_setup_ind 
 Nov 20 10:40:23.861 EST: [1/0/0] get_fxo_caller_id:Caller ID  received. Message type=128 length=31 checksum=74   Nov 20 10:40:23.861 EST: [1/0/0] Caller ID String 80 1C 01 08  31 31 32 30 31 35 34 30 02 07 35 35 35 31 32 31 32 07 07 4F 75 74 73 69 64 65 74  
 Nov 20 10:40:23.865 EST: [1/0/0] get_fxo_caller_id calling  num=5551212 calling name=Outside calling time=11/20 15:40  
 Nov 20 10:40:23.869 EST: [1/0/0, FXOLS_WAIT_SETUP_ACK,  E_HTSP_SETUP_ACK]  
 Nov 20 10:40:23.873 EST: fxols_wait_setup_ack:  
 Nov 20 10:40:23.873 EST: [1/0/0] set signal state = 0xC   
 timestamp = 0 Nov 20 10:40:23.985 EST: [1/0/0, FXOLS_PROCEEDING,  E_DSP_SIG_0100] fxols_proceed_clear  
 Nov 20 10:40:23.985 EST: htsp_timer_stop2  
 Nov 20 10:40:24.097 EST: [1/0/0, FXOLS_PROCEEDING, E_DSP_SIG_0110] fxols_rvs_battery 
 Nov 20 10:40:24.097 EST: htsp_timer_stop2  
 Nov 20 10:40:24.733 EST: [1/0/0, FXOLS_PROCEED_RVS_BT, E_HTSP_PROCEEDING] fxols_offhook_proc 
 Nov 20 10:40:24.733 EST: htsp_timer - 120000 msec 
 Nov 20 10:40:24.745 EST: [1/0/0, FXOLS_PROCEED_RVS_BT, E_HTSP_VOICE_CUT_THROUGH] fxols_proc_voice  

In this example, everything was working fine and both Name and Number Display were properly delivered to the phone. In the two scenarios below, the calling number is missing in one case, and the name display is missing in the other.

Calling Number Lost, Name Delivered

In the following example, the calling number is lost, but the name is delivered:

 Nov 17 17:39:34.164 EST: [1/1/0] htsp_set_caller_id_tx   
 calling num=display_info=Outside called num=9913050  Nov 17 17:39:34.164 EST: [1/1/0] Caller ID String 80 16  
 01 08 31 31 31 37 32 32 33 39 04 01 4F 07 07 4F 75 74   
 73 69 64 65 88   

In the Caller ID String, looking at "04 01 4F" translates to:

04 : Reason for Absence of DN 01 : Length of message 4F : "Out of Area" 

Calling Number Delivered, Name Lost

In the following example, the calling number is delivered, but the name is lost:

 Nov 17 17:53:24.034 EST: [1/1/0] htsp_set_caller_id_tx   
 calling num=5550109display_info= called num=5550011   
 Nov 17 17:53:24.034 EST: [1/1/0] Caller ID String 80   
 16 01 08 31 31 31 37 32 32 35 33 02 07 35 35 35 31 32  
 31 32 08 01 4F 05   

In the Caller ID String, looking at "08 01 4F" translates to:

08 : Reason for Absence of Display 01 : Length 4F : Out of Area

For more information, refer to Caller ID Name Delivery Issues on Cisco IOS Gateways, document ID 23444.

Rating: 1.6/5 (7 votes cast)

Personal tools