| @ -0,0 +1,95 @@ | |||||
| route[AUTH] | |||||
| { | |||||
| if (!is_method("INVITE|MESSAGE|REFER")) { | |||||
| return; | |||||
| } | |||||
| #!ifdef DISPATCHER_ROLE | |||||
| if (!isflagset(FLAG_INTERNALLY_SOURCED)) { | |||||
| route(SETUP_AUTH_HEADERS); | |||||
| } | |||||
| #!endif | |||||
| } | |||||
| route[AUTH_HEADERS] | |||||
| { | |||||
| remove_hf_re("^X-"); | |||||
| xavp_params_implode("hf", "$var(outx)"); | |||||
| $var(out) = $(var(outx){re.subst,/^(.*);$$/\1/}); | |||||
| $var(c) = $(var(out){param.count}); | |||||
| 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)})\n"); | |||||
| append_hf("$(var(out){param.name,$var(idx)}): $(var(out){param.valueat,$var(idx)})\r\n"); | |||||
| $var(c) = $var(c) - 1; | |||||
| } | |||||
| } | |||||
| route[SETUP_AUTH_HEADERS] | |||||
| { | |||||
| $xavp(hf=>X-AUTH-IP) = $si; | |||||
| $xavp(hf[0]=>X-AUTH-PORT) = $sp; | |||||
| #!ifdef REGISTRAR_ROLE | |||||
| #!ifdef WITH_AUTH_TOKEN | |||||
| route(AUTH_TOKEN); | |||||
| #!else | |||||
| route(AUTH_CCVS); | |||||
| #!endif | |||||
| #!endif | |||||
| } | |||||
| route[AUTH_TOKEN] | |||||
| { | |||||
| $xavp(regcfg=>match_received) = $su; | |||||
| if (registered("location","$fu", 2, 1) == 1) { | |||||
| dlg_setflag(FLT_AOR); | |||||
| 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=>Authorizing-ID)@$xavp(ulattrs=>Account-ID)"); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| route[AUTH_CCVS] | |||||
| { | |||||
| $xavp(regcfg=>match_received) = $su; | |||||
| if (registered("location","$fu", 2, 1) == 1) { | |||||
| 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}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-Type}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Authorizing-Type) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-Type}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-ID}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Authorizing-ID) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Authorizing-ID}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Username}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Username) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Username}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Realm}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Realm) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Realm}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Account-Realm}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Account-Realm) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Account-Realm}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Account-Name}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Account-Name) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Account-Name}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Presence-ID}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Presence-ID) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Presence-ID}); | |||||
| if($(xavp(ulattrs=>custom_channel_vars){kz.json,Owner-ID}{s.len}) > 0) | |||||
| $xavp(hf[0]=>X-ecallmgr_Owner-ID) = $(xavp(ulattrs=>custom_channel_vars){kz.json,Owner-ID}); | |||||
| } | |||||
| } | |||||