<div dir="ltr">If the ping times out, then the fact that it&#39;s registered isn&#39;t very helpful -- the endpoint isn&#39;t actually reachable.<div>I&#39;ll have to figure out what threshold to actually ACT on the timeouts, though. I tried unregister-on-options-fail in the past and that resulted in the following: endpoints lost &#39;net access for a moment, but since expiry was 1 hour, it didn&#39;t realize it needed to re-register for an hour...</div>

<div><br></div><div><div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small">-Avi</span></div></div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small"><br>

</span></div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small"><br></span></div><div class="gmail_quote">On Mon, Mar 4, 2013 at 4:11 PM, Michael Jerris <span dir="ltr">&lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Why would you want an event on every timeout if it already re-registered?  <div class="im">

<div><br><div><div>On Mar 2, 2013, at 6:47 PM, Avi Marcus &lt;<a href="mailto:avi@avimarcus.net" target="_blank">avi@avimarcus.net</a>&gt; wrote:</div><br><blockquote type="cite"><div dir="ltr">OK well that&#39;s weird.. in the code base: git grep mark-dead-on-options-fail =&gt;nothing.<div>

<br></div><div>I found the other similar occurrence, unregister - it gets triggered in src/mod/endpoints/mod_sofia/sofia.c , line 4769 in head.</div>

<div><span style="white-space:pre-wrap"></span>} else if (sofia_test_pflag(profile, PFLAG_UNREG_OPTIONS_FAIL)</div><div><br></div><div>I think some code needs to be reworked there to trigger an event even if the unregister flag isn&#39;t set.</div>



<div>I&#39;ll have more time tomorrow to take a look and see if I have any clue what I&#39;m doing.</div><div><br></div><div><br></div><div><div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small">-Avi</span></div>



</div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small"><br></span></div><br><div class="gmail_quote">On Sun, Mar 3, 2013 at 12:48 AM, Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>&gt;</span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">look in the code to see if it fires an event when that happens or add one if not and submit a patch.<div>



<br></div></div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">On Sat, Mar 2, 2013 at 12:08 PM, Avi Marcus <span dir="ltr">&lt;<a href="mailto:avi@avimarcus.net" target="_blank">avi@avimarcus.net</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hmm Michael, that&#39;s right, it&#39;s not actually an unregister.. I want sofia::expire which does seem to work - yey!<div>




<br></div><div>So now the question is how can I be notified even earlier, e.g. if sip options pinging isn&#39;t working?</div><span><font color="#888888">

</font></span><div><span><font color="#888888"><br clear="all"><div><div dir="ltr"><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:small">-Avi</span></div></div><br></font></span><div class="gmail_quote">




<div>On Fri, Mar 1, 2013 at 5:44 PM, Michael Jerris <span dir="ltr">&lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt;</span> wrote:<br>

</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>
<div style="word-wrap:break-word">If you waited for it to expire, it would have been re-registered, then you unplugged it, not giving it a chance to unregister?<div><br><div><div>On Feb 28, 2013, at 8:23 PM, Avi Marcus &lt;<a href="mailto:avi@avimarcus.net" target="_blank">avi@avimarcus.net</a>&gt; wrote:</div>







<br><blockquote type="cite"><div dir="ltr">Yeah, I&#39;ll have to try on a quiet test system.<div><br></div><div>You should know me better than that ;) I didn&#39;t just unplug a box... I waited until it expired in just 300 seconds, then unplugged it, then took a break -- when I came back, I saw it was no longer in the reg list but there was no event that was caught.</div>









<div><br></div><div>-Avi<br><br><div class="gmail_quote">On Fri, Mar 1, 2013 at 3:08 AM, Michael Collins <span dir="ltr">&lt;<a href="mailto:msc@freeswitch.org" target="_blank">msc@freeswitch.org</a>&gt;</span> wrote:<br>









<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Avi,<br><br>Thanks for digging into this. I suspect that it is really a thankless task. First thing I&#39;d suggest is that you get FS running on a laptop or some old sandbox system and put just a single phone on it so that you can more easily focus on the relevant events. Second, if you just unplug a phone then there&#39;s no way it can send an &quot;unregister&quot; REGISTER message. (I believe that an &quot;unregister&quot; is really just a REGISTER with expires time of zero.) <br>










<br>I would have suspected that mark-dead-on-options-fail would have kicked in when the unplugged phone didn&#39;t respond. Without the detailed event logs it will be difficult to see what&#39;s going on, hence the recommendation for a simple test server. <br>










<br>If anyone else has been through this exercise we&#39;d appreciate hearing from them.<br></blockquote></div></div></div></blockquote></div><br></div></div></div></blockquote></div></div></div></blockquote></div></div>

</div></div></blockquote></div></div></div></blockquote></div><br></div></div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div></div>