Recently i was working on setting up a branch office to use SRST PSTN failover as the site uses a SIP ITSP service via the WAN connection. So to give this small branch site some sort of redundancy the Cisco 2921 that i implemented came with x2 FXO VICs – giving me 4 ports total for PSTN failover when the router is in SRST mode.

One of the major issues i encountered was configuring the FXO card to disconnect the call when the calling party hangs up. Carrier tones are different worldwide so what i was seeing was when there was an inbound call on one of the 4 FXO ports and the call was flung to CUCM via a dial peer, the IP phone called would continue to ring if the called party had hung up.

After a bunch of research i found out that the voice router needs to know what tone to look for before it can tell CUCM that the call has disconnected. To do this you have to configure a custom cptone and apply it to the voice port like so:

voice class custom-cptone telstra
dualtone disconnect
frequency 425
cadence 375 375

voice-port 0/0/0
trunk-group FXO_TELSTRA_PSTN
supervisory disconnect dualtone mid-call
supervisory custom-cptone telstra
cptone AU
timeouts call-disconnect 2
timeouts wait-release 2
timing hookflash-out 250
connection plar 8200
impedance complex1
caller-id enable

These settings work really well for the Australian carrier Telstra. As you can see above the custom cptone ‘telstra’ is applied to fxo 0/0/0. I got the frequency and cadence settings our the Australian disconnect tone from the World PSTN Tone Database

The other command that is important on the voice card config is the – supervisory disconnect dualtone mid-call. If the fxo port is missing this line the router wont disconnect calls on this port based on tone. See the following Cisco URL for more information.

Originally published as ‘Cisco FXO Voice card disconnect issue’.