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.
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 disconnect signal.
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 multiservice routers.
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 the far-end.
The supervisory disconnect signal command turns on support for power denial recognition. This is the default configuration. Configuring the no 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
Configure the FXO Port to Support Battery Reversal Detection in Cisco IOS Software Release 12.0(7)XK and Earlier
To configure support for battery reversal, the battery-reversal 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 Understanding FXO Voice Interface Cards.
For more information on configuring battery-reversal, refer to Voice Port Enhancements in Cisco 2600 and 3600 Series Routers and MC3810 Series Concentrators.
Configure the FXO Port to Support Supervisory Tone Disconnection in Cisco IOS Software Release 11.3MA
Supervisory tone disconnection was first supported in Cisco IOS Software Release 11.3MA. Activation was with the configuration of the no 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
Configure the FXO Port to Support Supervisory Tone Disconnection in Cisco IOS Software Release 12.1(3)T
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 configuring the mid-call command), or only during call setup (by using the pre-connect command in the configuration). Detection of anytone (configured by the anytone 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 detailed information.
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: The supervisory disconnect dualtone command is modified and improved from Cisco IOS Software Releases 12.1(5)XM and 12.2(2)T.
Configure the FXO Port to Support Supervisory Tone Disconnection from Cisco IOS Software Releases 12.1(5)XM and 12.2(2)T
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 cptone locale command to the voice port. It is recommended that this method be initially tried first before attempting to use any custom configurations.
This is a sample configuration. Note the inclusion of the commands timeouts wait-release 5 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 no voice local-bypass 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 feature.