[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