[OpenSIPS-Users] Drouting failover by carrier only
Alex A
alex.a at gtanetworkconsulting.com
Thu Apr 30 11:01:42 EST 2020
Hi Bogdan,
Will "use only the first gateway from the carrier" allow for round-robin for the regular calls (ie. does it choose the first gw randomly ) ?
Thank you.
Alex
---- On Thu, 30 Apr 2020 03:40:21 -0400 Bogdan-Andrei Iancu <mailto:bogdan at opensips.org> wrote ----
Hi Alex,
Have you tried the "use only the first GW" flag in the carrier
definition? See https://opensips.org/html/docs/modules/3.0.x/drouting.html#idp25339408,
"Carriers" subsection:
flags : 0x1 - use weight for sorting the list and not
definition order; 0x2 - use only the first gateway from the
carrier (depending on the sorting); 0x4 - disable the usage of
this carrier
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
https://www.opensips-solutions.com
On 4/29/20 9:38 PM, Alex A wrote:
Hi Everyone,
Is it possible to failover to next carrier (instead next
gateway) while using drouting?
I got the below to work; however currently, use_next_gw
gets the next gateway in the list, so
if gwlist= #0,#3
and one of the carriers has multiple gateway IPs, the retry
happens many times to the same carrier:
route[droute] {
xlog("DRoute GATEWAY: source:$si - $fU ->
$rU\n");
if (!do_routing(0,"F")) {
xlog("DRoute GATEWAY: Failed. source:$si
-$fU -> $rU\n");
send_reply(500, "No Gateway to Route
found");
exit;
}
route(relay);
exit;
}
route[relay] {
if (is_method("INVITE")) {
t_on_failure("missed_call");
}
if (!t_relay()) {
if (use_next_gw()) {
xlog("L_INFO","Next Gateway:
From=$fu, To=$tu,RU=$ru, CI=$ci IP=$si\n");
t_on_failure("missed_call");
route(relay);
exit;
}
else {
send_reply(503, "Service not
available, no more gws");
exit;
}
};
exit;
}
failure_route[missed_call] {
#if (use_next_gw(, , $var(carrier_attrs)))
{
if (use_next_gw(,
$avp(gw_id),$avp(carrier_id))) {
xlog("MissedCall--Next Gateway:
From=$fu, To=$tu,RU=$ru, CI=$ci IP=$si\n");
xlog("Carrier attributes of current
gateway: $avp(gw_id). carrier: $avp(carrier_id)\n");
t_on_failure("missed_call");
route(relay);
exit;
}
else {
send_reply(503, "Service not
available, no more gws");
exit;
}
Thank you.
_______________________________________________
Users mailing list
mailto:Users at lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20200430/54f7bec1/attachment-0001.html>
More information about the Users
mailing list