[asterisk-users] SIP Disconnects from Network - Asterisk Does not hangup

Olle E. Johansson oej at edvina.net
Tue Feb 23 00:44:37 CST 2010


23 feb 2010 kl. 01.47 skrev Kirill 'Big K' Katsnelson:

> On 100222 1313, JT wrote:
>> When a SIP device dials another SIP device...Asterisk connects the calls and
>> displays the channel information.
>> If one of those SIP devices hangs up, Asterisk receives the hangup notice
>> and disconnects the call/channel.
>> However - what does Asterisk do when the network cable is unplugged from one
>> of the SIP devices...?!
> 
> Jared already mentioned SIP session timers, which are supported starting with 1.6. Here's my experience. While I am running 1.6, the software stack that is used for agent softphone (PJSIP) does not support the session timers. If the softphone crashes in a call, the call would get stuck exactly as you describe.
> 
> I am working around this problem by setting rtp timeouts in sip.conf:
> 
> [general]
> rtptimeout=10
> rtpholdtimeout=300
> 
> This means that if RTP flow stops while the agent is in the call, the call will be disconnected in 10 seconds. If the call was put on hold by the agent, it will be disconnected in 300 seconds. Your timeouts may vary.
> 
> The caveat here is that it is perfectly normal NOT to transmit any RTP data in case of long silence.
Not in Asterisk - we do not really support silence suppression. The recommendation is to turn it off on the phones.

> This is why the SIP timers were introduced in the first place: there is no correct way to detect when the client is going away, as no activity is a good session state.
> 
> I am able to get away with the small timeout because I set the PJSIP client to always transmit RTP, by turning off voice activity detection feature (VAD). If you want to support that feature, set rtptimeout as high as for how long you allow absolute silence on the line without disconnecting it.

Just to complete this discussion - we also have the absolute timeout that is a lifesaver in many cases. If you set this to a time that's larger than the normal calls, Asterisk will hang up the call. I very often set it to two hours, just to make sure that if anything strange happens, all calls will be cancelled out at some point.

/O


More information about the asterisk-users mailing list