Hi All,
 
Could someone tell me how to config openser 1.3.x route to support PRACK?
I had installed openser 1.3.x and didn't change any route configuration.
My scenario is:
 
A                                    openser                                        B
 |    --> INVITE (with 100rel) ->  |   --> INVITE (with 100rel) -->   |
 |                                           |                                             |
 |               <--183 <--              |           <--  183  <--                 |
|
|           -->  PRACK -->           |   
 
|      <-- 404 Not here <---         |
 
For the default the openser reply the "404 Not here" to A. I found the '404' was replied here:
 
if (has_totag()) {
  # sequential request withing a dialog should
  # take the path determined by record-routing
  if (loose_route()) {
   if (is_method("BYE")) {
    setflag(1); # do accouting ...
    setflag(3); # ... even if the transaction fails
   }
   route(1);
  } else {
    /* !loose_route */
   /* uncomment the following lines if you want to enable presence */
   ##if (is_method("SUBSCRIBE") && $rd == "your.server.ip.address") {
   ## # in-dialog subscribe requests
   ## route(2);
   ## exit;
   ##}
   if ( is_method("ACK") ) {
    if ( t_check_trans() ) {
     # non loose-route, but stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream server
     t_relay();
     exit;
    } else {
     # ACK without matching transaction ... ignore and discard.\n");
     exit;
    }
   
  ##  These code will cause openser reply 483 response to PRACK
   if ( is_method("PRACK") ) {
    t_relay();
    exit;
   } 

   }   
   ## Here reply me the 404
   sl_send_reply("404","Not here");
  }
  exit;
 }
 
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.
Does anyone can help me?
 
Best regards,
Steven Wu