<br><br><div class="gmail_quote">On Thu, Apr 15, 2010 at 8:41 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="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Jock McKechnie wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Apr 13, 2010 at 5:04 AM, Bogdan-Andrei Iancu<br>
</div><div class="im">&gt; &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Hi Jock,<br>
&gt;<br>
&gt;     Jock McKechnie wrote:<br>
&gt;     &gt;<br>
&gt;     &gt; On Mon, Apr 12, 2010 at 10:48 AM, Bogdan-Andrei Iancu<br>
&gt;     &gt; &lt;<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;<br>
</div>&gt;     &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a> &lt;mailto:<a href="mailto:bogdan@voice-system.ro">bogdan@voice-system.ro</a>&gt;&gt;&gt;<br>
<div><div></div><div class="h5">&gt;     wrote:<br>
&gt;     &gt;<br>
&gt;     &gt;     Hi Jock,<br>
&gt;     &gt;     &gt; I&#39;m wondering if the above error is some kind of AVP<br>
&gt;     storage thing I<br>
&gt;     &gt;     &gt; haven&#39;t set up that is causing it not to properly &quot;mark&quot; the<br>
&gt;     &gt;     gateway,<br>
&gt;     &gt;     &gt; or more likely, not remember the mark. But I can&#39;t spot<br>
&gt;     anything in<br>
&gt;     &gt;     &gt; the dispatcher documentation that says as such.<br>
&gt;     &gt;     your guess is right - dispatcher module uses AVPs to keep<br>
&gt;     the state<br>
&gt;     &gt;     (between sequential tries on the same dialog).<br>
&gt;     &gt;<br>
&gt;     &gt;     I guess the ds_mark_dst() fails - can you check this?<br>
&gt;     (this function<br>
&gt;     &gt;     search for the dst and grp avps to identify the last tried<br>
&gt;     &gt;     destination.).<br>
&gt;     &gt;<br>
&gt;     &gt; Greetings Bogdan, and thanks as always;<br>
&gt;     &gt;<br>
&gt;     &gt; I tried this:<br>
&gt;     &gt;         if( t_check_status(&quot;408&quot;) ){<br>
&gt;     &gt;                 xlog( &quot;L_NOTICE&quot;, &quot;[$Tf] FR: $ci -- TIMEOUT for<br>
&gt;     &gt; Gateway $rd (marking as bad)\n&quot; );<br>
&gt;     &gt;                 if (!ds_mark_dst(&quot;p&quot;)) {<br>
&gt;     &gt;                         xlog(&quot;L_NOTICE&quot;, &quot;[$Tf] Panic! Not<br>
&gt;     marked\n&quot;);<br>
&gt;     &gt;                         }<br>
&gt;     &gt;                 }<br>
&gt;     &gt;<br>
&gt;     &gt; No &#39;Panic&#39; in the logs.<br>
&gt;     &gt;<br>
&gt;     &gt; The dst and grp AVPs are set up, as you saw on my original post,<br>
&gt;     &gt; but... that doesn&#39;t mean I&#39;m not missing anything.<br>
&gt;     &gt;<br>
&gt;     So, ds_mark does not fail .....<br>
&gt;<br>
&gt;     Are you 100% sure your script does define the &quot;cnt&quot; &quot;grp&quot; &quot;dst&quot; avp<br>
&gt;     params for the dispatcher module ????<br>
&gt;<br>
&gt; Unless somehow I&#39;m doing it wrong, pretty sure:<br>
&gt;<br>
&gt; # Set up the dispatcher<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;db_url&quot;,<br>
&gt; &quot;mysql://<a href="http://openser:password@192.168.0.20/company" target="_blank">openser:password@192.168.0.20/company</a><br>
</div></div>&gt; &lt;<a href="http://openser:password@192.168.0.20/company" target="_blank">http://openser:password@192.168.0.20/company</a>&gt;&quot;)<br>
<div class="im">&gt; modparam(&quot;dispatcher&quot;, &quot;table_name&quot;, &quot;dispatcher&quot;)<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;flags&quot;, 2 )<br>
&gt;<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;dst_avp&quot;, &quot;$avp(i:271)&quot;)<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;grp_avp&quot;, &quot;$avp(i:272)&quot;)<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;cnt_avp&quot;, &quot;$avp(i:273)&quot;)<br>
&gt;<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;ds_ping_method&quot;, &quot;OPTIONS&quot;)<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;ds_ping_interval&quot;, 5)<br>
&gt; modparam(&quot;dispatcher&quot;, &quot;ds_ping_from&quot;, &quot;<a href="mailto:sip%3A%2B14109999351@192.168.0.2">sip:+14109999351@192.168.0.2</a><br>
</div>&gt; &lt;mailto:<a href="mailto:sip%253A%252B14109999351@192.168.0.2">sip%3A%2B14109999351@192.168.0.2</a>&gt;&quot;)<br>
<div class="im">&gt; modparam(&quot;dispatcher&quot;, &quot;ds_probing_threshhold&quot;, 3)<br>
&gt;<br>
&gt; As far as I can tell from the documentation and other people&#39;s<br>
&gt; examples, this should be all that is required to make this function...<br>
&gt;<br>
</div>Could you check and be sure the error:<br>
<div class="im"><br>
        ERROR:core:search_first_avp: 0 ID or NULL NAME AVP!<br>
<br>
</div>comes from the ds_mark_dst() ? - put some logs before and after it. Also eabling full debug (level 4) may also help.<br><br></blockquote><div><br></div><div>My apologies, Bogdan, I should have done this better myself. I have traced the error to the ds_next_domain():</div>
<div><br></div><div>Config section from inside failure_route[]:</div><div><br></div><div>xlog(&quot;L_NOTICE&quot;, &quot;[$Tf] HEREA\n&quot;);</div><div>if (ds_next_domain()) {</div><div>        xlog(&quot;L_NOTICE&quot;, &quot;[$Tf] HEREB\n&quot;);</div>
<div>        .</div><div>        .</div><div><br></div><div>The logs contain:</div></div><div><div>[Thu Apr 15 11:23:06 2010] HEREA</div><div>ERROR:core:search_first_avp: 0 ID or NULL NAME AVP!</div><div>DBG:dispatcher:ds_next_dst: using [sip:<a href="http://192.168.0.20:5060">192.168.0.20:5060</a>]</div>
<div>[Thu Apr 15 11:23:06 2010] HEREB</div></div><div><br></div><div><br></div><div>So clearly the ds_next_domain() is producing it. However the function -is- returning the correct next entry in the dispatcher list, which is bizarre. I&#39;m not sure, now, how this related to ds_select_domain() incorrectly choosing &quot;marked&quot; entries, alas.</div>
<div><br></div><div>Cheers;</div><div><br></div><div>  - Jock</div>