diff --git a/kamailio/auth.cfg b/kamailio/auth.cfg index 6c6f298..8d0ce58 100644 --- a/kamailio/auth.cfg +++ b/kamailio/auth.cfg @@ -2,6 +2,8 @@ route[AUTH] { + xavp_rm("hf"); + if (!is_method("INVITE|MESSAGE|REFER")) { return; } @@ -17,7 +19,7 @@ route[AUTH_HEADERS] { remove_hf_re("^X-"); - if (!is_method("INVITE|MESSAGE|REFER") || has_totag()) { + if (!is_method("INVITE|MESSAGE|REFER")) { return; } diff --git a/kamailio/default.cfg b/kamailio/default.cfg index e4f4fdd..c38d035 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -507,7 +507,10 @@ route[HANDLE_REFER] } $xavp(regcfg=>match_received) = $su; if(registered("location", "$rz:$Au", 2, 1) == 1) { - $var(referred_by) = $_s($var(referred_by);endpoint_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\1/});account_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\2/})); + route(AUTH); + if($avp(is_registered) = "true") { + $var(referred_by) = $_s($var(referred_by);endpoint_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\1/});account_id=$(xavp(ulattrs=>token){re.subst,/(.*)@(.*)/\2/})); + } } remove_hf_re("^Referred-By"); @@ -663,7 +666,7 @@ branch_route[MANAGE_BRANCH] { route[RELAY] { - if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE|NOTIFY")) { + if (is_method("INVITE|BYE|SUBSCRIBE|UPDATE|NOTIFY|REFER")) { if(!t_is_set("branch_route")) t_on_branch("MANAGE_BRANCH"); }