<br><br><div><span class="gmail_quote">2008/1/9, Steve Langstaff &lt;<a href="mailto:steve.langstaff@citel.com">steve.langstaff@citel.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; -----Original Message-----<br>&gt; From: <a href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com</a><br>&gt; [mailto:<a href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com
</a>] On Behalf Of<br>&gt; Johansson Olle E<br>&gt; Sent: 09 January 2008 14:11<br>&gt; To: Asterisk Users Mailing List - Non-Commercial Discussion<br>&gt; Subject: Re: [asterisk-users] How to check if a SIP phone<br>&gt; isforwardedwithoutringing it ?
<br>&gt;<br>&gt;<br>&gt; 9 jan 2008 kl. 10.46 skrev Steve Langstaff:<br>&gt;<br>&gt; &gt;&gt; -----Original Message-----<br>&gt; &gt;&gt; From: <a href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com
</a><br>&gt; &gt;&gt; [mailto:<a href="mailto:asterisk-users-bounces@lists.digium.com">asterisk-users-bounces@lists.digium.com</a>] On Behalf Of<br>&gt; &gt;&gt; Johansson Olle E<br>&gt; &gt;&gt; Sent: 09 January 2008 06:50
<br>&gt; &gt;&gt; To: Asterisk Users Mailing List - Non-Commercial Discussion<br>&gt; &gt;&gt; Subject: Re: [asterisk-users] How to check if a SIP phone<br>&gt; &gt;&gt; isforwardedwithout ringing it ?<br>&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>&gt; &gt;&gt; 9 jan 2008 kl. 02.48 skrev Raj Jain:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;&gt; This issue of phone vendors not supporting OPTIONS<br>&gt; according to RFC<br>&gt; &gt;&gt;&gt; 3261<br>&gt; &gt;&gt;&gt; often comes up on this list. Like Kevin Fleming said, an OPTIONS
<br>&gt; &gt;&gt;&gt; request is supposed to be responded in the same way as an INVITE.<br>&gt; &gt;&gt;&gt; Almost all SIP phone vendors have construed OPTIONS as some<br>&gt; &gt;&gt; kind of a<br>&gt; &gt;&gt;&gt; keep-alive request, which is wrong.
<br>&gt; &gt;&gt; Which we do too, by the way. In worst case, maybe Asterisk has set<br>&gt; &gt;&gt; this industry standard.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; OPTIONS is far to heavy in processing on the server side<br>&gt; to be used
<br>&gt; &gt;&gt; for keep-alives. I&#39;m&nbsp;&nbsp;starting to see devices that use it for<br>&gt; &gt;&gt; checking capabilities - the proper way. To do this<br>&gt; properly, we will<br>&gt; &gt;&gt; have to authenticate the OPTIONs request and match it with
<br>&gt; the proper<br>&gt; &gt;&gt; peer/ user to get the proper codec settings, ACLs and such.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Since all versions of Asterisk use OPTIONs for<br>&gt; NAT-keepalives, I&#39;m a<br>&gt; &gt;&gt; bit hesitant to fix this. It&#39;s a catch 22. I want to do it
<br>&gt; properly,<br>&gt; &gt;&gt; but then the amount of processing for each OPTIONs request that we<br>&gt; &gt;&gt; receive is going to be a bit too much. Maybe one could ask<br>&gt; vendors to<br>&gt; &gt;&gt; add a header to the&nbsp;&nbsp;OPTIONs packet saying &quot;this is just a
<br>&gt; &gt;&gt; keep-alive.<br>&gt; &gt;&gt; Give me a 200 OK without any parsing and be happy, because I don&#39;t<br>&gt; &gt;&gt; care about the reply.&quot;<br>&gt; &gt;<br>&gt; &gt; It looks like there are two issues rolled into one here...
<br>&gt; &gt;<br>&gt; &gt; I hope I&#39;m not &quot;teaching my grandmother to suck eggs&quot; when<br>&gt; telling you<br>&gt; &gt; this, Olle, but as I understand it, Asterisk sending OPTIONS to<br>&gt; &gt; devices as a NAT keepalive is a separate issue from devices sending
<br>&gt; &gt; OPTIONS to asterisk as a capabilities check...<br>&gt; &gt;<br>&gt; &gt; Received OPTIONS messages should/must be handled as-per the<br>&gt; RFCs (so<br>&gt; &gt; authentication, matching etc should be done).
<br>&gt; &gt;<br>&gt; &gt; If Asterisk wants to send an OPTIONS message just to keep a NAT<br>&gt; &gt; binding open then I don&#39;t think that it has any obligation<br>&gt; to include<br>&gt; &gt; authentication headers if it receives a 401/407 response -&nbsp;&nbsp;it has
<br>&gt; &gt; received *some* response, and that&#39;s enough.<br>&gt; &gt;<br>&gt; &gt; If Asterisk wants to send an OPTIONS message to discover peer state<br>&gt; &gt; (e.g.<br>&gt; &gt; call forward enabled) then obviously it will have to complete any
<br>&gt; &gt; 401/407<br>&gt; &gt; handling.<br>&gt; &gt;<br>&gt; &gt; So instead of needing<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&quot;a header to the OPTIONs packet saying &quot;this is just a<br>&gt; keep-alive&quot;&quot;<br>&gt; &gt; I think that maybe Asterisk needs to control how it uses OPTIONS,
<br>&gt; &gt; depending on purpose.<br>&gt;<br>&gt; The issue here is that it requires a lot of extra processing<br>&gt; when RECEIVING the OPTION message if we want to do it right.<br>&gt; Sending is not an issue.<br>&gt;
<br>&gt; If we want to handle OPTIONs correctly we need to match with<br>&gt; the peer/ user list and then set up a complete dialog with<br>&gt; all the options from the peer/user and then reply...<br><br>Right.<br><br>I agree that RECEIVING an OPTION message on the Asterisk server may
<br>require a lot of extra processing.<br><br>I agree that sending an OPTION message from the Asterisk server could<br>well have a low processing load.<br><br>The original poster wanted to use OPTIONS sent FROM the Asterisk server
<br>to query the phone state, so I don&#39;t think your concerns about receive<br>processing come into the picture.</blockquote><div><br>Yes, obviously,&nbsp; there are 2 different issues&nbsp; :<br>1. how to query phone status<br>
2. how  to keep NAT alives<br><br>A. For phone status queries, a list of phone vendors (at least one) supporting this usage or future SIPit tests would help to motivate other vendors to implement desired SIP OPTIONS behaviour along today&#39;s one.
<br>Maybe an email sent by Digium to a list of SIP phone vendors and asking for guidance would be a practical mean to get replies.<br><br>B. As keeping NAT alive is a basic need, maybe we should ask SIP PING method authors or sponsors for advice on this (contact address in enclosed in 
<a href="http://www.cornfed.com/ping.html">http://www.cornfed.com/ping.html</a> ) ?<br>Either SIP PING (or something equivalent) should be ratified or SIP OPTIONS should be &quot;clarified&quot;.<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
_______________________________________________<br>-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com">http://www.api-digital.com</a> --<br><br>asterisk-users mailing list<br>To UNSUBSCRIBE or update options visit:
<br>&nbsp;&nbsp; <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br>