Hangup not detected

I have a problem with DISA and FXO line hanging.
This problem has been reported earlier(long time ago):
bugs.digium.com/view.php?id=270
but I didn’t find an answer.

1.From my mobile I call DISA in my * server (via FXO , TDM11B)
2.When I get internal dial tone, I dial an internal number(f.e. 1000)
3.When 1000 answers and after the call disconnects than everything is ok
4. BUT… if 1000 doesn’t answer and I disconnect from my mobile, the FXO line hangs :frowning:

I have to manually unplug it from the TDM11B board, or double click it in my Flash Operator Panel.

I have tried in zapata.conf.
busydetect=yes
callprogress=yes

but it’s not the right solution.

I have searched for a solution a long time, but I can’t solve it.

Who can help ?

does your line have disconnect supervision? if so a short polarity reversal (CPC signal) is sent after the remote end hangs up. You can easily test for this- dig up a standard phone with a backlit keypad (the kind powered by the line- no batteries or adapters). Plug it into your line. Now call your cell on it, talk for a second, and hang up the cell. The keypad should go dark for a second.

If this is not happening it means you do not have disconnect supervision on your line. In this case you should change the signalling to loopstart instead of kewlstart and also possibly turn off disconnect supervision in zapata.conf

however you could also call your telco and ask them to give you disconnect supervision, they shouldnt charge for this. Then kewlstart will work great and it will correctly detect remote hangups.

Thanks for your info.

I don’t have such a phone to test.
But I have an oscillopscope.
What if I hang that one in parallell with a normal standard phone and the line ?

that might work. While the phone is picked up you should see a voltage, probably around 40v. When the remote end disconnects, if you get a CPC it should become -40v (switch polarity) or at least drop to 0…

What will I see if I don’t get a CPC? :unamused:

voltage will stay more or less the same, and eventually the phone will start putting out a busy signal

OK, I’ll test it.

I’ve done the testing with the scope. (Now I know how to use my scope :smile: )
I don’t have CPC.
After hanging up I get busy signal.

So, I tested again with putting
"busydetect=yes" (but leaving out callprogress =yes)
in my zapata.conf file and to my big surprise it seems to work now. :smiley:

I really can’t understand why it didn’t work the first time.?
The only reason I can figure out now was that might be
the upgrade from an earlier version of asterisk to version 2.1.15 did the trick

Anyhow… conclusion :laughing:

perhaps. You should call your telco and see if they can enable your line for disconnect supervision.
The problem with just using busy detect is that after the call ends, asterisk holds the line for another minute or so until the busy signal starts. Once it gets busy, it hangs up, but the end result is that your line is off hook and thus unavailable for another minute or two.

OTOH if your telco can enable the line for disconnect supervision then astersk will detect the hangup immediately…

[quote=“IronHelix”]perhaps. You should call your telco and see if they can enable your line for disconnect supervision.
The problem with just using busy detect is that after the call ends, asterisk holds the line for another minute or so until the busy signal starts. Once it gets busy, it hangs up, but the end result is that your line is off hook and thus unavailable for another minute or two.

OTOH if your telco can enable the line for disconnect supervision then astersk will detect the hangup immediately…[/quote]

You are absolutely correct.
I have noticed that delay too.
Isn’t it possible to shorten that time ?

you can play with busycount= but there is still a delay before busy tone starts. Use an analog phone, call your cell phone and hang up the cell. Now time how long before you hear busy tones… should be about 30-60sec… no way around that.