From b69ff42f8b51ae435e0da9870cc749db62ff758b Mon Sep 17 00:00:00 2001 From: Mark Magnusson Date: Wed, 14 Jun 2017 12:47:13 -0400 Subject: [PATCH 1/4] KAZOO-2411-master: add check for invite type --- kamailio/default.cfg | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index f1b3234..b753584 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -615,12 +615,13 @@ route[INTERNAL_TO_EXTERNAL_RELAY] remove_hf_re("^X-.*"); - if( $avp(kazoo_aor) != $null) - { + if($hdr(X-KAZOO-INVITE-FORMAT) == "contact") { + $ru = $(ulc(callee=>addr)); + xlog("L_INFO", "$ci|end|routing to contact $ru\n"); + } else if( $avp(kazoo_aor) != $null) { $du = $avp(kazoo_du); xlog("L_INFO", "$ci|end|routing to $ruid : AOR : $avp(kazoo_aor)\n"); } - t_on_reply("EXTERNAL_REPLY"); From e77ab6c8feb0187449ee52d6fcb8ec1c4f5a3a42 Mon Sep 17 00:00:00 2001 From: Mark Magnusson Date: Wed, 14 Jun 2017 14:52:56 -0400 Subject: [PATCH 2/4] changes based on discussion in standup --- kamailio/default.cfg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index b753584..c6783f2 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -601,7 +601,15 @@ route[INTERNAL_TO_EXTERNAL_RELAY] #!ifdef REGISTRAR_ROLE if ($hdr(X-KAZOO-AOR) != $null) { xlog("L_INFO", "$ci|log|using AOR $hdr(X-KAZOO-AOR)\n"); - if (reg_fetch_contacts("location", "$hdr(X-KAZOO-AOR)", "callee")) { + if ($hdr(X-KAZOO-INVITE-FORMAT) == "contact") { + if(lookup($hdr(X-KAZOO-AOR)) > 0){ + xlog("L_INFO", "$ci|end|routing to contact $ru\n"); + } else { + xlog("L_INFO", "$ci|end|lookup for AOR $hdr(X-KAZOO-AOR) failed\n"); + sl_send_reply("404", "Not registered"); + exit; + } + } else if (reg_fetch_contacts("location", "$hdr(X-KAZOO-AOR)", "callee")) { $du = $(ulc(callee=>received)); $fs = $(ulc(callee=>socket)); xlog("L_INFO", "$ci|log|routing $hdr(X-KAZOO-AOR) to $du via $fs\n"); @@ -614,14 +622,6 @@ route[INTERNAL_TO_EXTERNAL_RELAY] #!endif remove_hf_re("^X-.*"); - - if($hdr(X-KAZOO-INVITE-FORMAT) == "contact") { - $ru = $(ulc(callee=>addr)); - xlog("L_INFO", "$ci|end|routing to contact $ru\n"); - } else if( $avp(kazoo_aor) != $null) { - $du = $avp(kazoo_du); - xlog("L_INFO", "$ci|end|routing to $ruid : AOR : $avp(kazoo_aor)\n"); - } t_on_reply("EXTERNAL_REPLY"); From 16edb10098abc751e7e55966c334c8fcd2de5339 Mon Sep 17 00:00:00 2001 From: Mark Magnusson Date: Wed, 14 Jun 2017 14:57:44 -0400 Subject: [PATCH 3/4] actually do this correctly --- kamailio/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index c6783f2..f735832 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -602,7 +602,7 @@ route[INTERNAL_TO_EXTERNAL_RELAY] if ($hdr(X-KAZOO-AOR) != $null) { xlog("L_INFO", "$ci|log|using AOR $hdr(X-KAZOO-AOR)\n"); if ($hdr(X-KAZOO-INVITE-FORMAT) == "contact") { - if(lookup($hdr(X-KAZOO-AOR)) > 0){ + if(lookup("location") > 0){ xlog("L_INFO", "$ci|end|routing to contact $ru\n"); } else { xlog("L_INFO", "$ci|end|lookup for AOR $hdr(X-KAZOO-AOR) failed\n"); From 048f9e4528f7b6db5f95c7e58239965431b7a9b9 Mon Sep 17 00:00:00 2001 From: Mark Magnusson Date: Wed, 14 Jun 2017 15:18:05 -0400 Subject: [PATCH 4/4] update to query correctly --- kamailio/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index f735832..22f5132 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -602,7 +602,7 @@ route[INTERNAL_TO_EXTERNAL_RELAY] if ($hdr(X-KAZOO-AOR) != $null) { xlog("L_INFO", "$ci|log|using AOR $hdr(X-KAZOO-AOR)\n"); if ($hdr(X-KAZOO-INVITE-FORMAT) == "contact") { - if(lookup("location") > 0){ + if(lookup("location", "$hdr(X-KAZOO-AOR)") > 0){ xlog("L_INFO", "$ci|end|routing to contact $ru\n"); } else { xlog("L_INFO", "$ci|end|lookup for AOR $hdr(X-KAZOO-AOR) failed\n");