@ -20,7 +20,7 @@ modparam("presence_xml", "disable_winfo", 1)
modparam("presence_xml", "disable_bla", 1)
modparam("presence", "subs_db_mode", 3)
modparam("presence", "expires_offset", 6 0)
modparam("presence", "expires_offset", 0)
modparam("presence", "send_fast_notify", 1)
modparam("presence", "clean_period", 30)
modparam("presence", "db_update_period", 10)
@ -220,8 +220,47 @@ event_route[kazoo:consumer-event-presence-update]
}
route[RESET_ZONE]
{
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for this zone\n");
sql_query("exec", "delete from presentity");
$var(presentities) = $sqlrows(exec);
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|removed $var(presentities) presentities\n");
}
route[RESET_ACCOUNT]
{
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for realm $(kzE{kz.json,Realm})\n");
sql_query("exec", 'delete from presentity where domain = "$(kzE{kz.json,Realm})" ');
$var(presentities) = $sqlrows(exec);
sql_query("exec", 'update active_watchers set expires = $TS where watcher_domain="$(kzE{kz.json,Realm})" ');
$var(watchers) = $sqlrows(exec);
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|removed $var(presentities) presentities and expired $var(watchers) subscribers for realm $(kzE{kz.json,Realm})\n");
}
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();
} else {
route(RESET_ACCOUNT);
}
}
event_route[kazoo:consumer-event-presence-reset]
{
if($(kzE{kz.json,Username}) = = "*" || $(kzE{kz.json,Realm}) == "*") {
route(RESET_WILDCARD);
exit();
}
xlog("L_INFO", "$(kzE{kz.json,Msg-ID})|reset|received presence reset for $(kzE{kz.json,Username})@$(kzE{kz.json,Realm})\n");
$var(presentity) = "sip:" + $(kzE{kz.json,Username}) + "@" + $(kzE{kz.json,Realm});
sql_query("exec", 'delete from presentity where domain = "$(kzE{kz.json,Realm})" and username = "$(kzE{kz.json,Username})"');