Browse Source

fix authorized xavp after amqp reply

5.0
lazedo 6 years ago
parent
commit
8778ea679c
1 changed files with 24 additions and 8 deletions
  1. +24
    -8
      kamailio/authorization.cfg

+ 24
- 8
kamailio/authorization.cfg View File

@ -13,19 +13,25 @@ modparam("statistics","variable", "auth:authn_unknown")
route[AUTHORIZATION]
{
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
if (isflagset(FLAG_AUTHORIZED)) {
return;
}
}
if (isflagset(FLAG_AUTHORIZED)) {
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
setflag(FLAG_AUTHORIZED);
return;
}
if (!is_method("INVITE|REFER|MESSAGE|NOTIFY|SUBSCRIBE|PUBLISH")) {
setflag(FLAG_AUTHORIZED);
setflag(FLAG_AUTHORIZED);
return;
}
if (has_totag()) {
setflag(FLAG_AUTHORIZED);
return;
}
route(AUTHORIZATION_CHECK);
if (!isflagset(FLAG_AUTHORIZED)) {
@ -84,6 +90,18 @@ route[HANDLE_AUTHORIZATION]
exit;
}
if (!is_method("INVITE|REFER|MESSAGE|NOTIFY|SUBSCRIBE|PUBLISH")) {
consume_credentials();
route(MAIN);
exit;
}
if (has_totag()) {
consume_credentials();
route(MAIN);
exit;
}
$var(amqp_payload_request) = $_s({"Event-Category" : "directory" , "Event-Name" : "authn_req", "Method" : "REGISTER", "Auth-Nonce" : "$adn", "Auth-Realm" : "$fd", "Auth-User" : "$fU", "From" : "$fu", "To" : "$tu", "Orig-IP" : "$si", "Orig-Port" : "$sp", "User-Agent" : "$(ua{s.escape.common}{s.replace,\','}{s.replace,$$,})", "Contact" : "$(ct{s.escape.common}{s.replace,\','}{s.replace,$$,})", "Call-ID" : "$ci" });
$var(amqp_routing_key) = $_s($def(REGISTRAR_AMQP_RK_PREFIX)$(fd{kz.encode}));
$avp(kz_timeout) = $sel(cfg_get.kazoo.registrar_query_timeout_ms);
@ -140,16 +158,14 @@ route[KZ_AUTHORIZATION_CHECK_RESPONSE]
route(ANITFLOOD_FAILED_AUTH);
#!endif
xlog("L_WARNING", "$ci|end|auth|$mbu\n");
send_reply("403", "Forbidden");
exit;
}
consume_credentials();
route(SETUP_AUTH_ORIGIN);
$xavp(ulattrs=>custom_channel_vars) = $(kzR{kz.json,Custom-Channel-Vars});
$xavp(ulattrs[0]=>token) = $_s($(kzR{kz.json,Custom-Channel-Vars.Authorizing-ID})@$(kzR{kz.json,Custom-Channel-Vars.Account-ID}));
setflag(FLAG_AUTHORIZED);
$xavp(hf[0]=>X-AUTH-Token) = $_s($(kzR{kz.json,Custom-Channel-Vars.Authorizing-ID})@$(kzR{kz.json,Custom-Channel-Vars.Account-ID}));
setflag(FLAG_AUTHORIZED);
route(MAIN);
exit;
}


Loading…
Cancel
Save