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