This document helps you understand the issues that surround Foreign
Exchange Office (FXO) disconnection problems and provides guidance to correct
this problem. It also briefly describes the known methods of signaling that
have been created to deal with the issue and how these can be implemented in
various Cisco IOS® Software releases. This is not a configuration document. It
is a guide to help you understand the key issues that might be involved and the
variations of the implementation by release.
Further reading of the documentation related to the various Cisco IOS
Software releases discussed in this document is recommended to ensure correct
configuration of the features.
Basic knowledge of voice signaling is required to understand this
document better. For more information about the voice signalling techniques,
Network Signaling and Control.
For a better understanding of FXO voice interface cards, refer to
FXO Voice Interface Cards.
This document is not restricted to any specific software and hardware
versions. It discusses the issues with the FXO Disconnect problem and is
relevant to FXO voice interface cards.
Technical Tips Conventions for more information on document
When loop-start signaling is used, a router's FXO interface looks like
a phone to the switch (private branch exchange (PBX), public switched telephone
network (PSTN), Key-System) it connects 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. Since a switch expects a phone
user (example of an FXO interface) 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. This "human intervention" is not built into the router. The FXO port
expects the switch to tell it when to hang-up (or remove the battery to
indicate on-hook). Because of this, there is no guarantee that a near-end or
far-end FXO port disconnects the call once either end of the call hangs-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.
Note: When the Gateway uses H.323 Fast Start, the OpenLogicalChannel
message timer expires before Cisco CallManager can respond with the
acknowledgement (ACK) and the IP address of the remote phone. Therefore, the
Gateway sends the disconnect before Cisco CallManager can route the call. If
incoming calls from FXO are disconnected, you should use Slow
Start (which is the default unless you check the Enable
Inbound FastStart on the Gateway Configuration page). This will give
enough time for the OpenLogicalChannelAck to arrive before the Gateway sends
As a simple rule-of-thumb, if the local router has an FXO port and it
originates the call out of an FXO port, it has control over that call and can
provide the local disconnect. If the local router has an FXO port and it
receives the call, it requires that the connected switch provide this
Note: All scenarios assume that no Supervisory Disconnect features are
configured on the PBXes.
Phone-A calls phone-B. Phone-B does not answer. Phone-A then goes
on-hook, but phone-B continues to ring because the router's FXO has no
signaling information of the change (going on-hook) made by phone-A. If the
call is answered, it stays active until phone-B hangs-up, regardless of the
actions of phone-A.
Phone-B calls phone-A. When the users hang-up, or if phone-B hangs-up
before phone-A answers, the call is disconnected because the router's FXO port
originated the call. However, if phone-A hangs-up before phone-B, the call
remains up until phone-B hangs-up.
This is the worst possible scenario because calls placed in either
direction results in the router receiving a call on its' FXO port. In the case
of a call that comes in from the PSTN, it might not be as bad. This is because
the PSTN switch often provides a disconnect (ground-start or power-denial) and
the far-end router ends the call from its' FXO port. However, calls to the PSTN
will have the same problems that are discussed throughout this document,
because the call comes into the router's FXO port.
Ground-start signaling can be used on the FXO port of the router if the
switch is capable of providing a ground-start connection. When configured, the
switch removes the ground from the connection and the FXO port goes on-hook.
This option is available on the Cisco 1750, 2600, 3600, 3700 and MC3810 series
Power denial detection is an interruption of line power from the switch
or PBX to the FXO port, which lasts at least 350 ms. The FXO interface on the
router detects that power is no longer present and interprets this as a
supervisory disconnect indication. This is available on the Cisco 1750, 2600,
3600, 3700 and MC3810 series router analog FXO ports in all versions of Cisco
IOS which have voice support. This figure provides an illustration:
Battery reversal is implemented by reversing the battery polarity on
the PBX. This is done initially when the call is connected (far-end answer),
with the polarity reversed throughout the entire conversation. When the far-end
disconnects, the battery polarity is changed back to normal to indicate call
disconnect. PBX uses the battery reversal indication to start billing.
Note: Foreign Exchange Station (FXS) ports normally reverse the battery
upon call connection. Therefore, if an FXS port is connected to an FXO port
that does not support battery reversal detection, you should disable battery
reversal on the FXS port to prevent unexpected behavior.
Supervisory Tone is the audible frequencies that a PBX can produce to
indicate that a call has been released (caller back on-hook) and the connection
should be disconnected. The tones are different in most countries. The router's
FXO port can be configured to interpret the tones as Supervisory Disconnect and
disconnect the call.
In this Supervisory Tone Disconnect example figure, the call is made to
Ground-start Signaling Disconnect
Power Denial-based Supervisory Disconnect
Tone-based Supervisory Disconnect
command turns on support for power
denial recognition. This is the default configuration. Configuring the
supervisory disconnect signal
command turns off support
for power denial in this release, and also enables support for basic
supervisory tone disconnection. Refer to Configure the
FXO Port to Support Supervisory Tone Disconnection.
FXO_Paper(config-voice)#supervisory disconnect signal
To configure support for battery reversal, the
command is applied to the voice port. This feature was supported on the Cisco
MC3810 series router from launch. The Cisco 2600/3600 platforms were first
supported in Cisco IOS Software Release 12.0(7)XK (integrated in Cisco IOS
Software Release 12.1(3)T) and needs the addition of special FXO hardware
VIC-2FXO-M1 and VIC-2FXO-M2.
For more information on the VIC-2FXO-M1 and VIC-2FXO-M2, refer to
FXO Voice Interface Cards.
For more information on configuring battery-reversal, refer to
Enhancements in Cisco 2600 and 3600 Series Routers and MC3810 Series
Supervisory tone disconnection was first supported in Cisco IOS
Software Release 11.3MA. Activation was with the configuration of the
supervisory disconnect signal
command. In this release the
detection was minimal, with the FXO only being able to detect a 600 hertz tone
as the disconnect signal.
FXO_Paper(config-voice)#no supervisory disconnect signal
The supervisory tone detection was changed in Cisco IOS Software
Release 12.1(3)T to give more detailed support. The command line interface
(CLI) was also changed. From this release, it is now possible to configure the
disconnect tones to be detected either continuously during calls (by
command), or only during call setup (by using the
command in the configuration). Detection of anytone (configured by the
command) operates only during call set-up. If you configure detection of
anytone, you must also enable echo cancellation to
prevent disconnection due to the detection of the router's own ringback tone.
Another new feature is the ability to create voice classes. This allows
the various components that are used to construct a tone to be configured to
match the tone created by PBXs from various countries. Because there are
numerous commands that can make a voice class, it is beyond the scope of this
document to explain their functionality. Consult the release documentation for
FXO_Paper #configure terminal
FXO_Paper(config-voiceport)#supervisory disconnect dualtone pre-connect voice-class 90
FXO_Paper(config)# voice class dualtone 90
FXO_Paper(config-voice-class)# freq-pair 1 350 440
FXO_Paper(config-voice-class)# freq-pair 2 480 850
FXO_Paper(config-voice-class)# freq-pair 3 1000 1250
FXO_Paper(config-voice-class)# freq-max-deviation 10
FXO_Paper(config-voice-class)# freq-max-power 6
FXO_Paper(config-voice-class)# freq-min-power 25
FXO_Paper(config-voice-class)# freq-power-twist 15
FXO_Paper(config-voice-class)# freq-max-delay 16
FXO_Paper(config-voice-class)# cadence-min-on-time 50
FXO_Paper(config-voice-class)# cadence-max-off-time 500
FXO_Paper(config-voice-class)# cadence-list 1 100 100 300 300 100 200 200 200
FXO_Paper(config-voice-class)# cadence-list 2 100 200 100 400 100 200 300 300
FXO_Paper(config-voice-class)# cadence-variation 8
Note: All the commands other than the
command under the
command mode are hidden.
command is modified and improved from
Cisco IOS Software Releases 12.1(5)XM and
Cisco IOS Software Releases 12.1(5)XM and 12.2(2)T introduced many
improvements and changes. These include a change to the command line, the
addition of "Tone Detection Tolerance" Classes, changes to the custom voice
class configuration, enabling the creation of Customized Cptones, and the
ability to use the predefined country specific call progress tones. The
predefined country specific call progress tones provide a means of not having
to configure a custom voice class. This significantly reduces the overall
configuration needed to deploy the feature. This is configured by applying the
command to the voice port. It is recommended
that this method be initially tried first before attempting to use any custom
This is a sample configuration. Note the inclusion of the commands
and timeouts call-disconnect
5. The defaults of these timers are thirty seconds and sixty
seconds, which can prove to be excessive in normal use. Therefore, the timers
should be reduced to suit the local condition. As a guide, five seconds can be
considered as a more satisfactory value for both.
FXO_Paper(config-voiceport)#supervisory disconnect dualtone mid-call
FXO_Paper(config-voiceport)#timeouts wait-release 5
FXO_Paper(config-voiceport)#timeouts call-disconnect 5
Note: The timeouts call-disconnect command is
hidden in Cisco IOS Software Release 12.1(5)XM.
FXO disconnect supervision is not supported on local hair pinned calls
between analog voice ports (FXS and FXO) on Cisco MC3810 series concentrators
because the digital signal processor (DSP) is bypassed. If hair pinning is
turned off with the
global configuration command, FXO
disconnect supervision is supported.
The Cisco MC3810 series concentrators must be equipped with
high-performance compression modules (HCMs) to support tone detection. Standard
voice compression modules (VCMs) do not support the FXO Disconnect Supervision
Note: To configure non-default tone detection tolerances, use the
command. For more
information, refer to
Note: For more information on any of the commands in this document, refer
to the Command Lookup Tool
(registered customers only)