| @ -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}); | |||
| } | |||
| } | |||