Hello.
I'm facing a problem with the carrierroute module (openser version 1.3.2). i hope that someone could help me.
I have two gateways for a particular destination. GW1and GW2 :
+----+---------+-------------+--------+------+-------+---------------+----------------+----------------+--------------+
| id | carrier | scan_prefix | domain | prob | strip | rewrite_host | rewrite_prefix | rewrite_suffix | comment |
+----+---------+-------------+--------+------+-------+---------------+----------------+----------------+--------------+
| 1 | 0 | 200 | 0 | 0.3 | 0 | GW1.IP | | | op 1 |
| 2 | 0 | 200 | 0 | 0.3 | 0 | GW2.IP | | | op 2 |
| 3 | 1 | 200 | 1 | 1 | 0 | GW3.IP | | | op 3 |
+----+---------+-------------+--------+------+-------+---------------+----------------+----------------+--------------+
Let's say, for example, that GW1 is down (offline). Is possible via the carrierroute module try with the other gateway (GW2) before sending the call to the failure_route?.
My configuration file is very similar to the example in the docs.
route[2] {
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[5] {
# CARRIER ROUTE MODULE HANDLING.
# route calls based on hash over callid
# choose route domain 0 of the default carrier
if(!cr_rewrite_uri("0", "call_id")){
sl_send_reply("403", "Not allowed - CR");
} else {
# In case of failure, re-route the request
t_on_failure("2");
# Relay the request to the gateway
route(2);
}
}
failure_route[2] {
# In case of failure, send it to an alternative route:
if (t_check_status("408|5[0-9][0-9]")) {
#choose route domain 1 of the default carrier
if(!cr_rewrite_uri("1", "call_id")){
t_reply("403", "Not allowed");
} else {
route(2);
}
}
}
How can i address this issue?
Thanks,
Regards,
Ricardo Martinez.-