Browse Source

fix absence of subscriptions/subscribers of an event

KAZOO-5650
lazedo 9 years ago
parent
commit
16b51dfe4b
2 changed files with 8 additions and 6 deletions
  1. +2
    -2
      kamailio/nodes-role.cfg
  2. +6
    -4
      kamailio/presence-role.cfg

+ 2
- 2
kamailio/nodes-role.cfg View File

@ -44,8 +44,8 @@ route[NODES_ADVERTISE_ROUTE]
#!ifdef PRESENCE_ROLE #!ifdef PRESENCE_ROLE
route(COUNT_ALL_SUBSCRIBERS); route(COUNT_ALL_SUBSCRIBERS);
$var(Subscriptions) = $_s("Subscriptions" : {"message-summary" : $xavp(watchers=>message-summary), "dialog" : $xavp(watchers=>dialog), "presence" : $xavp(watchers=>presence)});
$var(Subscribers) = $_s("Subscribers" : {"message-summary" : $xavp(watchers=>message-summary_unique), "dialog" : $xavp(watchers=>dialog_unique), "presence" : $xavp(watchers=>presence_unique)});
$var(Subscriptions) = $_s("Subscriptions" : { $var(Subscriptions) });
$var(Subscribers) = $_s("Subscribers" : { $var(Subscribers) });
route(COUNT_ALL_PRESENTITIES); route(COUNT_ALL_PRESENTITIES);
$var(Presentities) = $_s("Presentities" : {"message-summary" : $xavp(watchers=>message-summary), "dialog" : $xavp(watchers=>dialog), "presence" : $xavp(watchers=>presence)}); $var(Presentities) = $_s("Presentities" : {"message-summary" : $xavp(watchers=>message-summary), "dialog" : $xavp(watchers=>dialog), "presence" : $xavp(watchers=>presence)});


+ 6
- 4
kamailio/presence-role.cfg View File

@ -210,16 +210,18 @@ route[COUNT_ALL_PRESENTITIES]
route[COUNT_ALL_SUBSCRIBERS] route[COUNT_ALL_SUBSCRIBERS]
{ {
$var(Query) = $_s(select a.event, count(distinct watcher_username || "@" || watcher_domain) count_unique, count(*) count from event_list a, active_watchers b where b.event = a.event group by a.event); $var(Query) = $_s(select a.event, count(distinct watcher_username || "@" || watcher_domain) count_unique, count(*) count from event_list a, active_watchers b where b.event = a.event group by a.event);
$var(p) = "uri=none";
if (sql_xquery("cb", "$var(Query)", "subs") == 1) if (sql_xquery("cb", "$var(Query)", "subs") == 1)
{ {
$var(sep) = "";
$var(Subscribers) = "";
$var(Subscriptions) = "";
while($xavp(subs) != $null) { while($xavp(subs) != $null) {
$var(p) = $var(p) + ";" + $xavp(subs=>event) + "=" + $xavp(subs=>count);
$var(p) = $var(p) + ";" + $xavp(subs=>event) + "_unique=" + $xavp(subs=>count_unique);
$var(Subscribers) = $var(Subscribers) + $var(sep) + $_s("$xavp(subs=>event)" : $xavp(subs=>count_unique));
$var(Subscriptions) = $var(Subscriptions) + $var(sep) + $_s("$xavp(subs=>event)" : $xavp(subs=>count));
$var(sep) = " , ";
pv_unset("$xavp(subs)"); pv_unset("$xavp(subs)");
} }
} }
xavp_params_explode($var(p), "watchers");
} }
route[COUNT_SUBSCRIBERS] route[COUNT_SUBSCRIBERS]


Loading…
Cancel
Save