[asterisk-dev] Requiring session timers and call drop

Mark Michelson mmichelson at digium.com
Mon Jan 18 09:52:37 CST 2010


김의경 wrote:
> Greetings,
>  
> I was going through mail archive and found that some one has 
> experienced exactly the same problem as I have. The 420 bad extension 
> message and getting the call dropped.
>  
> Here in Korea, I'm testing my Asterisk box with one of the biggest local 
> ITSP's which is run by Samsung and they have an array of SIP 
> servers from BroadWorks. One peer connecting to this ITSP is set up and 
> the other end is Linksys PAP2T.
>  
> Session timer is set to 'accept'. I call my Asterisk box from PSTN and 
> the ITSP sends an INVITE with Supported: timer header. After a while 
> following the call set-up, Asterisk sends re-invite with 'timer' in the 
> 'Require:' header. Then the BroadWorks, whatever that is, sends back 420 
> bad extension and drops the call with a BYE.
>  
> Here is what I think. This behavior is certainly a fault of that peer 
> (BroadWorks) since it can be just ignored instead of dropping the call. 
> There is no reason for this.
>  
> To work around this, I can just turn off the session timer by setting it 
> to 'refuse' or I can set session refresher to 'uac'. The problem is that 
> I still want to use session timers where I can use to protect my server 
> from leaking resource.
>  
> Does any one know answers to these questions:
>  
> 1. Why does Asterisk send Require: timer header for session timers?
>     https://issues.asterisk.org/file_download.php?file_id=15454&type=bug 
> <https://issues.asterisk.org/file_download.php?file_id=15454&type=bug>
>     In the above document, 2.8. Requiring Session-Timers, it says 
> Asterisk never requires session-timers support from the other end-point 
> in the interest of interoperability with maximum number of end-point 
> implementations. BUT IT DOES!
>  
> 2. Would this BroadWorks server behave this way (dropping calls), 
> because Asterisk is refreshing sessions with re-INVITE instead of 
> UPDATE? I think the RFC states it can be done with both methods though.
>  
> I'm not sure if this problem has already been fixed. Tested version is 
> 1.6.1.1.
>  
> Thanks for any help.
>  
> Eugene
>  

1. Setting session-timers=refuse in sip.conf should completely disable the use 
of session-timers. See if that helps.

2. Sending an UPDATE shouldn't make a difference, and sending a reINVITE is a 
much more common method of changing media attributes during a session. However, 
you can set canreinvite=update in sip.conf, and Asterisk should send UPDATE 
requests instead of a reINVITEs.

Mark Michelson



More information about the asterisk-dev mailing list