Browse Source

presence reset handling

KAZOO-5650
lazedo 9 years ago
committed by GitHub
parent
commit
4f79e38d4d
1 changed files with 30 additions and 11 deletions
  1. +30
    -11
      kamailio/presence-reset.cfg

+ 30
- 11
kamailio/presence-reset.cfg View File

@ -11,15 +11,26 @@ route[PRESENCE_RESET_BINDINGS]
} }
route[RESET_ZONE]
route[RESET_ALL]
{ {
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for this zone\n");
sql_query("exec", "delete from presentity"); sql_query("exec", "delete from presentity");
$var(presentities) = $sqlrows(exec); $var(presentities) = $sqlrows(exec);
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|removed $var(presentities) presentities\n"); xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|removed $var(presentities) presentities\n");
} }
route[RESET_ZONE]
{
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for this zone (MY_AMQP_ZONE)\n");
route(RESET_ALL);
}
route[RESET_SERVER]
{
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for this server (MY_HOSTNAME)\n");
route(RESET_ALL);
}
route[RESET_ACCOUNT] route[RESET_ACCOUNT]
{ {
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for realm $(kzE{kz.json,Realm})\n"); xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for realm $(kzE{kz.json,Realm})\n");
@ -32,15 +43,23 @@ route[RESET_ACCOUNT]
route[RESET_WILDCARD] route[RESET_WILDCARD]
{ {
if($(kzE{kz.json,Realm}) == "*") {
if($(kzE{kz.json,Username}) == "MY_AMQP_ZONE") {
route(RESET_ZONE);
} else {
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for zone $(kzE{kz.json,Username}). 'MY_AMQP_ZONE' doesn't care\n");
}
exit();
if($(kzE{kz.json,Realm}) == "*" && $(kzE{kz.json,Username}) == "*") {
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for cluster\n");
route(RESET_ALL);
} else { } else {
route(RESET_ACCOUNT);
if($(kzE{kz.json,Realm}) == "*") {
if($(kzE{kz.json,Username}) == "MY_AMQP_ZONE") {
route(RESET_ZONE);
} else {
if($(kzE{kz.json,Username}) == "MY_HOSTNAME") {
route(RESET_SERVER);
} else {
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence wildcard reset for $(kzE{kz.json,Username}). 'MY_AMQP_ZONE/MY_HOSTNAME' doesn't care\n");
}
}
} else {
route(RESET_ACCOUNT);
}
} }
} }


Loading…
Cancel
Save