analog lines not getting disconnected

Answered Question
Jan 2nd, 2008

after a call is made from IPphone to mobile(for eg), even after disconnecting the call from IPphone its not getting disconnected on mobile...

inshort the fxo port is still active..the voice port remains off-hook..so gotta manually shut and open voice port from CLI everytime....

tried changing the cptone configuration(tried all the cisco provided configs(erricsson,alcatel etc))

regards

fadhu mohammed

I have this problem too.
0 votes
Correct Answer by pcameron about 6 years 3 months ago

As you have realised, this is the well known problem of supervisory disconnect, where the telco expects users to disconnect the call. They signal the end of the call by playing a disconnect tone to the party that is still off hook.

We can detect this tone and drop the call from the voice port if we know the frequency and cadence of the tones.

Here is a procedure you can use to determine these values (from an earlier posting of mine on Netpro)

Setting the cptone to KR will use the default settings for Korea, but we find that in many countries they do not use consistent tones across the entire nation, so even through cptone KR might work in one location, it may fail in another site. The best thing to do here is to get an ethereal/wireshark log of a call that is disconnected.

If you use G711 as the codec, we can easily save the audio payload out of ethereal as an AU file and can analyse the frequencies and the cadence (duration) of the tone. You should be able to plug a PC into the phone's PC port and capture the voice traffic.

All you need to do is to make a test call to the phone, then hang up from the PSTN side and listen for the disconnect tones to be played from the PSTN. Once you hear them, start wireshark and record the packet stream. We only need about 10 seconds or so.

We do this all the time to create custom tones for supervisory disconnect.

Here is an example -

!

voice class custom-cptone Korea_customtone

dualtone disconnect

frequency 480 620

cadence 300 200

!

We set up a custom disconnect class called 'Korea_customtone'. This will look for two tones of 480 and 620 hz, with a repeating on time of 300msec and an off time of 200msec

!

voice-port 0/2/1

supervisory disconnect dualtone mid-call

supervisory custom-cptone Korea_customtone

timeeouts call-disconnect 3

timeouts wait-release 3

!

To analyse the audio, you save the payload from wireshark as an AU file. (G711ulaw, 64Kbps, 8 bit, 8khz)

Search on the internet for an audio application called 'cooledit96'(which is now Adobe Audition)

Load the audio file into cooledit application.

Play back the audio to identify the disconnect tones

Use the cursors to highlight the start of the tone period, and then measure the on time duration. Do the same for the off time. This gives the cadence of the tones.

Move the cursor over the tone , then select Analyse-->Frequency Analysis

This will open a new window that shows a frequency domain view, and the two component tones are shown a individual peaks. Move the cursor over each tone peak and carefully read the displayed frequency (round it to the closest 5hz)

These values - cadence and frequencies are then used in the custom tone class.

  • 1
  • 2
  • 3
  • 4
  • 5
Average Rating: 4.3 (4 ratings)
hoanghiep Wed, 01/02/2008 - 20:44

In this case, you should configure your own "voice class custom-cptone" (with the appropriate disconnect frequency and cadence) and then apply it for the voice ports.

How do we find out the frequency and cadence? We can use some recording tool to record the disconnect tone that we hear on the phone when the PSTN phone hangs up; take the frequency of the highest-amplitude point.

Hope this will help you as it has helped me a lot!

hoanghiep

fadhumohammed Thu, 01/03/2008 - 02:07

yes....this is exactly wat i wanna know...how do we record the cptone...wats the name of the tool...pls help...

thanks a looooot anywyas...

fadhumohammed Thu, 01/03/2008 - 02:09

and this is the ios tat iam using...

c2800nm-adventerprisek9-mz.124-15.T1.bin

fadhumohammed Thu, 01/03/2008 - 02:48

thanks aloooot....can ya also gimme few tips on how to carry out the rocordings???? how to get the frequency and stuff....

maher_miniesy Wed, 01/16/2008 - 04:05

Dear Sir

I have the same problem wity many customer can you help me how can use this sofrtware to know frequency and cadence

Thanks, Regards

Mohamed Maher

pcameron Wed, 01/16/2008 - 04:21

You can download cooledit96 here -

http://www.threechords.com/hammerhead/cool_edit_96.shtml

Use wireshark to capture the RTP, and save the payload in .AU format.

Load the audio file into cooledit and use the cursors to determine the on times and off times of the tones.

