From 5d19e5d966f40ad7efc18a83de8765ef560e2180 Mon Sep 17 00:00:00 2001 From: lazedo Date: Fri, 29 May 2020 10:56:50 +0000 Subject: [PATCH] add flag for registered user * append endpoint to refer if flag is set --- kamailio/authorization.cfg | 5 +++-- kamailio/default.cfg | 2 +- kamailio/globals.cfg | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kamailio/authorization.cfg b/kamailio/authorization.cfg index 2b89167..6fd5b52 100644 --- a/kamailio/authorization.cfg +++ b/kamailio/authorization.cfg @@ -27,13 +27,13 @@ route[AUTHORIZATION] return; } + route(AUTHORIZATION_CHECK); + if (has_totag()) { setflag(FLAG_AUTHORIZED); return; } - route(AUTHORIZATION_CHECK); - if (!isflagset(FLAG_AUTHORIZED)) { xlog("L_INFO", "$ci|auth|challenging $rm from $Au $si:$sp\n"); $var(auth) = auth_challenge("$fd", "4"); @@ -76,6 +76,7 @@ route[AUTHORIZATION_CHECK_REGISTERED] route(SETUP_AUTH_ORIGIN); $xavp(hf[0]=>X-AUTH-Token) = $xavp(ulattrs=>token); setflag(FLAG_AUTHORIZED); + setflag(FLAG_REGISTERED_ENDPOINT); } #!endif } diff --git a/kamailio/default.cfg b/kamailio/default.cfg index 3986587..b05cf65 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -403,7 +403,7 @@ route[HANDLE_REFER] } if(!isflagset(FLAG_INTERNALLY_SOURCED)) { - if(isflagset(FLAG_AUTHORIZED)) { + if(isflagset(FLAG_REGISTERED_ENDPOINT)) { $var(referred_by) = $_s($var(referred_by);endpoint_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\1/});account_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\2/})); } } else { diff --git a/kamailio/globals.cfg b/kamailio/globals.cfg index ae1ea6b..15dae62 100644 --- a/kamailio/globals.cfg +++ b/kamailio/globals.cfg @@ -17,6 +17,7 @@ #!trydef FLAG_MANUAL_ALIAS 18 #!trydef FLAG_RECORD_ROUTE_ADDED 19 #!trydef FLAG_AUTHORIZED 20 +#!trydef FLAG_REGISTERED_ENDPOINT 21 ####### Global Parameters ######### fork = yes