[asterisk-users] How to check if a SIP phone isforwardedwithout ringing it ?

Steve Langstaff steve.langstaff at citel.com
Wed Jan 9 03:46:05 CST 2008


> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com 
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of 
> Johansson Olle E
> Sent: 09 January 2008 06:50
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: Re: [asterisk-users] How to check if a SIP phone 
> isforwardedwithout ringing it ?
> 
> 
> 9 jan 2008 kl. 02.48 skrev Raj Jain:
> 
> > This issue of phone vendors not supporting OPTIONS according to RFC
> > 3261
> > often comes up on this list. Like Kevin Fleming said, an OPTIONS 
> > request is supposed to be responded in the same way as an INVITE. 
> > Almost all SIP phone vendors have construed OPTIONS as some 
> kind of a 
> > keep-alive request, which is wrong.
> Which we do too, by the way. In worst case, maybe Asterisk 
> has set this industry standard.
> 
> OPTIONS is far to heavy in processing on the server side to 
> be used for keep-alives. I'm  starting to see devices that 
> use it for checking capabilities - the proper way. To do this 
> properly, we will have to authenticate the OPTIONs request 
> and match it with the proper peer/ user to get the proper 
> codec settings, ACLs and such.
> 
> Since all versions of Asterisk use OPTIONs for 
> NAT-keepalives, I'm a bit hesitant to fix this. It's a catch 
> 22. I want to do it properly, but then the amount of 
> processing for each OPTIONs request that we receive is going 
> to be a bit too much. Maybe one could ask vendors to add a 
> header to the  OPTIONs packet saying "this is just a keep-alive.  
> Give me a 200 OK without any parsing and be happy, because I 
> don't care about the reply."

It looks like there are two issues rolled into one here...

I hope I'm not "teaching my grandmother to suck eggs" when telling you
this,
Olle, but as I understand it, Asterisk sending OPTIONS to devices as a
NAT
keepalive is a separate issue from devices sending OPTIONS to asterisk
as a
capabilities check...

Received OPTIONS messages should/must be handled as-per the RFCs
(so authentication, matching etc should be done).

If Asterisk wants to send an OPTIONS message just to keep a NAT binding
open then I don't think that it has any obligation to include
authentication
headers if it receives a 401/407 response -  it has received *some*
response,
and that's enough.

If Asterisk wants to send an OPTIONS message to discover peer state
(e.g.
call forward enabled) then obviously it will have to complete any
401/407
handling.

So instead of needing
    "a header to the OPTIONs packet saying "this is just a keep-alive""
I think that maybe Asterisk needs to control how it uses OPTIONS,
depending on purpose.
   



More information about the asterisk-users mailing list