<HTML dir=ltr><HEAD><TITLE>Welcome to the "Users" mailing list</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText4290 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>Hi All,</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr><FONT face=Arial size=2>Could someone tell me how to config openser 1.3.x route to support PRACK?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>I had installed openser 1.3.x and didn't change any route configuration. </FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>My <FONT face="Times New Roman" size=3>scenario is:</FONT></FONT></DIV>
<DIV dir=ltr> </DIV>
<DIV dir=ltr>
<DIV><FONT face=Arial size=2>A openser B</FONT></DIV>
<DIV><FONT face=Arial size=2> | --> INVITE (with 100rel) -> | --> INVITE (with 100rel) --> |</FONT></DIV>
<DIV><FONT face=Arial size=2> | | |</FONT></DIV>
<DIV><FONT face=Arial size=2> | <--183 <-- | <-- 183 <-- |</FONT></DIV>
<DIV><FONT face=Arial size=2>|</FONT></DIV>
<DIV><FONT face=Arial size=2>| --> PRACK --> | </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>| <-- 404 Not here <--- |</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>For the default the openser reply the "404 Not here" to A. I found the '404' was replied here:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><EM>if (has_totag()) {<BR> # sequential request withing a dialog should<BR> # take the path determined by record-routing<BR> if (loose_route()) {<BR> if (is_method("BYE")) {<BR> setflag(1); # do accouting ...<BR> setflag(3); # ... even if the transaction fails<BR> }<BR> route(1);<BR> } else {<BR> /* !loose_route */<BR> /* uncomment the following lines if you want to enable presence */<BR> ##if (is_method("SUBSCRIBE") && $rd == "your.server.ip.address") {<BR> ## # in-dialog subscribe requests<BR> ## route(2);<BR> ## exit;<BR> ##}<BR> if ( is_method("ACK") ) {<BR> if ( t_check_trans() ) {<BR> # non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream server<BR> t_relay();<BR> exit;<BR> } else {<BR> # ACK without matching transaction ... ignore and discard.\n");<BR> exit;<BR> }</EM></DIV><EM></EM></DIV>
<DIV dir=ltr><EM>
<DIV> </DIV>
<DIV> ## These code will cause openser reply 483 response to PRACK</DIV>
<DIV> <FONT color=#0000ff> if ( is_method("PRACK") ) {<BR> t_relay();<BR> exit;<BR> } </FONT></DIV>
<DIV><BR> } </DIV>
<DIV> ## Here reply me the 404<BR> <FONT color=#ff0000> sl_send_reply("404","Not here"); <BR></FONT> }<BR> exit;<BR> }</EM></DIV>
<DIV><EM></EM> </DIV>
<DIV>Than I added the green code to route the PRACK, But I received "483","Too Many Hops" from openser. And I found the Max-Forward is 70 not a wrong value.</DIV>
<DIV>Does anyone can help me?</DIV></DIV>
<DIV dir=ltr> </DIV></DIV>
<DIV id=idSignature4472 dir=ltr>
<DIV><FONT face=Arial size=2>Best regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Steven Wu</FONT></DIV></DIV>
<DIV dir=ltr> </DIV></BODY></HTML>