diff --git a/kamailio/presence-role.cfg b/kamailio/presence-role.cfg index 81af925..d5d4997 100644 --- a/kamailio/presence-role.cfg +++ b/kamailio/presence-role.cfg @@ -3,6 +3,8 @@ #!trydef PRESENCE_MIN_EXPIRES_ACTION 1 #!trydef PRESENCE_MAX_EXPIRES 3600 +#!trydef KZ_PRESENCE_IGNORE_STATUS_PROBE_RESP 1 + modparam("htable", "htable", "p=>size=32;autoexpire=3600;") modparam("htable", "htable", "first=>size=32;autoexpire=3600;initval =0;updateexpire=1;") @@ -56,6 +58,7 @@ modparam("nat_traversal", "keepalive_interval", 45) kazoo.presence_sync_amqp = KZ_PRESENCE_AMQP_PUBLISH descr "sync subscriptions to amqp" kazoo.presence_request_probe = KZ_PRESENCE_REQUEST_PROBE descr "request probe for new subscriptions" kazoo.presence_request_resubscribe_probe = KZ_PRESENCE_REQUEST_RESUBSCRIBE_PROBE descr "request probe for resubscriptions" +kazoo.presence_ignore_status_probe_resp = KZ_PRESENCE_IGNORE_STATUS_PROBE_RESP descr "ignore online/offline probe replies" #!ifdef FAST_PICKUP_ROLE #!include_file "fast-pickup-role.cfg" @@ -339,7 +342,13 @@ 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,Presence-ID}) : $kzE\n"); + if(@cfg_get.kazoo.presence_ignore_status_probe_resp == 1) { + if($(kzE{kz.json,State}) == "offline" || $(kzE{kz.json,State}) == "online") { + return; + } + } + + xlog("L_INFO", "$(kzE{kz.json,Call-ID})|log|received presence update for $(kzE{kz.json,Presence-ID})\n"); $var(JObj) = $kzE; $var(presentity) = $_s(sip:$(kzE{kz.json,Presence-ID})); $var(payload) = $kzE;