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; }; }
The problem is that the BYE request will be handled by your LCR logic. The BYE request should be route in the loose_route block as it is an in-dialog request. Maybe the BYE sent from the gateway is not correct. Please post a ngrep dump (ngrep -t -W byline port 5060)
regards klaus
Pepe wrote:
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; }; }/
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users