|
|
|
@ -1,4 +1,6 @@ |
|
|
|
######## Presence server module ######## |
|
|
|
modparam("htable", "htable", "p=>size=32;autoexpire=600;") |
|
|
|
|
|
|
|
loadmodule "presence.so" |
|
|
|
loadmodule "presence_dialoginfo.so" |
|
|
|
loadmodule "presence_mwi.so" |
|
|
|
@ -82,10 +84,22 @@ route[HANDLE_PUBLISH] |
|
|
|
|
|
|
|
event_route[kazoo:consumer-event-presence-update] |
|
|
|
{ |
|
|
|
xlog("L_INFO", "received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE"); |
|
|
|
kazoo_pua_publish($kzE); |
|
|
|
pres_refresh_watchers("$(kzE{kz.json,From})", "$(kzE{kz.json,Event-Package})", 1); |
|
|
|
|
|
|
|
if( $(kzE{kz.json,Event-Package}) == "dialog") { |
|
|
|
if($sht(p=>$(kzE{kz.json,Call-ID})) != $(kzE{kz.json,State})) { |
|
|
|
xlog("L_INFO", "received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE"); |
|
|
|
xlog("L_INFO", "payload $kzE"); |
|
|
|
$sht(p=>$(kzE{kz.json,Call-ID})) = $(kzE{kz.json,State}); |
|
|
|
kazoo_pua_publish($kzE); |
|
|
|
pres_refresh_watchers("$(kzE{kz.json,From})", "$(kzE{kz.json,Event-Package})", 1); |
|
|
|
} else { |
|
|
|
xlog("L_INFO", "received duplicate $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE"); |
|
|
|
xlog("L_INFO", "payload $kzE"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
xlog("L_INFO", "received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE"); |
|
|
|
kazoo_pua_publish($kzE); |
|
|
|
pres_refresh_watchers("$(kzE{kz.json,From})", "$(kzE{kz.json,Event-Package})", 1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
# vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab |