<div>Bogdan,<br></div><div><br></div><div>When I configure:</div><div>                <font face="courier new,monospace">$(branch(uri)[0]) = $ru;
                </font></div><div><font face="courier new,monospace">$(branch(q)[0]) = 100;
                </font></div><div><font face="courier new,monospace">xlog(&quot;L_INFO&quot;,&quot;branch 0 = $(branch(uri)[0]) with q-value $(branch(q)[0])\n&quot;);</font></div><div><br></div><div>I get this debug:</div>
<div><font face="courier new,monospace">ERROR:core:pv_set_branch_fields: SCRIPT BUG - inexisting branch assigment [0/0]</font></div><div><font face="courier new,monospace">ERROR:core:do_assign: setting PV failed
</font></div><div><font face="courier new,monospace">ERROR:core:do_assign: error at line: 163
</font></div><div><font face="courier new,monospace">ERROR:core:pv_set_branch_fields: SCRIPT BUG - inexisting branch assigment [0/0]
</font></div><div><font face="courier new,monospace">ERROR:core:do_assign: setting PV failed
</font></div><div><font face="courier new,monospace">ERROR:core:do_assign: error at line: 164
</font></div><div><font face="courier new,monospace">branch 0 = </font><font face="courier new,monospace">&lt;null&gt; with q-value &lt;null&gt;</font> </div><div><br></div><div>Thanks,</div><div>Ryan</div><div><br></div>
<br><div class="gmail_quote">On Tue, Mar 29, 2011 at 8:19 AM, Bogdan-Andrei Iancu <span dir="ltr">&lt;<a href="mailto:bogdan@opensips.org">bogdan@opensips.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi,<br>
<br>
Another tricks:<br>
<br>
1) you can read the pending destinations directly from AVPs, without calling the &quot;use_next_gw()&quot; function. See:<br>
   <a href="http://www.opensips.org/html/docs/modules/1.6.x/drouting.html#id293166" target="_blank">http://www.opensips.org/html/docs/modules/1.6.x/drouting.html#id293166</a><br>
<br>
2) as append_branch() does not accept variables as params, use the &quot;$branch&quot; variable to write into:<br>
   <a href="http://www.opensips.org/Resources/DocsCoreVar16#toc15" target="_blank">http://www.opensips.org/Resources/DocsCoreVar16#toc15</a><br>
   like:<br>
      $branch = $var(x) ; #add a new SIP URI as extra branch<br>
      $(branch(q)[-1])  =  10 ;  # set Q val for the last added brach<br>
