Summary:ASTERISK-13212: when phone loses connection to asterisk during call, after it can't make any new call
Reporter:pj (pj)Labels:
Date Opened:2008-12-12 15:59:24.000-0600Date Closed:2010-02-03 10:48:28.000-0600
Versions:Frequency of
Environment:Attachments:( 0) valgrind.txt
Description:When skinny phone loses connection to asterisk during call, used channel stays open forever. It has very bad consequence: phone can not place any new calls.
It can't be resolved with restarting phone. Only working solution is to manually hangup death channel with 'channel request hangup' from asterisk.
Is easy to reproduce this issue: call some asterisk application, eg. echo(), and break network connection during this call.
I'm using cisco wifi phone 7920.


it's skinny debug from situation, when skinny phone tries to place new call, but some death channel still exist in asterisk.

[Dec 12 22:40:37]  callreference in handle_stimulus_message is '0'
[Dec 12 22:40:37]  Received Stimulus: Line(1/0)
[Dec 12 22:40:37]  Setting ringer mode to '1'.
[Dec 12 22:40:37]   == Found device: PJ
[Dec 12 22:40:37]     -- Got offhook message when device (324@PJ) already offhook
[Dec 12 22:40:37]  Collected digit: [9]
[Dec 12 22:40:38]  Collected digit: [5]
[Dec 12 22:40:38]  Collected digit: [9]
Comments:By: pj (pj) 2008-12-17 12:12:38.000-0600

I tag this bugreport with severity 'minor', but better will be 'block', because this bug efectivelly block affected users from use their skinny phones. Almost every day, I must clear death skinny channels from asterisk cli.

By: Michiel van Baak (mvanbaak) 2008-12-21 07:24:40.000-0600

does chan_skinny see that the registration is dead ?
check with 'skinny show devices'

If so, we can maybe make the chan_skinny to hangup channels that are connected to a no longer registered device.

By: pj (pj) 2008-12-21 08:43:14.000-0600

Yes, it can be see on cli that chan_skinny temporary loses skinny connection with phone. Something like 'rtptimeout' that we have for sip, will be also welcome for chan_skinny :-)

By: Alec Davis (alecdavis) 2008-12-21 14:06:13.000-0600

I have seen the same with a sip connected phone, during a TDM to SIP call, pull the ethernet at the phone, asterisk would happily keep sending packets forever. Havn't tried lately but I experienced this a while ago in asterisk 1.4

By: pj (pj) 2008-12-21 14:25:31.000-0600

alecdavis: if you have simillar issue with chan_sip, you should upgrade to asterisk 1.6.x, you can set 'rtptimeout' in sip.conf to automatically hangup death rtp stream, but here we are talking about chan_skinny ;-)

By: pj (pj) 2009-02-03 17:02:13.000-0600

I have run asterisk from valgrind and repeat test with breaking connection during skinny call. Perhaps attached valgrind.txt can be somehow usefull.
Same valgrind I attached also for issue ASTERISK-1367777 - here you can find some story about chan_skinny, that causes asterisk crash.

By: Leif Madsen (lmadsen) 2009-03-23 12:42:59

Reassigned to mvanbaak because he loves chan_skinny!

By: Arif-Uz-Zaman (arifzaman) 2010-02-03 01:18:00.000-0600

I already fixed this issue and the patch is attached on issue #0016693

As soon as asterisk find any client death, chan_skinny will hangup the channel when running its registration timeout process.

By: Leif Madsen (lmadsen) 2010-02-03 10:48:13.000-0600

Thanks for pointing that out! I'm going to close this issue, and request that the other issue be followed to completion. Thanks!