<div>Hopefully my last question:<br></div><div><br></div><div>Using append_branch() and $branch allows me to add all destinations as branches with q-values. However, I am unable to remove/edit the initial entry in $ds as set by do_routing():</div>
<div><br></div><div>Contact: <strong><font color="#ff0000"><a href="mailto:sip%3A15552345678@1.1.1.1">sip:15552345678@1.1.1.1</a>, </font></strong>&lt;<a href="mailto:sip%3A15552345678@1.1.1.1">sip:15552345678@1.1.1.1</a>&gt;;q=1, &lt;<a href="mailto:sip%3A2215552345678@2.2.2.2">sip:2215552345678@2.2.2.2</a>&gt;;q=0.9, &lt;<a href="mailto:sip%3A5552345678@3.3.3.3">sip:5552345678@3.3.3.3</a>&gt;;q=0.85, &lt;<a href="mailto:sip%3A15552345678@5.5.5.5">sip:15552345678@5.5.5.5</a>&gt;;q=0.8, &lt;<a href="mailto:sip%3Asip%3A4415552345678@4.4.4.4">sip:sip:4415552345678@4.4.4.4</a>&gt;;q=0.75</div>
<div><br></div><div>Is there a way to prevent do_routing from adding that entry and/or remove it after it has been added? OR is there a way to add a q-value to that instance?</div><div><br></div><div>Thanks,</div><div>Ryan</div>
<br><div class="gmail_quote">On Tue, Mar 29, 2011 at 10:51 AM, thrillerbee <span dir="ltr">&lt;<a href="mailto:thrillerbee@gmail.com">thrillerbee@gmail.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>Bogdan,<br></div><div><br></div><div>Nevermind on that issue; I neglected to notice that I had to create the branch with append_branch() before setting anything.</div><div><br></div><div>Thanks for the help.</div><div>

Ryan</div><div><div class="h5"><div><br></div><br><div class="gmail_quote">On Tue, Mar 29, 2011 at 9:52 AM, thrillerbee <span dir="ltr">&lt;<a href="mailto:thrillerbee@gmail.com" target="_blank">thrillerbee@gmail.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>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><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" target="_blank">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>
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>
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>
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>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br>