I am having issues with LCR failure route. I have two gateways specified in LCR table, if I change the address of the gateway with highest priority to a bogus IP, the failure route never seems to takes place and call is never routed to second gateway.
Also, I have tested successful calls to both gateways by switching the priorities around.
Here is what I receive after the first gateway times out:
U kamailio:5060 -> asterisk:5060
SIP/2.0 408 Request Timeout.
Via: SIP/2.0/UDP asterisk:5060;branch=z9hG4bK633b44d8;rport=5060.
From: "user" <sip:user@asterisk>;tag=as67c0037f.
To: <sip:dialednumber@domain>;tag=d7177f97ed67076dddc3163c85ab0656-f2e5.
Call-ID: 248d69ed6495d0a65315458e2ba6c528@asterisk:5060.
CSeq: 102 INVITE.
Server: SIP Proxy.
Content-Length: 0.
Config:
modparam("tm", "fr_timer", 10000)
modparam("tm", "fr_inv_timer", 120000)
modparam("lcr", "db_url", DBURL)
modparam("lcr", "gw_uri_avp", "$avp(i:709)")
modparam("lcr", "ruri_user_avp", "$avp(i:500)")
modparam("lcr", "flags_avp", "$avp(i:712)")
modparam("lcr", "lcr_id_avp", "$avp(s:lcr_id_avp)")
route[LCR] {
if (!load_gws(1)) {
sl_send_reply("503", "Internal Server Error, Unable to load gateways");
exit;
} else {
if (next_gw()) {
t_on_failure("LCR_FAIL");
route(RELAY);
} else {
sl_send_reply("503", "Service Unavailable, No available gateways");
exit;
};
};
exit;
}
failure_route[LCR_FAIL] {
if (next_gw()) {
t_on_failure("LCR_FAIL");
route(RELAY);
} else {
t_reply("503", "Service Unavailable, No gateways");
exit;
};
exit;
}