Compare commits

...

2 Commits

Author SHA1 Message Date
  swysor 4ba575716e drop testing 7 years ago
  swysor 815ac6b08d dropping on registrar and dispatcher kazoo query failures 7 years ago
2 changed files with 17 additions and 9 deletions
Split View
  1. +3
    -3
      kamailio/dispatcher-role.cfg
  2. +14
    -6
      kamailio/registrar-role.cfg

+ 3
- 3
kamailio/dispatcher-role.cfg View File

@ -35,7 +35,7 @@ modparam("dispatcher", "ds_ping_from", "sip:sipcheck@MY_HOSTNAME")
route[DISPATCHER_CLASSIFY_SOURCE]
{
#!import_file "dispatcher-network-classify.cfg"
if (is_myself("$ou")) {
xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources\n");
} else if (
@ -64,7 +64,7 @@ route[DISPATCHER_FIND_ROUTES]
$var(ds_primary_group) = 1;
$var(ds_backup_group) = 2;
#!ifndef PRESENCE_ROLE
if (is_method("SUBSCRIBE")) {
$var(ds_primary_group) = 10;
@ -91,7 +91,7 @@ route[DISPATCHER_FIND_ROUTES]
# we selected from primary group, try again in backup group
if (!ds_select_dst("$var(ds_backup_group)", "0") || $(avp(ds_dst)[0]) == $null) {
xlog("L_WARN", "$ci|end|no servers available in primary or backup group\n");
sl_send_reply("480", "All servers busy");
drop();
exit;
} else {
$var(ds_group) = $var(ds_backup_group);


+ 14
- 6
kamailio/registrar-role.cfg View File

@ -14,6 +14,8 @@
######## Generic Hash Table container in shared memory ########
modparam("htable", "htable", "auth_cache=>size=16;autoexpire=7200;")
######## Hash table container for handling drop_on_failure feature ######
modparam("htable", "htable", "dropped_reqs=>size=16;autoexpire=300;");
####### Authentication Interface module ##########
loadmodule "auth.so"
@ -77,6 +79,12 @@ kazoo.registrar_handle_expired_ws = REGISTRAR_HANDLE_EXPIRED_WS descr "handles e
route[HANDLE_REGISTER]
{
if (is_method("REGISTER")) {
if ($sht(dropped_reqs=>$ci)) {
xlog("L_INFO", "$ci|log|dropping failed registration, see you in 5 minutes\n");
t_release();
drop();
exit();
}
#!ifdef NAT_TRAVERSAL_ROLE
if (nat_uac_test("3")) {
@ -172,9 +180,9 @@ route[KAZOO_AUTHORIZATION]
exit();
}
if(kazoo_async_query("callmgr", $var(amqp_routing_key), $var(amqp_payload_request), "KAZOO_AUTHORIZATION_OK", "KAZOO_AUTHORIZATION_ERROR") != 1) {
xlog("L_INFO", "$ci|log|failed to send Kazoo query for authentication credentials for $Au $si:$sp\n");
append_to_reply("Retry-After: 60\r\n");
send_reply("503", "Retry Later");
xlog("L_INFO", "$ci|log|failed to send Kazoo query for authentication credentials for $Au $si:$sp - dropping request\n");
$sht(dropped_reqs=>$ci) = 1;
drop();
exit;
}
}
@ -203,9 +211,9 @@ route[KAZOO_AUTHORIZATION_OK]
route[KAZOO_AUTHORIZATION_ERROR]
{
xlog("L_INFO", "$ci|log|failed to query Kazoo for authentication credentials for $Au $si:$sp\n");
append_to_reply("Retry-After: 60\r\n");
send_reply("503", "Retry Later");
xlog("L_INFO", "$ci|log|failed to query Kazoo for authentication credentials for $Au $si:$sp - dropping request\n");
$sht(dropped_reqs=>$ci) = 1;
drop();
exit;
}


Loading…
Cancel
Save