ok I will test this method, this seems better than nothing at this point. Thanks Bogdon!<br><br><div class="gmail_quote">On Sun, Sep 27, 2009 at 4:33 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Alex,<br>
<br>
As said, from SIP point of view, a registrar cannot tell (in a reliable<br>
way) if a registration is a first registration or a re-registration.<br>
Simply there is no information to help with this. No hocus-pocus with<br>
deleting the previous registrations or unregister will not help.<br>
<br>
BUT, the only thing you can use is that during a re-registration the<br>
callid may be preserved (and cseq increased), while during a fast<br>
reboot, the callid (in REGISTER) will be definitely a new one.<br>
<br>
So, as you can see, you can make 100% distinction between the two cases,<br>
but you can identify a first registration (when a new callid is received<br>
from the client). So , if it is not a big issue that you may detect<br>
&quot;supplementary&quot; first-register events (like a re-register when the<br>
client simply decide to change the callid), you can use in 1.6 the new<br>
&quot;callid&quot; parameter on the &quot;registered()&quot; param:<br>
<br>
<a href="http://www.opensips.org/html/docs/modules/devel/registrar.html#id271243" target="_blank">http://www.opensips.org/html/docs/modules/devel/registrar.html#id271243</a><br>
<br>
like:<br>
       if (registered(&quot;location&quot;,&quot;$to&quot;,&quot;$ci&quot;)) { -&gt; received callid is<br>
already registered -&gt; not a first registration}<br>
<br>
<br>
Regards,<br>
Bogdan<br>
<div class="im"><br>
Alex G wrote:<br>
&gt; this still does not solve the issue of a reboot that occurs in under<br>
&gt; 60 seconds. if a phone does not unregister on reboot, the record<br>
&gt; remains in the db for those 60 seconds. if it comes back up in under<br>
&gt; 60 seconds, then to opensips it looks like a reregistration.<br>
&gt;<br>
&gt; is there someway to discern this scenario from the info in the<br>
&gt; location table that is already there? maybe the callid or cseq or<br>
&gt; something?<br>
&gt;<br>
&gt; On Sat, Sep 26, 2009 at 1:43 PM, Alex Balashov<br>
</div><div><div></div><div class="h5">&gt; &lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a> &lt;mailto:<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt;&gt; wrote:<br>

&gt;<br>
&gt;     As Inaki said, what you&#39;re trying to achieve is a little ridiculous.<br>
&gt;<br>
&gt;     But, if you must do it, I recommend using a database capable of<br>
&gt;     advanced triggers and decent stored procedures (PostgreSQL) and using<br>
&gt;     usrloc and registrar with full database backing and no caching or<br>
&gt;     synchronisation (changes immediately reflected in database).  Then put<br>
&gt;     a trigger on your &#39;location&#39; table.  Trying to do this from the route<br>
&gt;     script is silly.<br>
&gt;<br>
&gt;     Alex G wrote:<br>
&gt;<br>
&gt;     &gt; I have a scenario where I&#39;m trying to fire a script based on the<br>
&gt;     first<br>
&gt;     &gt; registration of a device. In normal circumstances I can check the<br>
&gt;     &gt; location table using registered() function and if there is an<br>
&gt;     entry i<br>
&gt;     &gt; know it&#39;s not the first registration. My problem is when a phone<br>
&gt;     does a<br>
&gt;     &gt; quick reboot., it sometimes comes back on line before the<br>
&gt;     phone&#39;s entry<br>
&gt;     &gt; is removed from the location table. In this case, the above solution<br>
&gt;     &gt; does not work.<br>
&gt;     &gt;<br>
&gt;     &gt; Can anyone provide advice on how to determine first registration<br>
&gt;     of a<br>
&gt;     &gt; phone coming back online in another way?<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     &gt;<br>
&gt;     ------------------------------------------------------------------------<br>
&gt;     &gt;<br>
&gt;     &gt; _______________________________________________<br>
&gt;     &gt; Users mailing list<br>
</div></div>&gt;     &gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
<div class="im">&gt;     &gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Alex Balashov - Principal<br>
&gt;     Evariste Systems<br>
&gt;     Web     : <a href="http://www.evaristesys.com/" target="_blank">http://www.evaristesys.com/</a><br>
&gt;     Tel     : (+1) (678) 954-0670<br>
&gt;     Direct  : (+1) (678) 954-0671<br>
&gt;<br>
&gt;     _______________________________________________<br>
&gt;     Users mailing list<br>
</div>&gt;     <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> &lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
<div><div></div><div class="h5">&gt;     <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Users mailing list<br>
&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br>