[asterisk-users] Re: SIP stuck channel soft hangup?

Nic Bellamy nicb-lists at vadacom.co.nz
Tue Oct 10 20:25:44 MST 2006


Martin Joseph wrote:

> On 2006-10-08 21:28:08 -0700, Nic Bellamy <nicb-lists at vadacom.co.nz> 
> said:
>
>> Martin Joseph wrote:
>>
>>> I am seeing occasional stuck SIP channels that seem to occur when 
>>> the fricking Nokia E60 drifts out of WIFI range in the midst of a call.
>>>
>>> This is particularly annoying when the stuck channels include my 
>>> PSTN gateway (wellgate 3701a), which leaves incoming and outgoing 
>>> calls a busy signal.
>>>
>>> I see by googling that soft hangup is a good way to kill these 
>>> channels and that works fine for me.
>>>
>>> I wonder if there is some way to automatically soft hangup these 
>>> channels when the qualify fails?
>>
>>
>> Take a look at rtptimeout in sip.conf - that might do what you need.
>
>
> Thanks again for the idea Nic!  This does seem like a great way to do 
> what I need, but it doesn't seem to work!
>
> I have added the statement
>
> rtptimeout=60
>
> Into my extension for the Nokia E60. Then I reloaded asterisk.
>
> I tried just now to call through my gateway and then walk out of wifi 
> range.
>
> The console continues to show me 2 active channels 1 active call, even 
> after the minute (or several minutes) have passed?
>
> Any thoughts on why this doesn't work in 1.2.12?

Hmm, this should work in 1.2.12 (I think it has for me). I'd recommend 
watching with tcpdump while you try this, as it's possible that your AP 
is picking up packets from your E60, but the E60 isn't getting them from 
the AP - in this case, as Asterisk will still be seeing the RTP, it 
won't time it out - even though it's dead from a users perpective. Can 
the other end still hear you at this point?

There was a patch added a couple of months back, but this made it into 
1.2.11:
http://bugs.digium.com/view.php?id=7459

Depending on the state of the call, it won't always do the job - for 
instance if you're dialing but not connected, and the other end sends 
perpetual call progress tones. Asterisk isn't expecting any RTP at this 
point, so won't be able to do anything about it at this level.

Even with this, if even one RTP packet gets through in that 60 seconds, 
it'll reset the timeout. Trying to make this more robust would get 
tricky, as we don't necessarily know what packetization interval the 
peer is using, so working on a "% lost" basis would be quite tricky.

</braindump> ;-)

HTH,
    Nic.

-- 
Nic Bellamy,
Head Of Engineering, Vadacom Ltd - http://www.vadacom.co.nz/



More information about the asterisk-users mailing list