|
|
|
@ -182,7 +182,7 @@ route[HANDLE_PUBLISH] |
|
|
|
route[COUNT_PRESENTITIES] |
|
|
|
{ |
|
|
|
$var(Query) = $_s(KZQ_COUNT_PRESENTITIES); |
|
|
|
$var(p) = "uri="+$(kzE{kz.json,From}); |
|
|
|
$var(p) = $_s(uri=$var(presentity)); |
|
|
|
if (sql_xquery("cb", "$var(Query)", "subs") == 1) |
|
|
|
{ |
|
|
|
while($xavp(subs) != $null) { |
|
|
|
@ -247,10 +247,11 @@ event_route[kazoo:consumer-event-presence-dialog-update] |
|
|
|
route(FAST_PICKUP_INIT); |
|
|
|
#!endif |
|
|
|
|
|
|
|
$var(presentity) = $(kzE{kz.json,From}); |
|
|
|
|
|
|
|
if($(kzE{kz.json,State}) == "terminated") { |
|
|
|
route(COUNT_PRESENTITIES); |
|
|
|
} else { |
|
|
|
$var(presentity) = $(kzE{kz.json,From}); |
|
|
|
route(COUNT_SUBSCRIBERS); |
|
|
|
} |
|
|
|
|
|
|
|
@ -291,15 +292,30 @@ event_route[kazoo:consumer-event-presence-mwi-update] |
|
|
|
|
|
|
|
event_route[kazoo:consumer-event-presence-update] |
|
|
|
{ |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|received presence update for $(kzE{kz.json,From})\n"); |
|
|
|
$var(presentity) = $(kzE{kz.json,From}); |
|
|
|
route(COUNT_SUBSCRIBERS); |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|received presence update for $(kzE{kz.json,Presence-ID}) : $kzE\n"); |
|
|
|
|
|
|
|
$var(presentity) = $_s(sip:$(kzE{kz.json,Presence-ID})); |
|
|
|
|
|
|
|
if($(kzE{kz.json,State}) == "terminated") { |
|
|
|
route(COUNT_PRESENTITIES); |
|
|
|
} else { |
|
|
|
route(COUNT_SUBSCRIBERS); |
|
|
|
} |
|
|
|
|
|
|
|
if($xavp(watchers=>dialog) > 0) { |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|publishing $var(presentity) dialog update for $xavp(watchers=>dialog) watchers\n"); |
|
|
|
kazoo_pua_publish_dialoginfo($kzE); |
|
|
|
pres_refresh_watchers("$var(presentity)", "dialog", 1); |
|
|
|
} else { |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|skip dialog update for $var(presentity)\n"); |
|
|
|
} |
|
|
|
|
|
|
|
if($xavp(watchers=>presence) > 0) { |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|publishing $(kzE{kz.json,From}) presence update for $xavp(watchers=>presence) watchers\n"); |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|publishing $var(presentity) presence update for $xavp(watchers=>presence) watchers\n"); |
|
|
|
kazoo_pua_publish_presence($kzE); |
|
|
|
pres_refresh_watchers("$(kzE{kz.json,From})", "presence", 1); |
|
|
|
pres_refresh_watchers("$var(presentity)", "presence", 1); |
|
|
|
} else { |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|skip presence update for $(kzE{kz.json,From})\n"); |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|skip presence update for $var(presentity)\n"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|