<br>
<br>
Regards,<br>
Bogdan<br>
<br>
<br>
Anca Vamanu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Hi thrillerbe,<br>
<br>
I think that if you only want to build the list of selected destinations, you can just call use_next_gw and add the uri in RURI to a destination string ( because use_next_gw sets the RURI to the destination- <a href="http://www.opensips.org/html/docs/modules/devel/drouting.html#id251519" target="_blank">http://www.opensips.org/html/docs/modules/devel/drouting.html#id251519</a>).<br>

It would be something like this:<br>
<br>
if (do_routing(&quot;1&quot;,&quot;2&quot;)) {     if ($avp(s:dr_rules_attrs) == &quot;2&quot;)<br>
    {<br>
        xlog(&quot;L_INFO&quot;,&quot;After 1, ds is $ru\n&quot;);          $var(x) = 2;<br>
        $var(ds) = $ru;<br>
<br>
        while (use_next_gw())          {              $var(ds) = $var(ds) + &quot;,&quot; + $ru;<br>
            xlog(&quot;L_INFO&quot;,&quot;After $var(x), ds is $var(ds)\n&quot;);               $var(x) = $var(x) + 1;          }      }      xlog(&quot;L_INFO&quot;,&quot;Destination set is $var(ds)\n&quot;); }<br>
<br>
<br>
Regards,<br>
-- <br>
Anca Vamanu<br>
OpenSIPS Developer<br>
<br>
<br>
On 03/29/2011 01:00 AM, thrillerbee wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
I&#39;m trying to get OpenSIPS to act as a REDIRECT server and have run into a couple issues. I&#39;m using the drouting module to do lookups. Essentially, a dialed number could have potentially several routes, I want to return a 300 with these routes in the Contact header. Please tell me if this is foolish and/or there are better methods.<br>

<br>
I&#39;m running release version 1.6.4-2-notls.<br>
<br>
With that, I&#39;ve configured the following in my script:<br>
if (do_routing(&quot;1&quot;,&quot;2&quot;))     {      if ($avp(s:dr_rules_attrs) == &quot;2&quot;)<br>
    {<br>
        xlog(&quot;L_INFO&quot;,&quot;After 1, ds is $ds\n&quot;);          $var(x) = 2;<br>
        while (use_next_gw())          {              append_branch();<br>
            xlog(&quot;L_INFO&quot;,&quot;After $var(x), ds is $ds\n&quot;);               $var(x) = $var(x) + 1;          }      }      xlog(&quot;L_INFO&quot;,&quot;Destination set is $ds\n&quot;); }<br>
<br>
My relevant debug output is:<br></div>
After 1, ds is Contact: <a href="mailto:sip%3A15552345678@1.1.1.1" target="_blank">sip:15552345678@1.1.1.1</a> &lt;mailto:<a href="mailto:sip%253A15552345678@1.1.1.1" target="_blank">sip%3A15552345678@1.1.1.1</a>&gt; After 2, ds is Contact: *<a href="mailto:sip%3A2215552345678@2.2.2.2" target="_blank">sip:2215552345678@2.2.2.2</a> &lt;mailto:<a href="mailto:sip%253A2215552345678@2.2.2.2" target="_blank">sip%3A2215552345678@2.2.2.2</a>&gt;, <a href="mailto:sip%3A2215552345678@2.2.2.2" target="_blank">sip:2215552345678@2.2.2.2</a> &lt;mailto:<a href="mailto:sip%253A2215552345678@2.2.2.2" target="_blank">sip%3A2215552345678@2.2.2.2</a>&gt;* After 3, ds is Contact: *<a href="mailto:sip%3A5552345678@3.3.3.3" target="_blank">sip:5552345678@3.3.3.3</a> &lt;mailto:<a href="mailto:sip%253A5552345678@3.3.3.3" target="_blank">sip%3A5552345678@3.3.3.3</a>&gt;*, <a href="mailto:sip%3A2215552345678@2.2.2.2" target="_blank">sip:2215552345678@2.2.2.2</a> &lt;mailto:<a href="mailto:sip%253A2215552345678@2.2.2.2" target="_blank">sip%3A2215552345678@2.2.2.2</a>&gt;, *<a href="mailto:sip%3A5552345678@3.3.3.3" target="_blank">sip:5552345678@3.3.3.3</a> &lt;mailto:<a href="mailto:sip%253A5552345678@3.3.3.3" target="_blank">sip%3A5552345678@3.3.3.3</a>&gt;* After 4, ds is Contact: *<a href="mailto:sip%3A15552345678@5.5.5.5" target="_blank">sip:15552345678@5.5.5.5</a> &lt;mailto:<a href="mailto:sip%253A15552345678@5.5.5.5" target="_blank">sip%3A15552345678@5.5.5.5</a>&gt;*, <a href="mailto:sip%3A2215552345678@2.2.2.2" target="_blank">sip:2215552345678@2.2.2.2</a> &lt;mailto:<a href="mailto:sip%253A2215552345678@2.2.2.2" target="_blank">sip%3A2215552345678@2.2.2.2</a>&gt;, <a href="mailto:sip%3A5552345678@3.3.3.3" target="_blank">sip:5552345678@3.3.3.3</a> &lt;mailto:<a href="mailto:sip%253A5552345678@3.3.3.3" target="_blank">sip%3A5552345678@3.3.3.3</a>&gt;, *<a href="mailto:sip%3A15552345678@5.5.5.5" target="_blank">sip:15552345678@5.5.5.5</a> &lt;mailto:<a href="mailto:sip%253A15552345678@5.5.5.5" target="_blank">sip%3A15552345678@5.5.5.5</a>&gt;* After 5, ds is Contact: *<a href="mailto:sip%3A4415552345678@4.4.4.4" target="_blank">sip:4415552345678@4.4.4.4</a> &lt;mailto:<a href="mailto:sip%253A4415552345678@4.4.4.4" target="_blank">sip%3A4415552345678@4.4.4.4</a>&gt;*, <a href="mailto:sip%3A2215552345678@2.2.2.2" target="_blank">sip:2215552345678@2.2.2.2</a> &lt;mailto:<a href="mailto:sip%253A2215552345678@2.2.2.2" target="_blank">sip%3A2215552345678@2.2.2.2</a>&gt;, <a href="mailto:sip%3A5552345678@3.3.3.3" target="_blank">sip:5552345678@3.3.3.3</a> &lt;mailto:<a href="mailto:sip%253A5552345678@3.3.3.3" target="_blank">sip%3A5552345678@3.3.3.3</a>&gt;, <a href="mailto:sip%3A15552345678@5.5.5.5" target="_blank">sip:15552345678@5.5.5.5</a> &lt;mailto:<a href="mailto:sip%253A15552345678@5.5.5.5" target="_blank">sip%3A15552345678@5.5.5.5</a>&gt;, *<a href="mailto:sip%3A4415552345678@4.4.4.4" target="_blank">sip:4415552345678@4.4.4.4</a> &lt;mailto:<a href="mailto:sip%253A4415552345678@4.4.4.4" target="_blank">sip%3A4415552345678@4.4.4.4</a>&gt;* <br>
<div class="im">
It seems that append_branch() deletes the first entry in the destination set before adding the current RURI to the beginning and end. Is there an easier or more predictable way to write to the destination set?<br>
<br>
Also, it seems the append_branch() function will not take variables or avps as parameters. Is there a known way of setting different q-values as a destination set is generated?  The below obviously doesn&#39;t work but should explain what I&#39;m looking for:<br>

<br>
var(q) = 90;<br>
while (use_next_branch())<br>
{<br>
    append_branch(&quot;$ru&quot;,&quot;$var(q)&quot;);<br>
    $var(q) = $var(q) - 10;<br>
}<br>
<br>
Thanks,<br>
Ryan<br>
<br>
</div></blockquote>
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">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>
  <br>
</blockquote>
<br>
<br>
-- <br>
Bogdan-Andrei Iancu<br>
OpenSIPS eBootcamp - 2nd of May 2011<br>
OpenSIPS solutions and &quot;know-how&quot;<br>
<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org" target="_blank">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>
</blockquote></div><br>