<br><br><div class="gmail_quote">On Wed, Apr 21, 2010 at 2:36 AM, Bogdan-Andrei Iancu <span dir="ltr"><<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Jock McKechnie wrote:<br>
><br>
><br>
> On Tue, Apr 20, 2010 at 4:07 AM, Bogdan-Andrei Iancu<br>
</div><div class="im">> <<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> <mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>>> wrote:<br>
><br>
> Hi Jock,<br>
><br>
> Jock McKechnie wrote:<br>
> ><br>
> ><br>
> > On Fri, Apr 16, 2010 at 5:48 AM, Bogdan-Andrei Iancu<br>
> > <<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> <mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>><br>
</div>> <mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> <mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>>>><br>
<div><div></div><div class="h5">> wrote:<br>
> ><br>
> > Hi Jock,<br>
> ><br>
> > ok, while investigating, I found a small harmless bug in the<br>
> > ds_next_xxxx() functions - they were trying to populate the<br>
> ATTR avp<br>
> > even if it was not set - this was the reason for the err<br>
> message you<br>
> > were getting.<br>
> ><br>
> > The bug was fixed, so if you update from SVN it should go away.<br>
> ><br>
> ><br>
> > That's great, Bogdan - however I'm guessing this doesn't help the<br>
> > ds_select_domain()'s inability to avoid marked entries.<br>
> ><br>
> > Any thoughts on that one? :/<br>
> ><br>
> First, are you sure your destination is in inactive state - please<br>
> check<br>
> via MI with "opensipsctl fifo ds_list" to see the "I" or "P" state for<br>
> the destination.<br>
><br>
><br>
> Argh, no, the state remains "A". I -am- running the ds_mark_dst("p"),<br>
> and it isn't returning an error:<br>
><br>
> if( t_check_status("408") ){<br>
> xlog( "L_NOTICE", "[$Tf] FR: $ci -- TIMEOUT for<br>
> Gateway $rd (marking as bad)\n" );<br>
> if (!ds_mark_dst("p")) {<br>
> xlog("L_NOTICE", "[$Tf] Panic! Not marked\n");<br>
> }<br>
> }<br>
><br>
> It correctly logs "marking as bad", so it is falling into the right if<br>
> {} block, but apparently, isn't working.<br>
><br>
> I've done a bit more digging:<br>
> I changed the "p" to a "i", and it correctly marks it as "Inactive".<br>
> I enabled full debugging (level 4), set it back to "p" and restarted,<br>
> and then ran the call again. I see this in the logs:<br>
> DBG:dispatcher:ds_mark_dst: mode [2] grp [1101] dst<br>
</div></div>> [sip:<a href="http://192.168.0.20:5060" target="_blank">192.168.0.20:5060</a> <<a href="http://192.168.0.20:5060" target="_blank">http://192.168.0.20:5060</a>>]<br>
<div class="im">> I then searched for the phrase "probing set", which is what<br>
> dispatch.c's ds_check_timer() spits out when it attempts to check,<br>
> with no hits matching the probing message, so I also know that it<br>
> isn't somehow probing and deciding it is working between when it is<br>
> marked as "to probe" and when I run the opensipsctl 'ds_list' request.<br>
> This would suggest that ds_mark_dst() and/or ds_set_state() aren't<br>
> functioning correctly.<br>
><br>
> I've read through the ds_mark_dst, ds_set_state() and I'm just not<br>
> seeing why this isn't being set - not that I'm a particularly great C<br>
> coder, but I know enough to be able to read it fairly well.<br>
><br>
> I'm just not sure. Thanks, Bogdan, I appreciate your continued help.<br>
</div>The problem seams to be related to the "ds_probing_threshhold" parameter<br>
which you set to 3 - this means the you need to report 3 consecutive<br>
times a failure in order to disable the destination - see the docs on<br>
this param.<br>
<br>
So, if you want to have the destination disabled on the first failure,<br>
set the "ds_probing_threshhold" param to 1.<br><br></blockquote><div><br></div><div>How exceedingly embarrassing.</div><div><br></div><div>I shall now slink into the corner, as it works precisely as the documentation and my configuration has defined. Thank you for hitting me with the Clue-by-Four, Bogdan.</div>
<div><br></div><div> - Jock </div></div><br>