Browse Source

handle duplicate events

handle duplicate events since dbtext doesn't support transactions
3.19
lazedo 11 years ago
parent
commit
0bbe4c9ef6
1 changed files with 18 additions and 4 deletions
  1. +18
    -4
      kamailio/presence-role.cfg

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

@ -1,4 +1,6 @@
######## Presence server module ######## ######## Presence server module ########
modparam("htable", "htable", "p=>size=32;autoexpire=600;")
loadmodule "presence.so" loadmodule "presence.so"
loadmodule "presence_dialoginfo.so" loadmodule "presence_dialoginfo.so"
loadmodule "presence_mwi.so" loadmodule "presence_mwi.so"
@ -82,10 +84,22 @@ route[HANDLE_PUBLISH]
event_route[kazoo:consumer-event-presence-update] 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 # vim: tabstop=4 softtabstop=4 shiftwidth=4 expandtab

Loading…
Cancel
Save