|
|
|
@ -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", 60) |
|
|
|
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})"'); |
|
|
|
|