Cisco IOS Voice Troubleshooting and Monitoring -- FXO Interfaces
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.
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:
To ensure that your card is compatible with your software, check the following:
- For network modules inserted into Cisco 2600 series, Cisco 3600 series, and Cisco 3700 series routers, refer to Overview of Cisco Network Modules for Cisco Access Routers.
- For interface cards inserted into Cisco 1600 series, Cisco 1700 series, Cisco 2600 series, Cisco 3600 series, Cisco 3700 series, and Cisco ICS 7750 platforms, refer to Voice Interface Cards.
Two types of cabling are supported for Cisco FXO interfaces. They are described in the following sections:
|Note:||For FXO connections, use a 2-wire (RJ-11) cable. A 4-wire cable can cause the second port to busy out.|
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
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:
- On a Cisco universal gateway, such as the Cisco AS5350, Cisco AS5400, Cisco AS5800, and Cisco AS5850, busy out the port using the busyout command. This allows the port to be taken out of service without disrupting the Cisco IOS configuration. Refer to the product documentation for details:
- For Cisco AS5350 and Cisco AS5400 universal gateways, refer to the Managing and Troubleshooting the Universal Port Card document.
- For Cisco AS5800 access servers, refer to Managing and Troubleshooting NextPort Services on the AS5800.
- For Cisco AS5850 universal gateways, refer to Managing Port Services on the Cisco AS5850 Universal Gateway.
- On other Cisco gateways, remove the port from the dial peer. Refer to Dial Peer Configuration on Voice Gateway Routers to configure the dial peer.
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.
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.
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.