<div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Gomtesh Jain</b> <span dir="ltr">&lt;<a href="mailto:gomtesh@gmail.com">gomtesh@gmail.com</a>&gt;</span><br>Date: Mon, Jun 11, 2012 at 1:20 PM<br>
Subject: Value of PATH is not being used in next_branches() in Faliure Route<br>To: <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br><br><br>Hi ,<div>   I am using opensips 1.6 . I am facing an issue here . It seems In faliure route when I do next_branches() it does not set value of &quot;path&quot; (from lookup) as distination/route . Which results , opensips try to send message directly to UA . </div>

<div>  </div><div>Here I give N/w diagram </div><div><br></div><div>  UA1(115.X.X.X)-------[PROXY]--------|                                   |</div><div>                                                          | Registrar/Opensips   |</div>

<div>  UA2 (122.x.x.x)--------[PROXY]-------|                                   |</div><div><br></div><div><br></div><div>The issue I am facing is ...</div><div>1. On any INVITE to Opensips after lookup Opensips sends invite to Proxy </div>

<div>2. On any faliure response in &quot;Faiure Route&quot;</div><div>3. When I do next_branches() it tries to send INVITE directly to 122.X.X.X .</div><div><br></div><div>-----------------HERE I GIVE PIECE OF Opnesips.cfg--------------------</div>

<div><br></div><div><br></div><div><div>       xlog(&quot;L_NOTICE&quot;, &quot;SERIALIZE BRANCHES ($rm) r-uri ($ru) : Contact : $ct  :callID $ci : CSeq $cs \n&quot;);</div><div>                        if (!serialize_branches(1)){</div>

<div>                                sl_send_reply(&quot;500&quot;,&quot;Unable to load contacts&quot;);</div><div>                                exit;</div><div>                        }else{</div><div>                      xlog(&quot;L_NOTICE&quot;, &quot;PREPARE FIRST BRANCH ($rm) r-uri ($ru) : Contact : $ct  :callID $ci : CSeq $cs \n&quot;);</div>

<div>                                if (next_branches()){</div><div>                                    xlog(&quot;L_NOTICE&quot;, &quot;NEXT BRANCH After Seri :callID $ci : CSeq $cs \n&quot;);</div><div>                                        t_on_failure(&quot;1&quot;);</div>

<div>                                }</div><div>                                #else{</div><div>                                #       sl_send_reply(&quot;504&quot;,&quot;Not found &quot;);</div><div>                                #       exit;</div>

<div>                                #}</div><div>                        }</div><div>                        append_hf(&quot;P-hint: lcr applied\r\n&quot;);</div><div><br></div><div>                }else{</div><div>                        append_hf(&quot;P-hint: usrloc applied\r\n&quot;);</div>

<div>                }</div><div><br></div><div>        };</div><div><br></div><div>        route(1);</div><div>}</div></div><div><br></div><div><div>route[1] {</div><div><br></div><div><br></div><div>        if (nat_uac_test(&quot;7&quot;)) {</div>

<div>            fix_nated_contact();</div><div>        };</div><div>        # send it out now; use stateful forwarding as it works reliably</div><div>        # even for UDP2TCP</div><div>        xlog(&quot;L_NOTICE&quot;, &quot; IN ROUTE BLOCK method ($rm) r-uri ($rs) :callID $ci \n&quot;);</div>

<div>        if (!t_relay()) {</div><div>                sl_reply_error();</div><div>        };</div><div>        t_on_reply(&quot;1&quot;);</div><div>        exit;</div><div>}</div><div><br></div><div>onreply_route[1]{</div>

<div>  xlog(&quot;L_NOTICE&quot;, &quot; ON REPLY BLOCK  method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n&quot;);</div><div>}</div><div><br></div><div><br></div><div><br></div><div>failure_route[1] {</div><div>   if ( t_check_status(&quot;404|477|408|486|50[234]&quot;)){</div>

<div>                xlog(&quot;L_NOTICE&quot;, &quot; ERROR RESPONSE MATCHED  method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n&quot;);</div><div>         if (next_branches())</div><div>         {</div><div>                xlog(&quot;L_NOTICE&quot;, &quot; ON FAILURE BLOCK  method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n&quot;);</div>

<div>                t_on_failure(&quot;1&quot;);</div><div>                route(1);</div><div><br></div><div>         }</div><div><br></div><div>    }</div><div>}</div></div><div><br></div><div>-----------------------------------------------------------------------------</div>

<div><br></div><div><br></div><div>I attach the log of the call in debug=9 mode.</div><div><br></div><div><br></div><div>Please have a look at this if anyone can help me .</div><div><br></div><div>Thanx,</div><div>Gomtesh</div>

<div><br></div>
</div><br>