From 8ca0cd31f09b77ced33a9ba03d703bfd714629a0 Mon Sep 17 00:00:00 2001 From: lazedo Date: Fri, 18 Jan 2019 17:52:56 +0000 Subject: [PATCH] missing deltas in mwi / presence --- kamailio/presence-role.cfg | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/kamailio/presence-role.cfg b/kamailio/presence-role.cfg index 9cfdf49..2481d3f 100644 --- a/kamailio/presence-role.cfg +++ b/kamailio/presence-role.cfg @@ -365,6 +365,8 @@ event_route[kazoo:consumer-event-presence-dialog-update] event_route[kazoo:consumer-event-presence-mwi-update] { $var(kz_presence_log_level) = $(sel(cfg_get.kazoo.presence_no_targets_log_level){s.int}); + $var(StartRoute) = $(TV(Sn){s.replace,.,}); + $var(delta_to_start) = $var(StartRoute) - $(kzE{kz.json,AMQP-Received}); xlog("L_DBG", "$(kzE{kz.json,Call-ID})|log|received message-summary update for $(kzE{kz.json,From}) ($(kzE{kz.json,AMQP-Broker-Zone}))\n"); $var(presentity) = $(kzE{kz.json,From}); $var(payload) = $kzE; @@ -389,13 +391,23 @@ event_route[kazoo:consumer-event-presence-mwi-update] } route(MWI_AS_PRESENCE); - xlog("$var(kz_presence_log_level)", "$(kzE{kz.json,Call-ID})|log|message-summary update for $(kzE{kz.json,From}) light should be on ? $(kzE{kz.json,Messages-Waiting}) at $(kzE{kz.json,AMQP-Received})/$var(Now)/$TS\n"); + $var(mwi_state) = "ON"; + if($(kzE{kz.json,Messages-Waiting}) == "no") { + $var(mwi_state) = "OFF"; + } + + $var(EndRoute) = $(TV(Sn){s.replace,.,}); + $var(delta_to_finish) = $var(EndRoute) - $var(StartRoute); + + xlog("$var(kz_presence_log_level)", "$(kzE{kz.json,Call-ID})|log|message-summary update for $(kzE{kz.json,From}) light should be $var(mwi_state) (Δ1 $(kzE{kz.json,AMQP-Elapsed-Micro}) μs , Δ2 $var(delta_to_start) μs, Δ3 $var(delta_to_finish) μs)\n"); } event_route[kazoo:consumer-event-presence-update] { $var(kz_presence_log_level) = $(sel(cfg_get.kazoo.presence_no_targets_log_level){s.int}); + $var(StartRoute) = $(TV(Sn){s.replace,.,}); + $var(delta_to_start) = $var(StartRoute) - $(kzE{kz.json,AMQP-Received}); if($sel(cfg_get.kazoo.presence_ignore_status_probe_resp) == 1) { if($(kzE{kz.json,State}) == "offline" || $(kzE{kz.json,State}) == "online") { xlog("L_DEBUG", "$(kzE{kz.json,Call-ID})|log|ignoring $(kzE{kz.json,State}) state $(kzE{kz.json,Presence-ID})\n"); @@ -409,7 +421,10 @@ event_route[kazoo:consumer-event-presence-update] $var(payload) = $kzE; route(PRESENCE_UPDATE); - xlog("$var(kz_presence_log_level)", "$(kzE{kz.json,Call-ID})|log|$(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State}) from $(kzE{kz.json,Switch-URI}) Δ at $(kzE{kz.json,AMQP-Received})/$var(Now)/$TS\n"); + $var(EndRoute) = $(TV(Sn){s.replace,.,}); + $var(delta_to_finish) = $var(EndRoute) - $var(StartRoute); + + xlog("$var(kz_presence_log_level)", "$(kzE{kz.json,Call-ID})|log|$(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State}) from $(kzE{kz.json,AMQP-Broker-Zone}) => $(kzE{kz.json,Switch-URI}) (Δ1 $(kzE{kz.json,AMQP-Elapsed-Micro}) μs , Δ2 $var(delta_to_start) μs, Δ3 $var(delta_to_finish) μs)\n"); } route[PRESENCE_UPDATE]