Select the Analyse option to do a frequency analysis. From the new window, you can move the cursor over the frequency peaks to determine the component tones. Round the frequency to the nearest 5hz.

use these values to create a custom disconnect tone class -

!

voice class custom-cptone test

dualtone disconnect

frequency 450

cadence 200 200

!

apply the custom class to the voice port

voice-port 0/0/0

supervisory disconnect dualtone midcall

supervisory custom-cptone test

And hope it works :-)

Correct Answer
pcameron Thu, 01/03/2008 - 15:56

As you have realised, this is the well known problem of supervisory disconnect, where the telco expects users to disconnect the call. They signal the end of the call by playing a disconnect tone to the party that is still off hook.

We can detect this tone and drop the call from the voice port if we know the frequency and cadence of the tones.

Here is a procedure you can use to determine these values (from an earlier posting of mine on Netpro)

Setting the cptone to KR will use the default settings for Korea, but we find that in many countries they do not use consistent tones across the entire nation, so even through cptone KR might work in one location, it may fail in another site. The best thing to do here is to get an ethereal/wireshark log of a call that is disconnected.

If you use G711 as the codec, we can easily save the audio payload out of ethereal as an AU file and can analyse the frequencies and the cadence (duration) of the tone. You should be able to plug a PC into the phone's PC port and capture the voice traffic.

All you need to do is to make a test call to the phone, then hang up from the PSTN side and listen for the disconnect tones to be played from the PSTN. Once you hear them, start wireshark and record the packet stream. We only need about 10 seconds or so.

We do this all the time to create custom tones for supervisory disconnect.

Here is an example -

!

voice class custom-cptone Korea_customtone

dualtone disconnect

frequency 480 620

cadence 300 200

!

We set up a custom disconnect class called 'Korea_customtone'. This will look for two tones of 480 and 620 hz, with a repeating on time of 300msec and an off time of 200msec

!

voice-port 0/2/1

supervisory disconnect dualtone mid-call

supervisory custom-cptone Korea_customtone

timeeouts call-disconnect 3

timeouts wait-release 3

!

To analyse the audio, you save the payload from wireshark as an AU file. (G711ulaw, 64Kbps, 8 bit, 8khz)

Search on the internet for an audio application called 'cooledit96'(which is now Adobe Audition)

Load the audio file into cooledit application.

Play back the audio to identify the disconnect tones

Use the cursors to highlight the start of the tone period, and then measure the on time duration. Do the same for the off time. This gives the cadence of the tones.

Move the cursor over the tone , then select Analyse-->Frequency Analysis

This will open a new window that shows a frequency domain view, and the two component tones are shown a individual peaks. Move the cursor over each tone peak and carefully read the displayed frequency (round it to the closest 5hz)

These values - cadence and frequencies are then used in the custom tone class.

fadhumohammed Sun, 01/06/2008 - 00:15

hello,

iam able to save the payload as AU file but the playback is very wierd and so is the frequncy analyzed..

can ya help me with tat???(on how to properly save the payload as AU file so tat i can get a proper playback??)

manoj.kv Thu, 03/06/2008 - 00:13

Hi,

I am facing the same issue, ( Iam getting a wierd output)Could you please tell how you save the AU file out of wareshark & how did you find out the frequency ?

My Scenario is

Ana.Ph<->PBX<->FXO<-->FXO<-->PBX<-->Ana.Ph.

If I make calls from one ph to another the fxo port is not getting disconnected after I hangs up the phone.

Manoj.

Paolo Bevilacqua Sun, 01/06/2008 - 04:09

Paul,

I've not suggested the supervisory disconnect issue, and asked instead for exact IOS, because the call goes to an IP phone, and there is a positive hang-up by said IP phone at the end of the call.

This should cause the FXO port to release in any and all cases.

As you know FXO - FXS (as an IP phone is, logically), should not cause the issue, that instead happens when using AA, CUE, etc.

Aaron Dhiman Mon, 01/07/2008 - 11:05

Sorry for the tangent here, but when connecting an FXS to an FXO:

IPphone---CCM----------GW/FXS-----FXO/PBX---DigitalPhone

If IPphone hangs up, should the GW/FXS send a disconnect tone to the FXO port to signal end of call, or does it just of on hook? Also, if the FXO is hanging up, what methods can be tried on the FXS side to force FXO-side disconnect?

