07-14-2009 11:32 PM - edited 03-18-2019 10:27 AM
Hi guys,
I have the classic disconnect problem and with all the terrible bytes on the internet have be unable to find the appropriate solution.
If i ring the PSTN line connected to the FXO port i have PLAR directing the call to 1000 my Reception phone. Im in Australia and the cptone is set to AU.
I have tried different voice class's but i am not getting anywhere. i recorded the disconnect tone from CIPC and i believe the frequency is 400, and the cadence is 380. I inserted a custom class and linked i to my voice port 1/1/0 but with no joy.....
Anyone got any ideas.....
Please advise
Solved! Go to Solution.
07-16-2009 09:38 PM
12.4.15T hmm ok ill try that...
i let you know how it go
so far my conf looks like this
voice class custom-cptone TEST
dualtone disconnect
frequency 400
cadence 380 380 380
voice-port 1/1/0
supervisory disconnect dualtone mid-call
supervisory custom-cptone TEST
supervispry dualtone-detect-params 1
cptone au
timeouts call-disconnect 3
timeoute wait-release 3
connection plar 4000
????
HELP!!!
07-17-2009 06:35 PM
I was speaking with some ccvp's and ccie's and i have been told that loopstart has a known problem and if i get the telco company to change it to ground start, ill be fine.
07-17-2009 07:37 PM
I'm not sure what they mean by a 'known problem'. Loop start operation has been around in one way or another for over a hundred years, and any specific problems would have been sorted out a long time ago. It was designed for connecting telephone handsets and the idea has always been that the people say 'goodbye' and then physically hang up towards the network. In this sense the disconnect supervision is controlled by the people on the phone call. The telephone network NEVER hangs up towards the users - it signals the far end disconnect by battery reversal or disconnect tones.
There is no reason why this should not work with disconnect tones. The next suggestion would be to get a wireshark trace of the call and then hang up the PSTN side. This will capture all the call signaling and the audio from the gateway
Groundstart is unheard of outside of North America. Telstra/Optus can supply an analogue loopstart trunk or ISDN BRI for low density connections.
07-19-2009 06:12 PM
our issue here is the same with the loopstart issue. Normally, to resolve the issue we do two things.
1. Request to the carrier that the line be put in a trunk group and enable disconnect on thier side ( to enable disconnect it must be controlled hence the reason for being placed in a trunk group) im no guru so dont ask me to expand :)
second, i noticed on some sites that although i did that i still had to enter the following command:
#timing sup-disconnect (and i normally set it as 300 ms) - This is under the voice port itself
it wont hurt to try.
BTW ground start should work too
07-24-2009 11:31 PM
What fixed it....
opx int the plar command
and
freq-max-deviation 20
cadence-variation 50
int the voice class attached to the fxo port....
voice class dualtone-detect-params 1
freq-max-deviation 20
cadence-variation 50
!
!
voice class custom-cptone TEST
dualtone disconnect
frequency 425
cadence 350 350
!
!
voice-port 1/1/0
supervisory disconnect dualtone mid-call
supervisory custom-cptone TEST
supervisory dualtone-detect-params 1
cptone AU
timeouts call-disconnect 5
timeouts wait-release 5
connection plar opx 1000
impedance complex1
!
!
dial-peer voice 4000 pots
destination-pattern 4000
port 1/0/0
Thanks to Paul Cameron - CISCO SYSTEMS, CCIE
Regards
Rick
04-23-2010 03:13 AM
Hi,
I have same Issue, Did you get any Proper solution about above Issue, or anyone is there whose can sort out this issue or anyone please help me
my IOS version is 12.4(11) My configuration as per below:
voice class custom-cptone test
dualtone disconnect
frequency 476
cadence 488 488 488 488 487 487 487 487
!
!
voice-port 0/1/0
supervisory disconnect dualtone pre-connect
supervisory answer dualtone sensitivity high
supervisory custom-cptone test
no battery-reversal
output attenuation -6
cptone AU
timeouts call-disconnect 3
timeouts wait-release 3
connection plar opx 202
impedance complex1
caller-id enable
!
voice-port 0/1/1
supervisory disconnect dualtone pre-connect
supervisory answer dualtone sensitivity high
supervisory custom-cptone test
no battery-reversal
output attenuation -6
cptone AU
timeouts call-disconnect 3
timeouts wait-release 3
connection plar opx 206
impedance complex1
caller-id enable
!
!
dial-peer voice 1 pots
destination-pattern .T
port 0/1/0
!
ephone-dn 11 dual-line
number 202
label 202
description India Nagpur
name India Nagpur
call-forward busy 206
call-forward noan 206 timeout 20
!
ephone-dn 15 dual-line
number 206 no-reg primary
label 206
description Lindsay Clark
name Lindsay Clark
call-forward busy 0411069447
call-forward noan 0411069447 timeout 10
Regards
Vikrant
09-27-2010 05:01 PM
Hi all!
I'm newbie on Cisco VoIP and I want to try fixing this at my work, but I don't know how to find the values for:
frequency
cadence
And based on what adjust the values for these ones:
freq-max-deviation 20
cadence-variation 50
Also I-m not using plar, I have an autoattendant script for it for the incoming calls.
I did a debug vpm signal but I only see the events and values for the timers not for frequency.
I appreciate your valuable help!
Regards
09-27-2010 07:29 PM
Ok ... so the background to all this is that the 'Plain Old Telephone System' (POTS) was always intended to have people on either side of the connection and they would be able to determine when the conversation was finished and they could then hang up the telephone handset to clear the call.
Since the majority of telephone signaling was originally tone based (DTMF to make the call, ringbackl/busy/fastbusy/number unavailable etc) , people quickly learnt what all the tones indicated and what actions should be taken when particular tones were heard. Another fundamental design feature of the legacy telephone network is that it always expects the users to disconnect towards the network - the network has no control of the users actually placing the telephone back on hook.
When 'intelligent' (this point could be argued) telephony devices such as IVR's and voice mail systems began to be placed across telephone connections, some very basic problems became apparent. The major issue relates to disconnect of the call when the other party hangs up.
If the voicemail or IVR decides to clear the call, then it only has to open the physical loop and current stops flowing and the call is cleared. However, if the other party hangs up, the connection from them to their local exchange is cleared, but the connection from the IVR's local exchange is maintained until the IVR decides to hang up.
Unless the IVR gets some kind of signal that the call has ended, it will stay off hook and the connection to the local exchange will also stay up. This is the cause of common disconnect issues - the endpoint is not aware the other party has cleared the call so it keeps the connection up.
Even though the telephone network does not physically disconnect the connection to the IVR, it will still play a busy or disconnect tone to indicate the call has cleared.
Therefore, the telephony endpoint (IVR, voicemail, router etc...) needs to pick up these tones and interpret them in the same way a human being can.
On a router, these tones are called the CPtones (Call Progress Tones). They tell the DSP to generate or listen for particular tone combinations (frequencies) and tone durations (cadences) - these are then defined for different call states.
When you configure a specific CPtone on the voice port, you define a table of different frequencies and cadences. Following is the definition for the AU (Australia) and US tone plans -
UC_520#test voice tone AU show
Code: AU Country: Australia
DTMF freq.(Hz) Row / col: 697, 770, 852, 941 / 1209, 1336, 1477, 1633
Pulse dial: normal, Percent make: 35%, DTMF low Amp. = 65424, high Amp. = 65446, Pcm: a-Law
Tone NF FOF FOS AOF_FXS AOF_FXO AOF_EM AOS_FXS AOS_FXO AOS_EM ONTF OFTF ONTS OFTS ONTT OFTT ONT4 OFT4
BUSY 1 400 0 -120 -120 -120 0 0 0 375 375 0 0 0 0 0 0
RING_BACK 2 400 450 -120 -120 -120 -120 -120 -120 400 200 400 2000 0 0 0 0
CONGESTION 1 400 0 -150 -150 -150 0 0 0 375 375 0 0 0 0 0 0
NUM_UNOBTAINAB 1 425 0 -120 -120 -120 0 0 0 2500 500 0 0 0 0 0 0
DIALTONE 2 400 450 -150 -150 -150 -150 -150 -150 65535 0 0 0 0 0 0 0
DIAL_TONE2 2 400 450 -150 -150 -150 -150 -150 -150 65535 0 0 0 0 0 0 0
OUT_OF_SERVICE 1 950 0 -150 -150 -150 0 0 0 330 330 0 0 0 0 0 0
ADDR_ACK 1 600 0 -240 -240 -240 0 0 0 125 125 125 65535 0 0 0 0
DISCONNECT 1 425 0 -150 -150 -150 0 0 0 375 375 0 0 0 0 0 0
OFFHOOK_NOTICE 2 1400 2040 -240 -240 -240 -240 -240 -240 100 100 0 0 0 0 0 0
OFFHOOK_ALERT 2 1400 2040 -150 -150 -185 -150 -150 -185 100 100 0 0 0 0 0 0
UC_520#
UC_520#test voice tone US show
Code: US Country: United States
DTMF freq.(Hz) Row / col: 697, 770, 852, 941 / 1209, 1336, 1477, 1633
Pulse dial: normal, Percent make: 40%, DTMF low Amp. = 65446, high Amp. = 65467, Pcm: u-Law
Tone NF FOF FOS AOF_FXS AOF_FXO AOF_EM AOS_FXS AOS_FXO AOS_EM ONTF OFTF ONTS OFTS ONTT OFTT ONT4 OFT4
BUSY 2 480 620 -170 -170 -240 -170 -170 -240 500 500 0 0 0 0 0 0
RING_BACK 2 440 480 -160 -160 -190 -160 -160 -190 2000 4000 0 0 0 0 0 0
CONGESTION 2 480 620 -170 -170 -190 -170 -170 -190 250 250 0 0 0 0 0 0
NUM_UNOBTAINAB 2 480 620 -170 -170 -190 -170 -170 -240 250 250 0 0 0 0 0 0
DIALTONE 2 350 440 -165 -165 -185 -165 -165 -185 65535 0 0 0 0 0 0 0
DIAL_TONE2 2 350 440 -165 -165 -185 -165 -165 -185 65535 0 0 0 0 0 0 0
OUT_OF_SERVICE 1 950 0 -150 -150 -185 0 0 0 330 330 0 0 0 0 0 0
ADDR_ACK 1 600 0 -240 -240 -240 0 0 0 125 125 125 65535 0 0 0 0
DISCONNECT 1 600 0 -150 -150 -185 0 0 0 330 330 330 65535 0 0 0 0
OFFHOOK_NOTICE 2 1400 2040 -240 -240 -240 -240 -240 -240 100 100 0 0 0 0 0 0
OFFHOOK_ALERT 2 1400 2040 -150 -150 -185 -150 -150 -185 100 100 0 0 0 0 0 0
UC_520#
NF = number of frequencies
FOF = Freqency of first tone
FOS = Frequency of second tone
ONTF = On time (duration) of first tone
OFTF = Off time of first tone
ONTS = On time of second tone
OFTS = Off time of second tone
What all this means in theory is that if the voice port DSP picks up particular tone frequency/s and tone timings (cadence) as defined in the tone tables, it will be able to determine that the call has been disconnected and then clear the voice port towards the telephone network.
We all know that theory is wonderful. We also know that in practice, things are often very different.
Even though many country CPtones are based on relevant and publicly available specifications, what we are expecting and what other telephone systems are actually using can be very different.
For this reason, IOS gives the ability to customise specific tone settings to accomodate these frequency and cadence variations.
To determine these special tone settings, you need to capture and analyse the audio from the telephone network towards the router. The easiest way to do this is to obtain a wireshark trace of the network traffic when the call is cleared from the PSTN direction. Rather than hang up the IP phone, you continue to capture the media stream that contains the continual 'beep beep beep' tones.
Provided the traffic is using G711 as the codec, it is simple to save the RTP payload in wireshark as an .AU aduio file.
You can then use a shareware application like Cooledit96 to load up this captured audio file and display it's properties. Cooledit96 makes it easy to select the bursts of tone and measure the on time and off time - this determines the cadence. You then use the frequency analysis option to pick out the tone component frequencies. Once you have the cadence and frequency, you can use these to set the values of the custom tone class.
The tone/frequency deviation values allow the DSP to handle larger variations in the frequency and timing of the tones being monitored. In the case of the values you quoted, the frequency deviation would allow for around 20Hz (+/- 10hz) around the centre frequency, and the cadence deviation would allow 50msec (+/- 25 msec) around the tone timing.
02-14-2018 06:39 AM
Hello,
Wanted to reply to this thread because followed almost all recommendations given here but its still not working reliable. Below config works only a couple of days/weeks! Port goes again off-hook.
Have tried two different configs so far as below: a and b
a)
!
voice class custom-cptone MYTONE
dualtone disconnect
frequency 425
cadence 350 350
!
voice-port 0/2/1
trunk-group FXO
supervisory disconnect dualtone mid-call
supervisory custom-cptone MYTONE
connection plar opx 445
description FXO Group
caller-id enable
!
b)
!
voice class custom-cptone MYTONE
dualtone disconnect
frequency 425
cadence 375 375
!
voice-port 0/2/1
trunk-group FXO
supervisory disconnect dualtone mid-call
supervisory custom-cptone MYTONE
timeouts call-disconnect 3
timeouts wait-release 3
connection plar opx 445
description FXO Group
caller-id enable
!
Any additonal config I can try to make this work?
02-14-2018 08:17 AM
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: