<div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Gomtesh Jain</b> <span dir="ltr"><<a href="mailto:gomtesh@gmail.com">gomtesh@gmail.com</a>></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 "path" (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 "Faiure Route"</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("L_NOTICE", "SERIALIZE BRANCHES ($rm) r-uri ($ru) : Contact : $ct :callID $ci : CSeq $cs \n");</div><div> if (!serialize_branches(1)){</div>
<div> sl_send_reply("500","Unable to load contacts");</div><div> exit;</div><div> }else{</div><div> xlog("L_NOTICE", "PREPARE FIRST BRANCH ($rm) r-uri ($ru) : Contact : $ct :callID $ci : CSeq $cs \n");</div>
<div> if (next_branches()){</div><div> xlog("L_NOTICE", "NEXT BRANCH After Seri :callID $ci : CSeq $cs \n");</div><div> t_on_failure("1");</div>
<div> }</div><div> #else{</div><div> # sl_send_reply("504","Not found ");</div><div> # exit;</div>
<div> #}</div><div> }</div><div> append_hf("P-hint: lcr applied\r\n");</div><div><br></div><div> }else{</div><div> append_hf("P-hint: usrloc applied\r\n");</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("7")) {</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("L_NOTICE", " IN ROUTE BLOCK method ($rm) r-uri ($rs) :callID $ci \n");</div>
<div> if (!t_relay()) {</div><div> sl_reply_error();</div><div> };</div><div> t_on_reply("1");</div><div> exit;</div><div>}</div><div><br></div><div>onreply_route[1]{</div>
<div> xlog("L_NOTICE", " ON REPLY BLOCK method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n");</div><div>}</div><div><br></div><div><br></div><div><br></div><div>failure_route[1] {</div><div> if ( t_check_status("404|477|408|486|50[234]")){</div>
<div> xlog("L_NOTICE", " ERROR RESPONSE MATCHED method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n");</div><div> if (next_branches())</div><div> {</div><div> xlog("L_NOTICE", " ON FAILURE BLOCK method ($rm) r-uri ($rs) :callID $ci :CSeq $cs \n");</div>
<div> t_on_failure("1");</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>