<br>Hi all,<br><br>I am testing the scenario described here:   <a href="http://kb.asipto.com/asterisk:realtime:kamailio-3.1.x-asterisk-1.6.2-astdb">http://kb.asipto.com/asterisk:realtime:kamailio-3.1.x-asterisk-1.6.2-astdb</a><br>
<br>It works great with one instance of Asterisk, but now that I&#39;m testing with two Asterisk instances to load balance, and I see a problem regarding the registration forwarding to the second Asterisk.<br><br>I tried adding a second &quot;uac_req_send()&quot; bellow the first one, but Kamailio only sends the first request and the REGISTER never gets to the second Asterisk:<br>
<br><pre class="code c"><span class="co2"># Forward REGISTER to Asterisk</span>
route<span class="br0">[</span>REGFWD<span class="br0">]</span> <span class="br0">{</span>
        <span class="kw1">if</span><span class="br0">(</span><span class="sy0">!</span>is_method<span class="br0">(</span><span class="st0">&quot;REGISTER&quot;</span><span class="br0">)</span><span class="br0">)</span>
        <span class="br0">{</span>
                <span class="kw1">return</span><span class="sy0">;</span>
        <span class="br0">}</span>
        $var<span class="br0">(</span>rip<span class="br0">)</span> <span class="sy0">=</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">asterisk</span>.<span class="me1">bindip</span><span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>method<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;REGISTER&quot;</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>ruri<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">asterisk</span>.<span class="me1">bindport</span><span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>furi<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip<span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>turi<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip<span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;Contact: &lt;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span>
                                <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">kamailio</span>.<span class="me1">bindip</span><span class="br0">)</span>
                                <span class="sy0">+</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">kamailio</span>.<span class="me1">bindport</span><span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;&gt;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        <span class="kw1">if</span><span class="br0">(</span>$sel<span class="br0">(</span>contact.<span class="me1">expires</span><span class="br0">)</span> <span class="sy0">!=</span> $null<span class="br0">)</span>
                $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span> $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;Expires: &quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>contact.<span class="me1">expires</span><span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        <span class="kw1">else</span>
                $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span> $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;Expires: &quot;</span> <span class="sy0">+</span> $hdr<span class="br0">(</span>Expires<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        uac_req_send<span class="br0">(</span><span class="br0">)</span><span class="sy0">;<br><br>        $uac_req(all) = null;<br><br></span>        $var<span class="br0">(</span>rip<span class="br0">2)</span> <span class="sy0">=</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">asterisk2</span>.<span class="me1">bindip</span><span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>method<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;REGISTER&quot;</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>ruri<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip2<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">asterisk2</span>.<span class="me1">bindport</span><span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>furi<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip<span class="br0">2)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>turi<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span> <span class="sy0">+</span> $var<span class="br0">(</span>rip2<span class="br0">)</span><span class="sy0">;</span>
        $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span><span class="st0">&quot;Contact: &lt;sip:&quot;</span> <span class="sy0">+</span> $au <span class="sy0">+</span> <span class="st0">&quot;@&quot;</span>
                                <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">kamailio</span>.<span class="me1">bindip</span><span class="br0">)</span>
                                <span class="sy0">+</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>cfg_get.<span class="me1">kamailio</span>.<span class="me1">bindport</span><span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;&gt;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        <span class="kw1">if</span><span class="br0">(</span>$sel<span class="br0">(</span>contact.<span class="me1">expires</span><span class="br0">)</span> <span class="sy0">!=</span> $null<span class="br0">)</span>
                $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span> $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;Expires: &quot;</span> <span class="sy0">+</span> $sel<span class="br0">(</span>contact.<span class="me1">expires</span><span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        <span class="kw1">else</span>
                $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span><span class="sy0">=</span> $uac_req<span class="br0">(</span>hdrs<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;Expires: &quot;</span> <span class="sy0">+</span> $hdr<span class="br0">(</span>Expires<span class="br0">)</span> <span class="sy0">+</span> <span class="st0">&quot;<span class="es1">\r</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
        uac_req_send<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
<br><span class="br0">}</span></pre><br>I also tried appending another branch and sending the second  uac_req_send<span class="br0"></span>
() from there, but it is not being sent.<br><br>How can I use uac_req_send<span class="br0"></span>() several times for the same request or in parallel?<br><br><br>Thank you,<br><br clear="all">Alejandro Rios Peņa<br><br>
<font size="1"><br>DISCLAIMER: The opinions expressed are my own, and not necessarily those of my employer.</font><br><a href="http://www.avatar.com.co" target="_blank"><br></a><br>