|
|
@ -30,6 +30,25 @@ route[AUTH_HEADERS] |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
route[AUTH_HEADERS_JSON] |
|
|
|
|
|
{ |
|
|
|
|
|
xavp_params_implode("hf", "$var(outx)"); |
|
|
|
|
|
$var(out) = $(var(outx){re.subst,/^(.*);$$/\1/}); |
|
|
|
|
|
$var(c) = $(var(out){param.count}); |
|
|
|
|
|
$var(headers_json) = ""; |
|
|
|
|
|
$var(sep) = ""; |
|
|
|
|
|
xlog("L_DEBUG", "$ci|auth|headers $var(c) => $var(out) => $var(outx)\n"); |
|
|
|
|
|
while($var(c) > 0) { |
|
|
|
|
|
$var(idx) = $var(c) - 1; |
|
|
|
|
|
xlog("L_DEBUG", "$ci|auth|adding $(var(out){param.name,$var(idx)}): $(var(out){param.valueat,$var(idx)}{s.unescape.param})\n"); |
|
|
|
|
|
append_hf("$(var(out){param.name,$var(idx)}): $(var(out){param.valueat,$var(idx)}{s.unescape.param})\r\n"); |
|
|
|
|
|
$var(headers_json) = $_s($var(headers_json)$var(sep)"$(var(out){param.name,$var(idx)})" : "$(var(out){param.valueat,$var(idx)}{s.unescape.param})"); |
|
|
|
|
|
$var(c) = $var(c) - 1; |
|
|
|
|
|
$var(sep) = " , "; |
|
|
|
|
|
} |
|
|
|
|
|
$var(headers_json) = $_s({ $var(headers_json) }); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
route[SETUP_AUTH_HEADERS] |
|
|
route[SETUP_AUTH_HEADERS] |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
@ -37,11 +56,18 @@ route[SETUP_AUTH_HEADERS] |
|
|
$xavp(hf[0]=>X-AUTH-PORT) = $sp; |
|
|
$xavp(hf[0]=>X-AUTH-PORT) = $sp; |
|
|
|
|
|
|
|
|
#!ifdef REGISTRAR_ROLE |
|
|
#!ifdef REGISTRAR_ROLE |
|
|
|
|
|
|
|
|
|
|
|
$avp(is_registred) = "false"; |
|
|
|
|
|
$xavp(regcfg=>match_received) = $su; |
|
|
|
|
|
if (registered("location","$fu", 2, 1) != 1) return; |
|
|
|
|
|
|
|
|
|
|
|
$avp(is_registred) = "true"; |
|
|
#!ifdef WITH_AUTH_TOKEN |
|
|
#!ifdef WITH_AUTH_TOKEN |
|
|
route(AUTH_TOKEN); |
|
|
route(AUTH_TOKEN); |
|
|
#!else |
|
|
#!else |
|
|
route(AUTH_CCVS); |
|
|
route(AUTH_CCVS); |
|
|
#!endif |
|
|
#!endif |
|
|
|
|
|
|
|
|
#!endif |
|
|
#!endif |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -50,23 +76,17 @@ route[SETUP_AUTH_HEADERS] |
|
|
|
|
|
|
|
|
route[AUTH_TOKEN] |
|
|
route[AUTH_TOKEN] |
|
|
{ |
|
|
{ |
|
|
$xavp(regcfg=>match_received) = $su; |
|
|
|
|
|
if (registered("location","$fu", 2, 1) == 1) { |
|
|
|
|
|
if($(xavp(ulattrs=>token){s.len}) > 0) { |
|
|
|
|
|
$xavp(hf[0]=>X-AUTH-Token) = $xavp(ulattrs=>token); |
|
|
|
|
|
} else { |
|
|
|
|
|
if($(xavp(ulattrs=>Authorizing-ID){s.len}) > 0 && $(xavp(ulattrs=>Account-ID){s.len})) { |
|
|
|
|
|
$xavp(hf[0]=>X-AUTH-Token) = $_s($(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-ID})@$(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID})); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if($(xavp(ulattrs=>token){s.len}) > 0) { |
|
|
|
|
|
$xavp(hf[0]=>X-AUTH-Token) = $xavp(ulattrs=>token); |
|
|
|
|
|
} else { |
|
|
|
|
|
if($(xavp(ulattrs=>Authorizing-ID){s.len}) > 0 && $(xavp(ulattrs=>Account-ID){s.len})) { |
|
|
|
|
|
$xavp(hf[0]=>X-AUTH-Token) = $_s($(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-ID})@$(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID})); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
route[AUTH_CCVS] |
|
|
route[AUTH_CCVS] |
|
|
{ |
|
|
{ |
|
|
$xavp(regcfg=>match_received) = $su; |
|
|
|
|
|
if (registered("location","$fu", 2, 1) != 1) return; |
|
|
|
|
|
|
|
|
|
|
|
if($(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID}{s.len}) > 0) |
|
|
if($(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID}{s.len}) > 0) |
|
|
$xavp(hf[0]=>X-ecallmgr_Account-ID) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID}); |
|
|
$xavp(hf[0]=>X-ecallmgr_Account-ID) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Account-ID}); |
|
|
|
|
|
|
|
|
|