Paolo Bevilacqua Mon, 01/07/2008 - 12:11

Hi,

Yes, when IPphone hangs-up, GW/FXS hangs-up as well, FXO/PBX senses loop open, lshould show disconnects and/or give a tone.

Viceversa, when DigitalPhone disconnects first, either PBX is able to do a power denial or battey reversal, or you must base disconnect supervsion on GW/FXS, based on tone detection.

Paolo Bevilacqua Mon, 01/07/2008 - 13:27

Actually, I should add something. You should implement disconnect supervision for the second scenario above, only if for some reason you what the IPphone user able to see far-end disconnection. In most cases, this is not necessary, because people agree to end conversations.

Aaron Dhiman Mon, 01/07/2008 - 16:21

I found the document "Understanding FXO Disconnect", which does a good job explaining how to change a router's FXO port disconnect detection; however, it doesn't seem to address this issue where there is no phone connected to an FXS, just a PBX/FXO port (which I do not have access to configure):

Scenario 1: PBX phone hangs up and its FXO port goes on hook. Now, the router's FXS port should detect loop open/on-hook. I imagine this is working fine.

Scenario 2: IP phone hangs up and the router's FXS port signals battery reversal to indicate the end of the call. I think here that the PBX must not be detecting this properly. If I disable "battery-reversal" on the FXS port, what method will it use to signal the end of the call then? I imagine I'd also have to get the PBX administrator to re-configure his side as well then?

pcameron Mon, 01/07/2008 - 21:40

For scenario (2) - you now understand the fundamental limitation of using FXS and FXO ports to trunk between PBX's. Since the FXS port on the router expects the attached device to physically drop the loop, all it can do is either play a disconnect tone or reverse the polarity of the line to indicate the call has cleared.

If the atached device does not support either of these methods , then ... it's working as designed :-)

This is precisely the reason why E&M interfaces were developed for interconnecting PBX's. The E&M interface has audio pairs (TX and RX) as well as control leads that give an indication of the state of the call in either direction. This way, if the PBX or the router drops the call, the other side sees the control lead change state and it knows the call has ended.

This is known as end to end call supervision, which basic FXS/FXO does not provide.

The best way to connect PBX's is using analogue E&M trunks, ISDN BRI or PRI. trunking with FXS and FXO is not a good solution.

Refer here for more details on E&M trunks -

http://www.cisco.com/en/US/tech/tk1077/technologies_tech_note09186a0080093f60.shtml

http://www.cisco.com/en/US/products/hw/gatecont/ps2250/products_tech_note09186a008009452e.shtml

maher_miniesy Wed, 01/16/2008 - 04:26

Dear Sir

I have the same problem wity many customer can you help me how can use this software ( Cool Edit Pro ver2.1)to know frequency and cadence

Thanks, Regards

Mohamed Maher

fadhumohammed Wed, 01/16/2008 - 05:49

yes..u can analyze the fxo disconnect tone manually..jst follow these steps..

1. get the wireshark log

2. analyze->decode to RTP file

3. statistics->RTP->stream anaylse

4. save as .AU file

5. open the au file with cool edit pro

6. measure the off time and on time gap(in time)=cadence

7. in cool edit pro, analyse->frequency analyse

8. for each off and on time measure the peak frequency and tats the frequency

guess this should help!!!!!....

maher_miniesy Sun, 01/20/2008 - 06:09

Dear Sir

Thanks for replay, i made this steps but can't export the frequency and cadence from graph can you help me to export it from cool edit pro or send me examble for that by eamil also my email is maher_miniesy@seegypt.com

Thanks , Regards.

hoanghiep Thu, 03/06/2008 - 01:22

An easier way to record the tone is to use IP Communicator!

I've used IPCommunicator and got the right results!

pcameron Mon, 01/21/2008 - 04:39

Hi Maher - if you can post a wireshark capture of the local disconnect tones, I will write up a detailed note on how to analyse the tones and publish it here as question keeps coming all the time !

ita_hsieh Sat, 05/17/2008 - 05:17

hi I have upload the disconnect tones, could you please provide detailed steps on how the analyze the tone? Thank you very much.

regards

Alex

Attachment: 

Actions

Login or Register to take actions

This Discussion

Posted January 2, 2008 at 12:32 AM
Stats:
Replies:28 Avg. Rating:4.33333
Views:377 Votes:0
Shares:0
Tags: No tags.

Discussions Leaderboard