Hello,
 
    Im configuring Openser with LCR module and Im having an extrange behavior, I have 2 gateways, GW1(preference1) and GW2(preference2),
 
                                                 GW1(pref.1)
                                            /                        \
            ClientA --> OpenSer                               --> Client B
                                            \   GW2 (pref.2)  /          
 
 
When I call from Client A to Client B using GW1, all works fine, its the same when hang up Client B or Client A, but when GW1 fail(I provoke it changing codec) and use failure route (GW 2) then  if Client A hang up all works fine, but the problem is when is Client B who hang up, its like a new conversation, GW 2 send BYE to openser and Openser just send "503 Service Not avilable - No gateways" to GW2, but doesnt send nothing to ClientA, any idea ????
 
 
Thx in advance
 
 
 
 
 
 
 
this is my basic configuration( I have attached full config file):
 

route{
 
 if (!method=="REGISTER") {
  record_route();
 };
 
 if (loose_route()) {
  append_hf("P-hint: rr-enforced\r\n");
  route(1);
 };
 
 if (!uri==myself) {
  append_hf("P-hint: outbound\r\n");
  route(1);
 };
 

 if (uri==myself) {
  
  if (method=="REGISTER") {
   save("location");
   exit;
  };
 

    if (method=="INVITE") {
                   if (!lookup("location")) {
                         if (!load_gws()) {
                                 sl_send_reply("500", "Server Internal Error - Cannot load gateways");
                                 return;
                         };                  
                 };
  
    if (!next_gw()) {
           sl_send_reply("503", "Service not available - No gateways");
                  return;
          };
  
   
  };
  };
 };
 
 t_on_failure("1");
 route(1);
}
 

route[1] {
 

 if (!t_relay()) {
  sl_send_reply("666","t_relay fallido");
  return;
 };
 
 exit;
}
 

failure_route[1] {
 
 if (!next_gw()) {
         t_reply("503", "Service not available - No gateways 1");
         return;
        };
 
 if (!t_relay()) {
  t_reply("666","t_relay fallido");
  return;
 };
}