From 54a095ac7eab1dbe3fbbb679316eba20ab39cd36 Mon Sep 17 00:00:00 2001 From: lazedo Date: Sat, 11 Jan 2020 11:27:36 +0000 Subject: [PATCH] allow pusher to log contact --- kamailio/pusher-role.cfg | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/kamailio/pusher-role.cfg b/kamailio/pusher-role.cfg index 171a1cc..423ce65 100644 --- a/kamailio/pusher-role.cfg +++ b/kamailio/pusher-role.cfg @@ -1,5 +1,8 @@ ## PUSHER ROLE +#!trydef KZ_PUSHER_LOG_CONTACT 0 +kazoo.pusher_log_contacts = KZ_PUSHER_LOG_CONTACT descr "logs contacts after registration" + ######## Generic Hash Table container in shared memory ######## modparam("htable", "htable", "push_cache=>autoexpire=60;") @@ -179,8 +182,35 @@ route[PUSHER_ON_REGISTRATION] route[PUSHER_DELIVER_CALL] { if(reg_fetch_contacts("location", "$hdr(X-KAZOO-AOR)", "callee")) { - $du = $(ulc(callee=>received)); - $fs = $(ulc(callee=>socket)); + if($sel(cfg_get.kazoo.pusher_log_contacts) == 1) { + xlog("L_NOTICE", "callee=>aor: $(ulc(callee=>aor))\n"); + xlog("L_NOTICE", "callee=>count: $(ulc(callee=>count))\n"); + xlog("L_NOTICE", "callee=>domain: $(ulc(callee=>domain))\n"); + xlog("L_NOTICE", "callee=>aorhash $(ulc(callee=>aorhash))\n"); + $var(i) = 0; + while($var(i) < $(ulc(callee=>count))) { + xlog("L_NOTICE", "--- contact [$var(i)]\n"); + xlog("L_NOTICE", "callee=>addr: $(ulc(callee=>addr)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>path: $(ulc(callee=>path)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>received: $(ulc(callee=>received)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>expires: $(ulc(callee=>expires)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>callid: $(ulc(callee=>callid)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>regid: $(ulc(callee=>regid)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>q: $(ulc(callee=>q)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>cseq: $(ulc(callee=>cseq)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>flags: $(ulc(callee=>flags)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>cflags: $(ulc(callee=>cflags)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>user_agent: $(ulc(callee=>user_agent)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>socket: $(ulc(callee=>socket)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>modified: $(ulc(callee=>modified)[$var(i)])\n"); + xlog("L_NOTICE", "callee=>methods: $(ulc(callee=>methods)[$var(i)])\n"); + $var(i) = $var(i) + 1; + } + } + + $var(idx) = $ulc(callee=>count) - 1; + $du = $(ulc(callee=>received)[$var(idx)]); + $fs = $(ulc(callee=>socket)[$var(idx)]); t_set_fr(30000, 30000); route(PUSHER_TO_EXTERNAL_RELAY); } else {