Browse Source

add newlines to support systemd logging (#92)

4.0
bitbashing 9 years ago
committed by lazedo
parent
commit
b039ea7593
16 changed files with 162 additions and 163 deletions
  1. +16
    -16
      kamailio/acl-role.cfg
  2. +4
    -4
      kamailio/antiflood-role.cfg
  3. +50
    -51
      kamailio/default.cfg
  4. +13
    -13
      kamailio/dispatcher-role.cfg
  5. +6
    -6
      kamailio/fast-pickup-role.cfg
  6. +3
    -3
      kamailio/message-role.cfg
  7. +7
    -7
      kamailio/presence-role.cfg
  8. +2
    -2
      kamailio/presence_notify_sync-role.cfg
  9. +3
    -3
      kamailio/presence_query-role.cfg
  10. +3
    -3
      kamailio/presence_sync-role.cfg
  11. +2
    -2
      kamailio/pusher-role.cfg
  12. +30
    -30
      kamailio/rate-limiter-role.cfg
  13. +16
    -16
      kamailio/registrar-role.cfg
  14. +2
    -2
      kamailio/registrar-sync-role.cfg
  15. +1
    -1
      kamailio/responder-role.cfg
  16. +4
    -4
      kamailio/traffic-filter-role.cfg

+ 16
- 16
kamailio/acl-role.cfg View File

@ -17,7 +17,7 @@ route[ACL_CHECK] {
# If packet came from platform or from 4 class MERA, do not check it
if (isflagset(FLAG_INTERNALLY_SOURCED) || isflagset(FLAG_TRUSTED_SOURCE) ) {
xlog("L_DEBUG", "$ci|ACL|Trusted source IP($si) ignoring");
xlog("L_DEBUG", "$ci|ACL|Trusted source IP($si) ignoring\n");
return;
}
@ -30,7 +30,7 @@ route[ACL_CHECK] {
# FIX for BYE method with IP instead of REALM in From, take REALM from To header
if ($fd =~ IP_REGEX) {
xlog("L_WARNING","$ci|ACL-realm|Fix for $var(sip-packet) with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|ACL-realm|Fix for $var(sip-packet) with IP in from URI: use to-domain\n");
$var(realm) = $td;
} else {
$var(realm) = $fd;
@ -55,7 +55,7 @@ route[ACL_CHECK] {
if (not_empty("$fU")) {
if ($fd =~ IP_REGEX) {
xlog("L_WARNING","$ci|ACL-device|Fix for $var(sip-packet) with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|ACL-device|Fix for $var(sip-packet) with IP in from URI: use to-domain\n");
$var(device) = $fU + "@" + $td;
} else {
$var(device) = $fU + "@" + $fd;
@ -81,10 +81,10 @@ route[ACL_CHECK] {
$var(query) = "{'Event-Category': 'acl', 'Event-Name': 'query', 'Entity': '" + $var(device) + "', 'With-Realm': " + $var(acl-realm-request) + "}";
else
$var(query) = "{'Event-Category': 'acl', 'Event-Name': 'query', 'Entity': '" + $var(realm) + "'}";
xlog("L_DBG", "$ci|ACL log|Query: $var(query)");
xlog("L_DBG", "$ci|ACL log|Query: $var(query)\n");
sl_send_reply("100", "Attempting K query");
if (kazoo_query("frontier", "sbc_config", $var(query), "$var(acl-response)")) {
xlog("L_DBG", "$ci|ACL log|Response: $var(acl-response)");
xlog("L_DBG", "$ci|ACL log|Response: $var(acl-response)\n");
kazoo_json($var(acl-response), "Realm.Order", "$var(acl-realm-order)");
kazoo_json($var(acl-response), "Realm.CIDR", "$var(acl-realm-cidr)");
@ -93,7 +93,7 @@ route[ACL_CHECK] {
kazoo_json($var(acl-response), "Device.User-Agent", "$var(acl-device-ua)");
} else {
xlog("L_ERROR","$ci|ACL log|DB is unreachable");
xlog("L_ERROR","$ci|ACL log|DB is unreachable\n");
$sht(acl=>$var(device)/$si) = 1;
xlog("L_INFO", "$ci|ACL|$var(sip-packet) from $si is permitted by ACL for $var(device)\n");
return;
@ -116,7 +116,7 @@ route[ACL_CHECK_REALM] {
route(ACL_CHECK_REALM_DENY);
}
} else {
xlog("L_INFO","$ci|ACL-realm|undefined Order in response for $var(realm)");
xlog("L_INFO","$ci|ACL-realm|undefined Order in response for $var(realm)\n");
$sht(acl=>$var(realm)/$si) = 1;
xlog("L_INFO", "$ci|ACL|$var(sip-packet) from $si is permitted by ACL for $var(realm)\n");
}
@ -127,7 +127,7 @@ route[ACL_CHECK_REALM_ALLOW] {
$var(i) = 0;
kazoo_json($var(acl-response), "Realm.CIDR[$var(i)]", "$var(record)");;
while(not_empty("$var(record)")) {
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)");
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)\n");
if (($var(record) == ACL_IP_ADDR_ANY) || is_in_subnet("$si", $var(record))) {
$sht(acl=>$var(realm)/$si) = 1;
xlog("L_INFO", "$ci|ACL|$var(sip-packet) from $si is permitted by ACL for $var(realm)\n");
@ -137,7 +137,7 @@ route[ACL_CHECK_REALM_ALLOW] {
kazoo_json($var(acl-response), "Realm.CIDR[$var(i)]", "$var(record)");;
}
} else {
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(realm)");
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(realm)\n");
}
# Remember in CACHE and DENY
$sht(acl=>$var(realm)/$si) = 0;
@ -154,7 +154,7 @@ route[ACL_CHECK_REALM_DENY] {
$var(i) = 0;
kazoo_json($var(acl-response), "Realm.CIDR[$var(i)]", "$var(record)");;
while(not_empty("$var(record)")) {
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)");
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)\n");
if (($var(record) == ACL_IP_ADDR_ANY) || is_in_subnet("$si", $var(record))) {
$sht(acl=>$var(realm)/$si) = 0;
if (!isflagset(FLAG_IS_REPLY)) {
@ -167,7 +167,7 @@ route[ACL_CHECK_REALM_DENY] {
kazoo_json($var(acl-response), "Realm.CIDR[$var(i)]", "$var(record)");;
}
} else {
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(realm)");
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(realm)\n");
}
# Remember in CACHE and ALLOW
$sht(acl=>$var(realm)/$si) = 1;
@ -184,7 +184,7 @@ route[ACL_CHECK_DEVICE] {
route(ACL_CHECK_DEVICE_DENY);
}
} else {
xlog("L_INFO","$ci|ACL-device|undefined Order in response for $var(device)");
xlog("L_INFO","$ci|ACL-device|undefined Order in response for $var(device)\n");
$sht(acl=>$var(device)/$si) = 1;
xlog("L_INFO", "$ci|ACL|$var(sip-packet) from $si is permitted by ACL for $var(device)\n");
}
@ -196,7 +196,7 @@ route[ACL_CHECK_DEVICE_ALLOW] {
$var(i) = 0;
kazoo_json($var(acl-response), "Device.CIDR[$var(i)]", "$var(record)");;
while(not_empty("$var(record)")) {
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)");
xlog("L_INFO", "$ci|ACL-realm|checking if $si is in $var(record)\n");
if (($var(record) == ACL_IP_ADDR_ANY) || is_in_subnet("$si", $var(record))) {
$sht(acl=>$var(device)/$si) = 1;
xlog("L_INFO", "$ci|ACL|$var(sip-packet) from $si is permitted by ACL for $var(device)\n");
@ -206,7 +206,7 @@ route[ACL_CHECK_DEVICE_ALLOW] {
kazoo_json($var(acl-response), "Device.CIDR[$var(i)]", "$var(record)");;
}
} else {
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(device)");
xlog("L_INFO", "$ci|ACL-realm|undefined CIDR in response for $var(device)\n");
}
}
# Remember in CACHE and DENY
@ -232,7 +232,7 @@ route[ACL_CHECK_DEVICE_DENY] {
$var(i) = 0;
kazoo_json($var(acl-response), "Device.CIDR[$var(i)]", "$var(record)");;
while(not_empty("$var(record)")) {
xlog("L_INFO", "$ci|ACL-device|checking if $si is in $var(record)");
xlog("L_INFO", "$ci|ACL-device|checking if $si is in $var(record)\n");
if (($var(record) == ACL_IP_ADDR_ANY) || is_in_subnet("$si", $var(record))) {
$sht(acl=>$var(device)/$si) = 0;
if (!isflagset(FLAG_IS_REPLY)) {
@ -245,7 +245,7 @@ route[ACL_CHECK_DEVICE_DENY] {
kazoo_json($var(acl-response), "Device.CIDR[$var(i)]", "$var(record)");;
}
} else {
xlog("L_INFO", "$ci|ACL-device|undefined CIDR in response for $var(device)");
xlog("L_INFO", "$ci|ACL-device|undefined CIDR in response for $var(device)\n");
}
# Remember in CACHE and ALLOW
$sht(acl=>$var(device)/$si) = 1;


+ 4
- 4
kamailio/antiflood-role.cfg View File

@ -25,7 +25,7 @@ route[ANTIFLOOD_RATE_LIMIT]
# use pike to control the rates
if (!pike_check_req()) {
xlog("L_WARN", "$ci|end|dropping request from $fu due to rate of requests with source $si:$sp");
xlog("L_WARN", "$ci|end|dropping request from $fu due to rate of requests with source $si:$sp\n");
drop();
exit;
}
@ -42,7 +42,7 @@ route[ANITFLOOD_AUTH_LIMIT]
if ($Au != $null &&
$sht(antiflood=>$Au::$si::count) >= ANTIFLOOD_FAILED_AUTH_DENSITY
) {
xlog("L_NOTICE", "$ci|end|request at authorization failure limit for $Au $si:$sp");
xlog("L_NOTICE", "$ci|end|request at authorization failure limit for $Au $si:$sp\n");
$shtex(antiflood=>$Au::$si::count) = ANTIFLOOD_FAILED_AUTH_WINDOW;
$sht(antiflood=>$Au::$si::last) = $Ts;
append_to_reply("Retry-After: 3600\r\n");
@ -71,12 +71,12 @@ route[ANITFLOOD_FAILED_AUTH]
$var(count) = $shtinc(antiflood=>$Au::$si::count);
$sht(antiflood=>$Au::$si::last) = $Ts;
xlog("L_INFO", "$ci|log|$var(count) errounous authorization response for $Au $si:$sp");
xlog("L_INFO", "$ci|log|$var(count) errounous authorization response for $Au $si:$sp\n");
if ($var(count) >= ANTIFLOOD_FAILED_AUTH_DENSITY) {
$var(exp) = $Ts - ANTIFLOOD_FAILED_AUTH_WINDOW;
if($sht(antiflood=>$Au::$si::last) > $var(exp)){
xlog("L_NOTICE", "$ci|end|request at authorization failure limit for $Au $si:$sp");
xlog("L_NOTICE", "$ci|end|request at authorization failure limit for $Au $si:$sp\n");
append_to_reply("Retry-After: 3600\r\n");
send_reply("500", "Retry Later");
exit;


+ 50
- 51
kamailio/default.cfg View File

@ -258,10 +258,10 @@ route
route(CHECK_RETRANS);
# log the basic info regarding this call
xlog("L_INFO", "$ci|start|received $pr request $rm $ou");
xlog("L_INFO", "$ci|log|source $si:$sp");
xlog("L_INFO", "$ci|log|from $fu");
xlog("L_INFO", "$ci|log|to $tu");
xlog("L_INFO", "$ci|start|received $pr request $rm $ou\n");
xlog("L_INFO", "$ci|log|source $si:$sp\n");
xlog("L_INFO", "$ci|log|from $fu\n");
xlog("L_INFO", "$ci|log|to $tu\n");
route(CLASSIFY_SOURCE);
@ -340,12 +340,12 @@ route[CHECK_RETRANS]
route[SANITY_CHECK]
{
if (!sanity_check()) {
xlog("L_WARN", "$ci|end|message from $si:$sp is insane");
xlog("L_WARN", "$ci|end|message from $si:$sp is insane\n");
exit;
}
if (!mf_process_maxfwd_header("10")) {
xlog("L_WARN", "$ci|end|too much hops, not enough barley from $si:$sp");
xlog("L_WARN", "$ci|end|too much hops, not enough barley from $si:$sp\n");
send_reply("483", "Too Many Hops");
exit;
}
@ -353,7 +353,7 @@ route[SANITY_CHECK]
if ($ua == "friendly-scanner" ||
$ua == "sundayddr" ||
$ua =~ "sipcli" ) {
xlog("L_WARN", "$ci|end|dropping message with user-agent $ua from $si:$sp");
xlog("L_WARN", "$ci|end|dropping message with user-agent $ua from $si:$sp\n");
exit;
}
}
@ -361,7 +361,7 @@ route[SANITY_CHECK]
route[CLASSIFY_SOURCE]
{
if (isflagset(FLAG_INTERNALLY_SOURCED) || allow_source_address(TRUSTED_ADR_GROUP) || is_myself($si)) {
xlog("L_INFO", "$ci|log|request from trusted IP");
xlog("L_INFO", "$ci|log|request from trusted IP\n");
setflag(FLAG_TRUSTED_SOURCE);
}
@ -395,12 +395,12 @@ route[HANDLE_NOTIFY]
if (is_method("NOTIFY")) {
if (isflagset(FLAG_INTERNALLY_SOURCED)) {
if (loose_route()) {
xlog("L_INFO", "$ci|log|Able to loose-route. Cool beans!");
xlog("L_INFO", "$ci|log|Able to loose-route. Cool beans!\n");
}
if (registered("location")) {
lookup("location");
xlog("L_INFO", "$ci|log|routing to $ruid");
xlog("L_INFO", "$ci|log|routing to $ruid\n");
}
route(INTERNAL_TO_EXTERNAL_RELAY);
} else {
@ -417,10 +417,10 @@ route[HANDLE_NOTIFY]
#!endif
if($hdr(Event) == "keep-alive") {
xlog("L_INFO", "$ci|stop|replying to keep alive");
xlog("L_INFO", "$ci|stop|replying to keep alive\n");
sl_send_reply("405", "Stay Alive / Method Not Allowed");
} else {
xlog("L_INFO", "$ci|stop|consuming event $hdr(Event)");
xlog("L_INFO", "$ci|stop|consuming event $hdr(Event)\n");
sl_send_reply("200", "Rawr!!");
}
}
@ -432,23 +432,23 @@ route[HANDLE_MESSAGE]
{
#!ifdef MESSAGE-ROLE
if (is_method("MESSAGE")) {
xlog("L_INFO", "$ci|MESSAGE from $fu to $tu");
xlog("L_INFO", "$ci|MESSAGE from $fu to $tu\n");
if (isflagset(FLAG_INTERNALLY_SOURCED) || src_ip == myself) {
xlog("L_INFO", "$ci| routing MESSAGE to external from $fu to $tu");
xlog("L_INFO", "$ci| routing MESSAGE to external from $fu to $tu\n");
if (registered("location")) {
lookup("location");
xlog("L_INFO", "$ci|log|routing to $ruid");
xlog("L_INFO", "$ci|log|routing to $ruid\n");
}
route(INTERNAL_TO_EXTERNAL_RELAY);
#!ifdef TRAFFIC_FILTER-ROLE
} else if (!isflagset(FLAG_TRUSTED_SOURCE)
&& $rd =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}") {
xlog("L_WARN", "$ci|end|dropping MESSAGE request with IP domain");
xlog("L_WARN", "$ci|end|dropping MESSAGE request with IP domain\n");
#!endif
} else {
xlog("L_WARN", "$ci|end|MESSAGE $(hdr(Content-Type))");
xlog("L_WARN", "$ci|end|MESSAGE $(hdr(Content-Type))\n");
if( $hdr(Content-Type) == "application/im-iscomposing+xml" ) {
xlog("L_WARN", "$ci|end|dropping MESSAGE application/im-iscomposing+xml");
xlog("L_WARN", "$ci|end|dropping MESSAGE application/im-iscomposing+xml\n");
sl_send_reply("200", "OK");
} else {
route(DISPATCHER_FIND_ROUTES);
@ -490,7 +490,7 @@ route[HANDLE_IN_DIALOG_REQUESTS]
handle_ruri_alias();
}
xlog("L_INFO", "$ci|log|loose_route in-dialog message");
xlog("L_INFO", "$ci|log|loose_route in-dialog message\n");
# Called on in-dialog requests
# If the request in an Invite for on hold from external to internal,
# associate the contact with the media server
@ -500,13 +500,13 @@ route[HANDLE_IN_DIALOG_REQUESTS]
}
route(RELAY);
} else if (isflagset(FLAG_INTERNALLY_SOURCED)) {
xlog("L_INFO", "$ci|log|relay internally sourced in-dialog message without loose_route");
xlog("L_INFO", "$ci|log|relay internally sourced in-dialog message without loose_route\n");
route(RELAY);
} else if (t_check_trans()) {
xlog("L_INFO", "$ci|log|allow message for a known transaction");
xlog("L_INFO", "$ci|log|allow message for a known transaction\n");
route(RELAY);
} else {
xlog("L_INFO", "$ci|log|message had a to-tag but can't be loose routed");
xlog("L_INFO", "$ci|log|message had a to-tag but can't be loose routed\n");
sl_send_reply("481", "Call Leg/Transaction Does Not Exist");
}
exit();
@ -530,13 +530,13 @@ route[PREPARE_INITIAL_REQUESTS]
}
if (is_method("UPDATE")) {
xlog("L_WARN", "$ci|end|update outside dialog not allowed");
xlog("L_WARN", "$ci|end|update outside dialog not allowed\n");
send_reply("403", "Dialog does not exist");
break;
}
if (is_method("BYE|PRACK")) {
xlog("L_WARN", "$ci|end|originating subsequent requests outside dialog not allowed");
xlog("L_WARN", "$ci|end|originating subsequent requests outside dialog not allowed\n");
send_reply("403", "Dialog does not exist");
break;
}
@ -544,9 +544,9 @@ route[PREPARE_INITIAL_REQUESTS]
if (loose_route()) {
$xavp(regcfg=>match_received) = $su;
if(registered("location", "$rz:$Au", 2) == 1) {
xlog("L_INFO", "$ci|log|allowing initial route-set for $Au");
xlog("L_INFO", "$ci|log|allowing initial route-set for $Au\n");
} else {
xlog("L_WARN", "$ci|end|dropping initial request with route-set");
xlog("L_WARN", "$ci|end|dropping initial request with route-set\n");
sl_send_reply("403", "No pre-loaded routes");
exit();
}
@ -556,7 +556,7 @@ route[PREPARE_INITIAL_REQUESTS]
{
$avp(kazoo_aor) = $hdr(X-KAZOO-AOR);
$avp(kazoo_du) = $xavp(ulrcd=>received);
xlog("L_INFO", "$ci|end|setting aor avp : AOR : $hdr(X-KAZOO-AOR)");
xlog("L_INFO", "$ci|end|setting aor avp : AOR : $hdr(X-KAZOO-AOR)\n");
};
record_route();
@ -586,9 +586,8 @@ route[INTERNAL_TO_EXTERNAL_RELAY]
if( $avp(kazoo_aor) != $null)
{
# lookup("location", "$avp(kazoo_aor)");
$du = $avp(kazoo_du);
xlog("L_INFO", "$ci|end|routing to $ruid : AOR : $avp(kazoo_aor)");
xlog("L_INFO", "$ci|end|routing to $ruid : AOR : $avp(kazoo_aor)\n");
}
@ -634,7 +633,7 @@ route[EXTERNAL_TO_INTERNAL_RELAY]
onreply_route[EXTERNAL_REPLY]
{
xlog("L_INFO", "$ci|log|external reply $T_reply_code");
xlog("L_INFO", "$ci|log|external reply $T_reply_code\n");
#!ifdef WEBSOCKETS-ROLE
route(NAT_WEBSOCKETS_CORRECT);
@ -664,8 +663,8 @@ onreply_route[EXTERNAL_REPLY]
onreply_route[INTERNAL_REPLY]
{
# this route handles replies that are comming from our media server
xlog("L_INFO", "$ci|start|received internal reply $T_reply_code $rr");
xlog("L_INFO", "$ci|log|source $si:$sp");
xlog("L_INFO", "$ci|start|received internal reply $T_reply_code $rr\n");
xlog("L_INFO", "$ci|log|source $si:$sp\n");
#!ifdef WEBSOCKETS-ROLE
route(NAT_WEBSOCKETS_CORRECT);
@ -692,15 +691,15 @@ onreply_route[INTERNAL_REPLY]
if ($avp(AVP_REDIRECT_KEY) != $null &&
$sht(redirects=>$avp(AVP_REDIRECT_KEY)) != $null
) {
xlog("L_INFO", "$ci|log|removing redirect mapping $avp(AVP_REDIRECT_KEY)");
xlog("L_INFO", "$ci|log|removing redirect mapping $avp(AVP_REDIRECT_KEY)\n");
$sht(redirects=>$avp(AVP_REDIRECT_KEY)) = $null;
}
xlog("L_INFO", "$ci|log|call setup, now ignoring abnormal termination");
xlog("L_INFO", "$ci|log|call setup, now ignoring abnormal termination\n");
setflag(FLAG_SESSION_PROGRESS);
}
if ($rs < 300) {
xlog("L_INFO", "$ci|pass|$T_req($si):$T_req($sp)");
xlog("L_INFO", "$ci|pass|$T_req($si):$T_req($sp)\n");
}
$var(reply_reason) = $rr;
@ -714,7 +713,7 @@ failure_route[INTERNAL_FAULT]
# if the failure cause was due to the transaction being
# cancelled then we are complete
if (t_is_canceled()) {
xlog("L_INFO", "$ci|log|transaction was cancelled");
xlog("L_INFO", "$ci|log|transaction was cancelled\n");
exit;
}
@ -724,14 +723,14 @@ failure_route[INTERNAL_FAULT]
+ $T_rpl($(ct{tobody.user})) + "@" + $T_rpl($(ct{tobody.host}));
if($T_rpl($hdr(X-Redirect-Server)) != $null) {
$sht(redirects=>$var(redirect)) = $T_rpl($hdr(X-Redirect-Server));
xlog("L_INFO", "$ci|log|stored redirect mapping $var(redirect) to $T_rpl($hdr(X-Redirect-Server))");
xlog("L_INFO", "$ci|log|stored redirect mapping $var(redirect) to $T_rpl($hdr(X-Redirect-Server))\n");
}
route(DISPATCHER_REDIRECT);
} else if (!t_check_status("407") &&
$avp(AVP_REDIRECT_KEY) != $null &&
$sht(redirects=>$avp(AVP_REDIRECT_KEY)) != $null
) {
xlog("L_INFO", "$ci|log|removing redirect mapping $avp(AVP_REDIRECT_KEY)");
xlog("L_INFO", "$ci|log|removing redirect mapping $avp(AVP_REDIRECT_KEY)\n");
$sht(redirects=>$avp(AVP_REDIRECT_KEY)) = $null;
}
@ -740,22 +739,22 @@ failure_route[INTERNAL_FAULT]
# change 6xx to 4xx
if (t_check_status("6[0-9][0-9]") && !t_check_status("600|603|604|606")) {
$var(new_code) = "4" + $(T_reply_code{s.substr,1,0});
xlog("L_INFO", "$ci|log|sending 6XX reply as $var(new_code) $var(reply_reason)");
xlog("L_INFO", "$ci|log|sending 6XX reply as $var(new_code) $var(reply_reason)\n");
t_reply("$(var(new_code){s.int})", "$var(reply_reason)");
# if the failure case was something that we should recover
# from then try to find a new media server
} else if ($var(reply_reason) =~ "call barred") {
xlog("L_INFO", "$ci|log|failure route ignoring call barred");
xlog("L_INFO", "$ci|log|failure route ignoring call barred\n");
} else if (isflagset(FLAG_SESSION_PROGRESS)) {
xlog("L_INFO", "$ci|log|failure route ignoring failure after session progress");
xlog("L_INFO", "$ci|log|failure route ignoring failure after session progress\n");
} else if (t_check_status("(401)|(407)|(486)|(403)")) {
xlog("L_INFO", "$ci|log|failure route ignoring auth reply $T_reply_code $var(reply_reason)");
xlog("L_INFO", "$ci|log|failure route ignoring auth reply $T_reply_code $var(reply_reason)\n");
} else if (t_check_status("402")) {
xlog("L_INFO", "$ci|log|failure route overriding reply code 402 with 486");
xlog("L_INFO", "$ci|log|failure route overriding reply code 402 with 486\n");
send_reply("486", "Insufficient Funds");
} else if (t_check_status("(4[0-9][0-9])|(5[0-9][0-9])")) {
xlog("L_INFO", "$ci|start|received failure reply $T_reply_code $rr");
xlog("L_INFO", "$ci|start|received failure reply $T_reply_code $rr\n");
#!ifdef DISPATCHER-ROLE
route(DISPATCHER_NEXT_ROUTE);
@ -763,19 +762,19 @@ failure_route[INTERNAL_FAULT]
send_reply("486", "Unable to Comply");
} else {
xlog("L_INFO", "$ci|log|failure route ignoring reply $T_reply_code $rr");
xlog("L_INFO", "$ci|log|failure route ignoring reply $T_reply_code $rr\n");
}
xlog("L_INFO", "$ci|pass|$si:$sp");
xlog("L_INFO", "$ci|pass|$si:$sp\n");
}
onsend_route {
if (isflagset(FLAG_ASSOCIATE_USER)) {
$var(contact_uri) = $(ct{tobody.user}) + "@" + $(ct{tobody.host});
xlog("L_INFO", "$ci|log|associate user $var(contact_uri) with media server sip:$sndto(ip):$sndto(port)");
xlog("L_INFO", "$ci|log|associate user $var(contact_uri) with media server sip:$sndto(ip):$sndto(port)\n");
$sht(associations=>$var(contact_uri))= "sip:" + $sndto(ip) + ":" + $sndto(port);
}
xlog("L_INFO", "$ci|pass|$sndfrom(ip):$sndfrom(port) -> $sndto(ip):$sndto(port)");
xlog("L_INFO", "$ci|pass|$sndfrom(ip):$sndfrom(port) -> $sndto(ip):$sndto(port)\n");
}
event_route[kazoo:mod-init]
@ -851,17 +850,17 @@ event_route[kazoo:mod-init]
event_route[kazoo:consumer-event]
{
xlog("L_INFO","unhandled AMQP event, payload: $kzE");
xlog("L_INFO","unhandled AMQP event, payload: $kzE\n");
}
event_route[kazoo:consumer-event-connection-open]
{
xlog("L_INFO","connection to $(kzE{kz.json,host}) opened");
xlog("L_INFO","connection to $(kzE{kz.json,host}) opened\n");
}
event_route[kazoo:consumer-event-connection-closed]
{
xlog("L_INFO","connection to $(kzE{kz.json,host}) closed");
xlog("L_INFO","connection to $(kzE{kz.json,host}) closed\n");
}
route[ADD_AUTHORIZATION_HEADERS]


+ 13
- 13
kamailio/dispatcher-role.cfg View File

@ -36,7 +36,7 @@ modparam("dispatcher", "ds_ping_from", "sip:sipcheck@MY_HOSTNAME")
route[DISPATCHER_CLASSIFY_SOURCE]
{
if (is_myself("$ou")) {
xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources");
xlog("L_INFO", "$ci|log|original R-URI ($ou) is this proxy, treating as external sources\n");
} else if (
ds_is_from_list(1, 3) ||
ds_is_from_list(2, 3) ||
@ -44,11 +44,11 @@ route[DISPATCHER_CLASSIFY_SOURCE]
ds_is_from_list(10, 3) ||
ds_is_from_list(20, 3)
) {
xlog("L_INFO", "$ci|log|originated from internal sources");
xlog("L_INFO", "$ci|log|originated from internal sources\n");
setflag(FLAG_INTERNALLY_SOURCED);
} else {
xlog("L_INFO", "$ci|log|originated from external sources");
xlog("L_INFO", "$ci|log|originated from external sources\n");
}
}
@ -83,12 +83,12 @@ route[DISPATCHER_FIND_ROUTES]
# if we selected from group 1, try again in group 2
if ($var(ds_group) == 1) {
if (!ds_select_dst("2", "0")) {
xlog("L_WARN", "$ci|end|no servers avaliable in group 1 or 2");
xlog("L_WARN", "$ci|end|no servers avaliable in group 1 or 2\n");
sl_send_reply("480", "All servers busy");
exit;
}
} else {
xlog("L_INFO", "$ci|end|no servers avaliable in group $var(ds_group)");
xlog("L_INFO", "$ci|end|no servers avaliable in group $var(ds_group)\n");
sl_send_reply("480", "All servers busy");
exit;
}
@ -99,13 +99,13 @@ route[DISPATCHER_FIND_ROUTES]
+ @ruri.user + "@" + @ruri.host;
if ($sht(redirects=>$var(redirect)) != $null) {
$var(prefered_route) = $sht(redirects=>$var(redirect));
xlog("L_INFO", "$ci|log|found redirect for $var(redirect)");
xlog("L_INFO", "$ci|log|found redirect for $var(redirect)\n");
if (route(DISPATCHER_REORDER_ROUTES)) {
$avp(AVP_REDIRECT_KEY) = $var(redirect);
}
} else if ($sht(associations=>$var(contact_uri)) != $null) {
$var(prefered_route) = $sht(associations=>$var(contact_uri));
xlog("L_INFO", "$ci|log|found association for contact uri $var(contact_uri)");
xlog("L_INFO", "$ci|log|found association for contact uri $var(contact_uri)\n");
if (!route(DISPATCHER_REORDER_ROUTES)) {
$sht(associations=>$var(association)) = $null;
}
@ -120,7 +120,7 @@ route[DISPATCHER_REDIRECT]
+ @ruri.user + "@" + @ruri.host;
if ($sht(redirects=>$var(redirect)) != $null) {
$var(prefered_route) = $sht(redirects=>$var(redirect));
xlog("L_INFO", "$ci|log|found redirect for $var(redirect) : $var(prefered_route)");
xlog("L_INFO", "$ci|log|found redirect for $var(redirect) : $var(prefered_route)\n");
$du = $var(prefered_route);
$avp(AVP_REDIRECT_KEY) = $var(redirect);
route(EXTERNAL_TO_INTERNAL_RELAY);
@ -146,7 +146,7 @@ route[DISPATCHER_REORDER_ROUTES]
$var(i) = 0;
while($(avp(ds_dst)[$var(i)]) != $null) {
if($(avp(ds_dst)[$var(i)]) == $var(prefered_route)) {
xlog("L_INFO", "$ci|log|found associated media server in backup list");
xlog("L_INFO", "$ci|log|found associated media server in backup list\n");
$var(found) = 1;
break;
}
@ -155,7 +155,7 @@ route[DISPATCHER_REORDER_ROUTES]
}
if ($var(found)) {
xlog("L_INFO", "$ci|log|re-ordering the dispatcher list to maintain association with $var(prefered_route)");
xlog("L_INFO", "$ci|log|re-ordering the dispatcher list to maintain association with $var(prefered_route)\n");
$(avp(ds_dst)[*]) = $null;
@ -170,7 +170,7 @@ route[DISPATCHER_REORDER_ROUTES]
$(avp(tmp_ds_dst)[*]) = $null;
} else {
xlog("L_INFO", "$ci|log|associated media server $var(prefered_route) is inactive, moving to $rd");
xlog("L_INFO", "$ci|log|associated media server $var(prefered_route) is inactive, moving to $rd\n");
return -1;
}
@ -202,8 +202,8 @@ route[DISPATCHER_NEXT_ROUTE]
$sht(failover=>$ci::counts) = $var(failover_count);
$sht(failover=>$ci::current) = $du;
xlog("L_INFO", "$ci|log|remaining failed retry attempts: $var(failover_count)");
xlog("L_INFO", "$ci|log|routing call to next media server $du");
xlog("L_INFO", "$ci|log|remaining failed retry attempts: $var(failover_count)\n");
xlog("L_INFO", "$ci|log|routing call to next media server $du\n");
setflag(FLAG_SKIP_NAT_CORRECTION);


+ 6
- 6
kamailio/fast-pickup-role.cfg View File

@ -21,7 +21,7 @@ route[FAST_PICKUP_ATTEMPT]
$ru = $sht(fp=>$var(Cookie)::URI);
$tu = $sht(fp=>$var(Cookie)::URI);
$du = $sht(fp=>$var(Cookie)::Switch-URI);
xlog("L_INFO", "$ci|log|call-id fast pickup call $var(replaced_call_id), redirecting to $du");
xlog("L_INFO", "$ci|log|call-id fast pickup call $var(replaced_call_id), redirecting to $du\n");
route(EXTERNAL_TO_INTERNAL_RELAY);
exit();
}
@ -32,14 +32,14 @@ route[FAST_PICKUP_ATTEMPT]
}
if($var(replaced_call_id) != "none") {
xlog("L_INFO", "$ci|log|replaces call-id $var(replaced_call_id)");
xlog("L_INFO", "$ci|log|replaces call-id $var(replaced_call_id)\n");
$var(amqp_payload_request) = '{"Event-Category" : "call_event" , "Event-Name" : "channel_status_req", "Call-ID" : "' + $var(replaced_call_id) + '", "Active-Only" : true }';
$var(amqp_routing_key) = "call.status_req." + $(var(replaced_call_id){kz.encode});
sl_send_reply("100", "Attempting K query");
if(kazoo_query("callevt", $var(amqp_routing_key), $var(amqp_payload_request))) {
$du = $(kzR{kz.json,Switch-URL});
if($du != $null) {
xlog("L_INFO", "$ci|log|call-id $var(replaced_call_id) found redirecting call to $du, courtesy of kazoo");
xlog("L_INFO", "$ci|log|call-id $var(replaced_call_id) found redirecting call to $du, courtesy of kazoo\n");
route(EXTERNAL_TO_INTERNAL_RELAY);
exit();
}
@ -49,9 +49,9 @@ route[FAST_PICKUP_ATTEMPT]
##### CALL-PARK ####
if($(ru{uri.user}) =~ "\*3" && $sht(park=>$(ru{uri.user})@$(ru{uri.domain})) != $null) {
$du = $sht(park=>$(ru{uri.user})@$(ruri{uri.domain}));
xlog("L_INFO", "$ci|log|redirecting park request to $du");
xlog("L_INFO", "$ci|log|redirecting park request to $du\n");
if ($hdr(Proxy-Authorization) != $null) {
xlog("L_INFO", "$ci|log|removed park redirect");
xlog("L_INFO", "$ci|log|removed park redirect\n");
$sht(park=>$(ru{uri.user})@$(ruri{uri.domain})) = $null;
}
route(EXTERNAL_TO_INTERNAL_RELAY);
@ -76,7 +76,7 @@ route[FAST_PICKUP_REPLY] {
}
$var(contact) = "sip:" + $(ct{tobody.uri}{uri.host}) + ":" + $(ct{tobody.uri}{uri.port});
xlog("L_INFO", "$ci|log|caching park info $(avp(refer_to_uri){uri.user})@$(avp(refer_to_uri){uri.domain}) = $var(contact)");
xlog("L_INFO", "$ci|log|caching park info $(avp(refer_to_uri){uri.user})@$(avp(refer_to_uri){uri.domain}) = $var(contact)\n");
$sht(park=>$(avp(refer_to_uri){uri.user})@$(avp(refer_to_uri){uri.domain})) = $var(contact);
}


+ 3
- 3
kamailio/message-role.cfg View File

@ -6,7 +6,7 @@ event_route[kazoo:consumer-event-message-route]
$var(uri_username) = "";
kazoo_json($kzE, "Endpoints[0].To-Username", "$var(uri_username)");
$var(x) = $(kzE{kz.json,Endpoints[0].To-Username});
xlog("L_INFO", "received message route for $(kzE{kz.json,Endpoints[0].To-DID})");
xlog("L_INFO", "received message route for $(kzE{kz.json,Endpoints[0].To-DID})\n");
if( $var(uri_username) != "" ) {
$var(from_uri) = "sip:" + $(kzE{kz.json,Caller-ID-Number}) + "@" + $(kzE{kz.json,Endpoints[0].To-Realm});
$var(to_uri) = "sip:" + $(kzE{kz.json,Endpoints[0].To-Username}) + "@" + $(kzE{kz.json,Endpoints[0].To-Realm});
@ -23,7 +23,7 @@ event_route[kazoo:consumer-event-message-route]
$uac_req(furi) = $var(from_uri);
$uac_req(ouri) = "sip:MY_IP_ADDRESS:5060";
$uac_req(callid) = $(kzE{kz.json,Call-ID});
xlog("L_INFO", "sending message from $var(from_uri) to $var(to_uri) ");
xlog("L_INFO", "sending message from $var(from_uri) to $var(to_uri) \n");
uac_req_send();
}
@ -47,7 +47,7 @@ route[MESSAGE_REPLY]
$var(exchange) = "sms";
$var(RoutingKey) = "message.delivery." + $(sht(msg=>$ci){kz.json,Call-ID}{kz.encode});
}
xlog("L_INFO", "sending delivery message for $ci");
xlog("L_INFO", "sending delivery message for $ci\n");
kazoo_publish($var(exchange), $var(RoutingKey), $var(Payload));
}


+ 7
- 7
kamailio/presence-role.cfg View File

@ -46,21 +46,21 @@ route[HANDLE_SUBSCRIBE]
}
if ($tU == $null) {
xlog("L_INFO", "$ci|stop|ignoring subscribe with empty TO username from a $ua");
xlog("L_INFO", "$ci|stop|ignoring subscribe with empty TO username from a $ua\n");
sl_send_reply(400, "Missing TO username");
t_release();
exit;
}
if ($fU == $null) {
xlog("L_INFO", "$ci|stop|ignoring subscribe with empty FROM username from a $ua");
xlog("L_INFO", "$ci|stop|ignoring subscribe with empty FROM username from a $ua\n");
sl_send_reply(400, "Missing FROM username");
t_release();
exit;
}
if (!handle_subscribe()) {
xlog("L_INFO", "$ci|stop|unsupported subsribe");
xlog("L_INFO", "$ci|stop|unsupported subsribe\n");
t_release();
exit;
}
@ -109,7 +109,7 @@ event_route[kazoo:consumer-event-presence-update]
$var(call-id) = $(kzE{kz.json,Call-ID});
if( $(kzE{kz.json,Event-Package}) == "dialog") {
if($sht(p=>$var(call-id)) != $(kzE{kz.json,State}) || $(kzE{kz.json,Flush-Level}) != $null) {
xlog("L_INFO", "$(kzE{kz.json,Target-Call-ID})|log|received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State})");
xlog("L_INFO", "$(kzE{kz.json,Target-Call-ID})|log|received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State})\n");
$sht(p=>$(kzE{kz.json,Call-ID})) = $(kzE{kz.json,State});
#!ifdef FAST_PICKUP-ROLE
route(FAST_PICKUP_INIT);
@ -117,11 +117,11 @@ event_route[kazoo:consumer-event-presence-update]
kazoo_pua_publish($kzE);
pres_refresh_watchers("$(kzE{kz.json,From})", "$(kzE{kz.json,Event-Package})", 1);
} else {
xlog("L_INFO", "$var(call-id)|log|received duplicate $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State})");
xlog("L_INFO", "$var(call-id)|log|payload $kzE");
xlog("L_INFO", "$var(call-id)|log|received duplicate $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) state $(kzE{kz.json,State})\n");
xlog("L_INFO", "$var(call-id)|log|payload $kzE\n");
}
} else {
xlog("L_INFO", "$var(call-id)|log|received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE");
xlog("L_INFO", "$var(call-id)|log|received $(kzE{kz.json,Event-Package}) update for $(kzE{kz.json,From}) $kzE\n");
kazoo_pua_publish($kzE);
pres_refresh_watchers("$(kzE{kz.json,From})", "$(kzE{kz.json,Event-Package})", 1);
}


+ 2
- 2
kamailio/presence_notify_sync-role.cfg View File

@ -17,7 +17,7 @@ onreply_route[PRESENCE_NOTIFY_REPLY]
$var(amqp_payload_request) = '{"Event-Category" : "presence", "Event-Name" : "notify", "Event-Package" : "$avp(notify_event)", "Call-ID" : "$ci", "From" : "$fu", "To" : "$tu", "Body" : "$(avp(notify_body){s.escape.common})", "Sequence" : $cs, "Reply" : $T_reply_code }';
$var(rk) = "notify." + $(td{kz.encode}) + "." + $(tU{kz.encode});
kazoo_publish("omnipresence", "$var(rk)", $var(amqp_payload_request));
xlog("L_INFO", "$ci|log|sent notify callback for event $avp(notify_event) : $tu");
xlog("L_INFO", "$ci|log|sent notify callback for event $avp(notify_event) : $tu\n");
}
onreply_route[PRESENCE_NOTIFY_FAULT]
@ -25,5 +25,5 @@ onreply_route[PRESENCE_NOTIFY_FAULT]
$var(amqp_payload_request) = '{"Event-Category" : "presence", "Event-Name" : "notify", "Event-Package" : "$avp(notify_event)", "Call-ID" : "$ci", "From" : "$fu", "To" : "$tu", "Body" : "$(avp(notify_body){s.escape.common})", "Sequence" : $cs, "Reply" : $T_reply_code }';
$var(rk) = "notify." + $(td{kz.encode}) + "." + $(tU{kz.encode});
kazoo_publish("omnipresence", "$var(rk)", $var(amqp_payload_request));
xlog("L_INFO", "$ci|log|sent notify callback error $T_reply_code for event $avp(notify_event) : $tu");
xlog("L_INFO", "$ci|log|sent notify callback error $T_reply_code for event $avp(notify_event) : $tu\n");
}

+ 3
- 3
kamailio/presence_query-role.cfg View File

@ -9,7 +9,7 @@ modparam("sqlops","sqlcon", "cb=>KAZOO_DB_URL")
event_route[kazoo:consumer-event-presence-search-req]
{
xlog("L_INFO", "received presence search_req $kzE");
xlog("L_INFO", "received presence search_req $kzE\n");
$var(Queue) = $(kzE{kz.json,Server-ID});
$var(Event) = $(kzE{kz.json,Event-Package});
$var(Domain) = $(kzE{kz.json,Realm});
@ -24,7 +24,7 @@ event_route[kazoo:consumer-event-presence-search-req]
$var(Query) = $var(Query) + $_s( and username = "$var(Username)");
}
$var(Query) = $var(Query) + " order by username, event, id";
xlog("L_INFO", "$ci| QUERY $var(Query)");
xlog("L_INFO", "$ci| QUERY $var(Query)\n");
if (sql_xquery("cb", "$var(Query)", "ra") == 1)
{
@ -47,7 +47,7 @@ event_route[kazoo:consumer-event-presence-search-req]
$var(Sep2)=", ";
}
$var(Usr) = $_s("$var(Username)") + " : { " + $var(Evt) + " }";
xlog("L_INFO", "$ci| RESULT \"Subscriptions\" : { $var(Usr) }");
xlog("L_INFO", "$ci| RESULT \"Subscriptions\" : { $var(Usr) }\n");
$var(amqp_payload_request) = '{"Event-Category" : "presence", "Event-Name" : "search_partial_resp", "Msg-ID" : "$(kzE{kz.json,Msg-ID})", "Subscriptions" : { $var(Usr) } }';
kazoo_publish("targeted", "$var(Queue)", $var(amqp_payload_request));
}


+ 3
- 3
kamailio/presence_sync-role.cfg View File

@ -9,7 +9,7 @@ modparam("sqlops","sqlcon", "cb=>KAZOO_DB_URL")
event_route[kazoo:consumer-event-presence-sync]
{
xlog("L_INFO", "received SYNC $kzE");
xlog("L_INFO", "received SYNC $kzE\n");
$var(Queue) = $(kzE{kz.json,Server-ID});
$var(Now) = $TS;
######## SEND BACK START ########
@ -22,9 +22,9 @@ event_route[kazoo:consumer-event-presence-sync]
{
$var(runloop) = 1;
while($xavp(ra) != $null && $var(runloop) < MAX_WHILE_LOOPS ) {
xlog("L_INFO", "[id, presentity, watcher] = [$xavp(ra=>id), $xavp(ra=>presentity_uri), $xavp(ra=>watcher_username)]");
xlog("L_INFO", "[id, presentity, watcher] = [$xavp(ra=>id), $xavp(ra=>presentity_uri), $xavp(ra=>watcher_username)]\n");
$var(Expires) = $xavp(ra=>expires) - $var(Now);
xlog("L_INFO", "EXPIRES $var(Expires) , $xavp(ra=>expires) , $var(Now)");
xlog("L_INFO", "EXPIRES $var(Expires) , $xavp(ra=>expires) , $var(Now)\n");
$var(amqp_payload_request) = '{"Event-Category" : "presence", "Event-Name" : "subscription", "Event-Package" : "$xavp(ra=>event)", "Expires" : $var(Expires), "Server-ID" : "BLF-MY_HOSTNAME" , "Contact" : "$xavp(ra=>contact)", "Call-ID" : "$xavp(ra=>callid)", "From" : "sip:$xavp(ra=>watcher_username)@$xavp(ra=>watcher_domain)", "User" : "$xavp(ra=>presentity_uri)" }"';
kazoo_publish("targeted", "$var(Queue)", $var(amqp_payload_request));
pv_unset("$xavp(ra)");


+ 2
- 2
kamailio/pusher-role.cfg View File

@ -15,7 +15,7 @@ route[PUSHER_ROUTE]
return;
}
xlog("L_INFO", "$ci| pusher received request to wakeup $tu");
xlog("L_INFO", "$ci| pusher received request to wakeup $tu\n");
sl_send_reply(180, "waking the dead guy");
if (t_newtran()) {
route(SEND_PUSH_NOTIFICATION);
@ -47,7 +47,7 @@ route[SEND_PUSH_NOTIFICATION]
route[PUSHER_ON_REGISTRATION]
{
if($(xavp(ulattrs=>custom_channel_vars){kz.json,Pusher-Application}{s.len}) > 0 && $var(Status) == "Registered") {
xlog("L_INFO", "$ci| pusher ON_REGISTRATION - $(xavp(ulattrs=>custom_channel_vars){kz.json,Pusher-Application})");
xlog("L_INFO", "$ci| pusher ON_REGISTRATION - $(xavp(ulattrs=>custom_channel_vars){kz.json,Pusher-Application})\n");
ts_append("location", "$tu");
}
}

+ 30
- 30
kamailio/rate-limiter-role.cfg View File

@ -15,7 +15,7 @@ route[DOS_PREVENTION] {
# If packet came from platform or from 4 class MERA, do not check it
if (isflagset(FLAG_INTERNALLY_SOURCED) || isflagset(FLAG_TRUSTED_SOURCE) ) {
xlog("L_DEBUG", "$ci |RL| Trusted source IP($si) ignoring");
xlog("L_DEBUG", "$ci |RL| Trusted source IP($si) ignoring\n");
return;
}
@ -39,7 +39,7 @@ route[DOS_PREVENTION] {
# For BYE method we use REALM from To SIP header
if ($fd =~ IP_REGEX) {
xlog("L_WARNING","$ci|RL-realm log| Fixup for $rm method with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|RL-realm log| Fixup for $rm method with IP in from URI: use to-domain\n");
$var(ltpm_realm) = $td+"/TOTAL/min";
$var(ltps_realm) = $td+"/TOTAL/sec";
$var(ltpm_device) = $fU+"@"+$td+"/TOTAL/min";
@ -57,20 +57,20 @@ route[DOS_PREVENTION] {
if ((is_method("INVITE") || is_method("REGISTER")) && (!isflagset(FLAG_IS_REPLY))) {
if ($sht(rate_limits=>$var(lrpm_realm)) == -1
|| $sht(rate_limits=>$var(lrps_realm)) == -1) {
xlog("L_INFO", "$ci|RL-realm log| Can't find HASHed rate for $var(entity) with $rm method");
xlog("L_INFO", "$ci|RL-realm log| Can't find HASHed rate for $var(entity) with $rm method\n");
$var(with-realm-request) = "true";
}
}
if ($sht(rate_limits=>$var(ltpm_realm)) == -1
|| $sht(rate_limits=>$var(ltps_realm)) == -1) {
xlog("L_INFO", "$ci|RL-realm log| Can't find HASHed rate for $var(entity) with $rm method");
xlog("L_INFO", "$ci|RL-realm log| Can't find HASHed rate for $var(entity) with $rm method\n");
$var(with-realm-total) = "true";
}
if (not_empty("$fU")) {
if ($fd =~ IP_REGEX) {
xlog("L_WARNING","$ci|RL-realm log| Fixup for $rm method with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|RL-realm log| Fixup for $rm method with IP in from URI: use to-domain\n");
$var(entity) = $fU+"@"+$td;
} else {
$var(entity) = $fU+"@"+$fd;
@ -80,13 +80,13 @@ route[DOS_PREVENTION] {
if ((is_method("INVITE") || is_method("REGISTER")) && (!isflagset(FLAG_IS_REPLY))) {
if ($sht(rate_limits=>$var(lrpm_device)) == -1
|| $sht(rate_limits=>$var(lrps_device)) == -1) {
xlog("L_INFO", "$ci|RL-device log| Can't find HASHed rate for $var(entity) with $rm method");
xlog("L_INFO", "$ci|RL-device log| Can't find HASHed rate for $var(entity) with $rm method\n");
$var(with-device-request) = "true";
}
}
if ($sht(rate_limits=>$var(ltpm_device)) == -1 || $sht(rate_limits=>$var(ltps_device)) == -1) {
xlog("L_INFO", "$ci|RL-device log| Can't find HASHed rate for $var(entity) with $rm method");
xlog("L_INFO", "$ci|RL-device log| Can't find HASHed rate for $var(entity) with $rm method\n");
$var(with-device-total) = "true";
}
}
@ -104,10 +104,10 @@ route[DOS_PREVENTION] {
|| $var(with-realm-total) == "true" ) {
avp_printf("$avp(s:query-request)", "{\"Entity\" : \"$var(entity)\", \"$var(method-key)\" : $var(method-value), \"Event-Category\" : \"rate_limit\", \"Event-Name\" : \"query\", \"With-Realm\" : $var(with-realm-request)}");
xlog("L_INFO", "$ci|RL log| Query: $avp(s:query-request)");
xlog("L_INFO", "$ci|RL log| Query: $avp(s:query-request)\n");
sl_send_reply("100", "Attempting K query");
if (kazoo_query("frontier", "sbc_config", $avp(s:query-request), "$var(amqp_result)")) {
xlog("L_INFO", "$ci|RL log| Response: $var(amqp_result)");
xlog("L_INFO", "$ci|RL log| Response: $var(amqp_result)\n");
kazoo_json($var(amqp_result), "Realm.Minute." + $rm, "$var(realm-min)");
kazoo_json($var(amqp_result), "Realm.Second." + $rm, "$var(realm-sec)");
@ -120,44 +120,44 @@ route[DOS_PREVENTION] {
if ( not_empty("$var(realm-min)") ) {
$sht(rate_limits=>$var(lrpm_realm)) = $(var(realm-min){s.int});
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(lrpm_realm)=$sht(rate_limits=>$var(lrpm_realm))");
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(lrpm_realm)=$sht(rate_limits=>$var(lrpm_realm))\n");
}
if ( not_empty("$var(realm-sec)") ) {
$sht(rate_limits=>$var(lrps_realm)) = $(var(realm-sec){s.int});
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(lrps_realm)=$sht(rate_limits=>$var(lrps_realm))");
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(lrps_realm)=$sht(rate_limits=>$var(lrps_realm))\n");
}
if ( not_empty("$var(realm-min-total)") ) {
$sht(rate_limits=>$var(ltpm_realm)) = $(var(realm-min-total){s.int});
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(ltpm_realm)=$sht(rate_limits=>$var(ltpm_realm))");
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(ltpm_realm)=$sht(rate_limits=>$var(ltpm_realm))\n");
}
if ( not_empty("$var(realm-sec-total)") ) {
$sht(rate_limits=>$var(ltps_realm)) = $(var(realm-sec-total){s.int});
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(ltps_realm)=$sht(rate_limits=>$var(ltps_realm))");
xlog("L_INFO", "$ci|RL-realm log| $rm DB=>HASH for $var(ltps_realm)=$sht(rate_limits=>$var(ltps_realm))\n");
}
if ( not_empty("$var(device-min)") ) {
$sht(rate_limits=>$var(lrpm_device)) = $(var(device-min){s.int});
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(lrpm_device)=$sht(rate_limits=>$var(lrpm_device))");
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(lrpm_device)=$sht(rate_limits=>$var(lrpm_device))\n");
}
if ( not_empty("$var(device-sec)") ) {
$sht(rate_limits=>$var(lrps_device)) = $(var(device-sec){s.int});
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(lrps_device)=$sht(rate_limits=>$var(lrps_device))");
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(lrps_device)=$sht(rate_limits=>$var(lrps_device))\n");
}
if ( not_empty("$var(device-min-total)") ) {
$sht(rate_limits=>$var(ltpm_device)) = $(var(device-min-total){s.int});
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(ltpm_device)=$sht(rate_limits=>$var(ltpm_device))");
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(ltpm_device)=$sht(rate_limits=>$var(ltpm_device))\n");
}
if ( not_empty("$var(device-sec-total)") ) {
$sht(rate_limits=>$var(ltps_device)) = $(var(device-sec-total){s.int});
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(ltps_device)=$sht(rate_limits=>$var(ltps_device))");
xlog("L_INFO", "$ci|RL-device log| $rm DB=>HASH for $var(ltps_device)=$sht(rate_limits=>$var(ltps_device))\n");
}
} else {
xlog("L_ERROR", "$ci|RL log| $rm DB unreachable for entity: $var(entity)");
xlog("L_ERROR", "$ci|RL log| $rm DB unreachable for entity: $var(entity)\n");
return;
}
}
if ($fd =~ IP_REGEX) {
xlog("L_WARNING","$ci|RL-device log| Fixup for $rm method with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|RL-device log| Fixup for $rm method with IP in from URI: use to-domain\n");
$var(entity) = $td;
} else {
$var(entity) = $fd;
@ -175,7 +175,7 @@ route[DOS_PREVENTION] {
if ( not_empty("$fU") ) {
if ($fd =~ IP_REGEX) {
$var(entity) = $fU+"@"+$td;
xlog("L_WARNING","$ci|RL-device log| Fixup for $rm method with IP in from URI: use to-domain");
xlog("L_WARNING","$ci|RL-device log| Fixup for $rm method with IP in from URI: use to-domain\n");
} else {
$var(entity) = $fU+"@"+$fd;
}
@ -203,12 +203,12 @@ route[DO_DOS_PREVENTION] {
# Personal debug for INVITE and REGISTER
if ((is_method("INVITE") || is_method("REGISTER"))) {
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(rpm) = $var(lrpm)/$sht(rpm=>$var(rpm))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(rps) = $var(lrps)/$sht(rps=>$var(rps))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(rpm) = $var(lrpm)/$sht(rpm=>$var(rpm))\n");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(rps) = $var(lrps)/$sht(rps=>$var(rps))\n");
}
# Commmon debug for ALL packet including INVITE and REGISTER
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(tpm) = $var(ltpm)/$sht(tpm=>$var(tpm))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(tps) = $var(ltps)/$sht(tps=>$var(tps))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(tpm) = $var(ltpm)/$sht(tpm=>$var(tpm))\n");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| L/C for $var(tps) = $var(ltps)/$sht(tps=>$var(tps))\n");
# Personal increment just for INVITE and REGISTER
if ((is_method("INVITE") || is_method("REGISTER")) && (!isflagset(FLAG_IS_REPLY))) {
@ -223,31 +223,31 @@ route[DO_DOS_PREVENTION] {
if ((is_method("INVITE") || is_method("REGISTER")) && (!isflagset(FLAG_IS_REPLY))) {
if ($sht(rps=>$var(rps)) > $var(lrps)) {
sl_send_reply(RATE_LIMIT_CODE, RATE_LIMIT_MESSAGE);
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of $rm $var(rps) rate limits: $sht(rps=>$var(rps)) > $var(lrps))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of $rm $var(rps) rate limits: $sht(rps=>$var(rps)) > $var(lrps))\n");
exit;
}
if ($sht(rpm=>$var(rpm)) > $var(lrpm)) {
sl_send_reply(RATE_LIMIT_CODE, RATE_LIMIT_MESSAGE);
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of $rm $var(rpm) rate limits: $sht(rpm=>$var(rpm)) > $var(lrpm))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of $rm $var(rpm) rate limits: $sht(rpm=>$var(rpm)) > $var(lrpm))\n");
exit;
}
}
# Commmon checks for ALL packet including INVITE and REGISTER
if ($sht(tps=>$var(tps)) > $var(ltps)) {
if (isflagset(FLAG_IS_REPLY)) {
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm::$rs $rr) $var(tps) rate limits: $sht(tps=>$var(tps)) > $var(ltps))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm::$rs $rr) $var(tps) rate limits: $sht(tps=>$var(tps)) > $var(ltps))\n");
} else {
sl_send_reply(RATE_LIMIT_CODE, RATE_LIMIT_MESSAGE);
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm) $var(tps) rate limits: $sht(tps=>$var(tps)) > $var(ltps))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm) $var(tps) rate limits: $sht(tps=>$var(tps)) > $var(ltps))\n");
}
exit;
}
if ($sht(tpm=>$var(tpm)) > $var(ltpm)) {
if (isflagset(FLAG_IS_REPLY)) {
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm::$rs $rr) $var(tpm) rate limits: $sht(tpm=>$var(tpm)) > $var(ltpm))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm::$rs $rr) $var(tpm) rate limits: $sht(tpm=>$var(tpm)) > $var(ltpm))\n");
} else {
sl_send_reply(RATE_LIMIT_CODE, RATE_LIMIT_MESSAGE);
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm) $var(tpm) rate limits: $sht(tpm=>$var(tpm)) > $var(ltpm))");
xlog("L_INFO", "$ci|RL-$var(entity-type) log| Out of TOTAL($rm) $var(tpm) rate limits: $sht(tpm=>$var(tpm)) > $var(ltpm))\n");
}
exit;
}


+ 16
- 16
kamailio/registrar-role.cfg View File

@ -61,7 +61,7 @@ route[HANDLE_REGISTER]
#!ifdef NAT-TRAVERSAL-ROLE
if (nat_uac_test("3")) {
xlog("L_INFO", "$ci|log|correcting NATed contact in registration");
xlog("L_INFO", "$ci|log|correcting NATed contact in registration\n");
force_rport();
fix_nated_register();
}
@ -98,7 +98,7 @@ route[AUTHORIZATION_CHECK]
$xavp(regcfg=>match_received) = $su;
if(!(registered("location", "$fu", 2, 1) == 1 && $(xavp(ulattrs=>custom_channel_vars){s.len}) > 1)) {
xlog("L_INFO", "$ci|log|not authorized $fu from $si:$sp");
xlog("L_INFO", "$ci|log|not authorized $fu from $si:$sp\n");
send_reply("500", "Not Registered");
exit;
# route(ATTEMPT_AUTHORIZATION);
@ -134,7 +134,7 @@ route[ATTEMPT_AUTHORIZATION]
#!ifdef OPENBTS_AUTH-ROLE
}
#!endif
xlog("L_INFO", "$ci|end|issued auth challenge to new registration for $fu $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge to new registration for $fu $si:$sp\n");
exit;
}
@ -150,7 +150,7 @@ route[KAZOO_AUTHORIZATION]
exit();
}
if(kazoo_async_query("callmgr", $var(amqp_routing_key), $var(amqp_payload_request), "KAZOO_AUTHORIZATION_OK", "KAZOO_AUTHORIZATION_ERROR") != 1) {
xlog("L_INFO", "$ci|log|failed to send Kazoo query for authentication credentials for $Au $si:$sp");
xlog("L_INFO", "$ci|log|failed to send Kazoo query for authentication credentials for $Au $si:$sp\n");
append_to_reply("Retry-After: 60\r\n");
send_reply("500", "Retry Later");
exit;
@ -163,19 +163,19 @@ route[KAZOO_AUTHORIZATION_OK]
$var(nonce) = $adn;
#!ifdef OPENBTS_AUTH-ROLE
if( $(kzR{kz.json,Auth-Nonce}) != "" && $var(nonce) != $(kzR{kz.json,Auth-Nonce})) {
xlog("L_INFO", "$ci|log|nonce replace $var(nonce) with $(kzR{kz.json,Auth-Nonce})");
xlog("L_INFO", "$ci|log|nonce replace $var(nonce) with $(kzR{kz.json,Auth-Nonce})\n");
$var(nonce) = $(kzR{kz.json,Auth-Nonce});
$sht(auth_cache=>$Au::nonce) = $var(nonce);
}
#!endif
$xavp(ulattrs=>custom_channel_vars) = $(kzR{kz.json,Custom-Channel-Vars});
xlog("L_INFO", "$ci|log|authenticating $Au via Kazoo query response");
xlog("L_INFO", "$ci|log|authenticating $Au via Kazoo query response\n");
route(CHECK_AUTHORIZATION);
}
route[KAZOO_AUTHORIZATION_ERROR]
{
xlog("L_INFO", "$ci|log|failed to query Kazoo for authentication credentials for $Au $si:$sp");
xlog("L_INFO", "$ci|log|failed to query Kazoo for authentication credentials for $Au $si:$sp\n");
append_to_reply("Retry-After: 60\r\n");
send_reply("500", "Retry Later");
exit;
@ -188,7 +188,7 @@ route[CHECK_AUTHORIZATION]
if($ua =~ "OpenBTS") {
if($var(password) == $null) {
openbts_auth_challenge("$fd", "$var(nonce)");
xlog("L_INFO", "$ci|end|issued auth challenge to registration attempt for $Au $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge to registration attempt for $Au $si:$sp\n");
exit;
}
if (!openbts_auth_check("$fd", "$var(password)")) {
@ -196,7 +196,7 @@ route[CHECK_AUTHORIZATION]
route(ANITFLOOD_FAILED_AUTH);
#!endif
openbts_auth_challenge("$fd", "$var(nonce)");
xlog("L_INFO", "$ci|end|issued auth challenge to failed registration attempt for $Au $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge to failed registration attempt for $Au $si:$sp\n");
exit;
}
} else {
@ -204,7 +204,7 @@ route[CHECK_AUTHORIZATION]
if($var(password) == $null) {
auth_challenge("$fd", "0");
xlog("L_INFO", "$ci|end|issued auth challenge to registration attempt for $Au $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge to registration attempt for $Au $si:$sp\n");
exit;
}
@ -214,7 +214,7 @@ route[CHECK_AUTHORIZATION]
#!endif
auth_challenge("$fd", "0");
xlog("L_INFO", "$ci|end|issued auth challenge to failed registration attempt for $Au $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge to failed registration attempt for $Au $si:$sp\n");
exit;
}
@ -229,7 +229,7 @@ route[CHECK_AUTHORIZATION]
#!endif
if ($sht(auth_cache=>$Au) == $null) {
xlog("L_INFO", "$ci|log|caching SIP credentials for $Au");
xlog("L_INFO", "$ci|log|caching SIP credentials for $Au\n");
$sht(auth_cache=>$Au) = $var(password);
#!ifdef OPENBTS_AUTH-ROLE
if($ua =~ "OpenBTS") {
@ -248,7 +248,7 @@ route[SAVE_LOCATION]
$var(save_result) = save("location");
if($var(save_result) == -1) {
auth_challenge("$fd", "0");
xlog("L_INFO", "$ci|end|issued auth challenge after failed attempt to save contact for $Au $si:$sp");
xlog("L_INFO", "$ci|end|issued auth challenge after failed attempt to save contact for $Au $si:$sp\n");
exit;
} else {
if($var(save_result) == 1) {
@ -269,7 +269,7 @@ route[SAVE_LOCATION]
}
if($var(expires) == 0) {
xlog("L_INFO", "$ci|end|unregister request from $Au $si:$sp");
xlog("L_INFO", "$ci|end|unregister request from $Au $si:$sp\n");
$var(Status) = "Unregistered";
} else {
$var(Status) = "Registered";
@ -289,7 +289,7 @@ route[SAVE_LOCATION]
$var(amqp_routing_key) = "registration.success." + $(fd{kz.encode}) + "." + $(fU{kz.encode});
kazoo_publish("registrar", $var(amqp_routing_key), $var(amqp_payload_request));
xlog("L_INFO", "$ci|end|successful $(var(Status){s.tolower}) with contact $ct");
xlog("L_INFO", "$ci|end|successful $(var(Status){s.tolower}) with contact $ct\n");
#!ifdef PUSHER-ROLE
route(PUSHER_ON_REGISTRATION);
@ -304,7 +304,7 @@ event_route[kazoo:consumer-event-directory-reg-flush]
{
$var(user) = $(kzE{kz.json,Username}) + "@" + $(kzE{kz.json,Realm});
if ($sht(auth_cache=>$var(user)) != $null) {
xlog("L_INFO", "log|removing SIP credentials cache for $var(user)");
xlog("L_INFO", "log|removing SIP credentials cache for $var(user)\n");
$sht(auth_cache=>$var(user)) = $null;
}


+ 2
- 2
kamailio/registrar-sync-role.cfg View File

@ -10,7 +10,7 @@ modparam("sqlops","sqlcon", "cb=>KAZOO_DB_URL")
event_route[kazoo:consumer-event-directory-reg-sync]
{
$var(Server) = $(kzE{kz.json,Server-ID});
xlog("L_INFO", "received registrar sync from $var(Server) : $kzE");
xlog("L_INFO", "received registrar sync from $var(Server) : $kzE\n");
if (sql_xquery("cb", "select * from location", "ra") == 1)
{
@ -18,7 +18,7 @@ event_route[kazoo:consumer-event-directory-reg-sync]
$var(runloop) = 1;
while($xavp(ra) != $null && $var(runloop) < MAX_WHILE_LOOPS ) {
if(registered("location", "sip:$xavp(ra=>username)@$xavp(ra=>domain)", 0, 1)) {
xlog("L_INFO", "[id, username, domain] = [$xavp(ra=>id), $xavp(ra=>username), $xavp(ra=>domain)]");
xlog("L_INFO", "[id, username, domain] = [$xavp(ra=>id), $xavp(ra=>username), $xavp(ra=>domain)]\n");
$var(Expires) = $xavp(ra=>expires) - $TS;
$var(amqp_payload_request) = '{"Event-Category" : "directory", "Event-Name" : "reg_success", "Status" : "Success", "Event-Timestamp" : $TS, "Expires" : $(var(Expires){s.int}), "First-Registration" : false, "Contact" : "$(xavp(ra=>contact){s.escape.common})", "Call-ID" : "$xavp(ra=>callid)", "Realm" : "$xavp(ra=>domain)", "Username" : "$xavp(ra=>username)", "From-User" : "$xavp(ra=>username)", "From-Host" : "$xavp(ra=>domain)", "To-User" : "$xavp(ra=>username)", "To-Host" : "$xavp(ra=>domain)", "User-Agent" : "$(xavp(ra=>user_agent){s.escape.common})" , "Custom-Channel-Vars" : $xavp(ulattrs=>custom_channel_vars), "Proxy-Path" : "sip:$(xavp(ra=>socket){s.substr,4,0})" }';
kazoo_publish("targeted", "$var(Server)", $var(amqp_payload_request));


+ 1
- 1
kamailio/responder-role.cfg View File

@ -5,7 +5,7 @@ route[HANDLE_RESPOND]
if (not_empty("$var(header)")) {
$var(code) = $(var(header){s.substr,0,3}{s.int});
$var(msg) = $(var(header){s.substr,4,0});
xlog("L_INFO", "$ci|end|Responding with [$var(code)/$var(msg)]");
xlog("L_INFO", "$ci|end|Responding with [$var(code)/$var(msg)]\n");
sl_send_reply("$var(code)", "$var(msg)");
exit();
}


+ 4
- 4
kamailio/traffic-filter-role.cfg View File

@ -21,7 +21,7 @@ route[TRAFFIC_FILTER]
route[FILTER_REQUEST_DOMAIN]
{
if ($rd =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}") {
xlog("L_WARN", "$ci|end|dropping $rm request with IP domain");
xlog("L_WARN", "$ci|end|dropping $rm request with IP domain\n");
drop();
exit();
}
@ -31,7 +31,7 @@ route[FILTER_AUTHORIZATION_DOMAIN]
{
if (is_present_hf("Proxy-Authorization") &&
$ar =~ "[0-9]{1,3}\.[0-9]{1,3}.[0-9]{1,3}\.[0-9]{1,3}" ) {
xlog("L_WARN", "$ci|end|dropping request with IP domain in Proxy-Authorization header");
xlog("L_WARN", "$ci|end|dropping request with IP domain in Proxy-Authorization header\n");
drop();
exit;
}
@ -40,7 +40,7 @@ route[FILTER_AUTHORIZATION_DOMAIN]
route[FILTER_TO_DOMAIN]
{
if ($fd =~ "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})") {
xlog("L_WARN", "$ci|end|dropping request with IP domain in From header");
xlog("L_WARN", "$ci|end|dropping request with IP domain in From header\n");
drop();
exit;
}
@ -49,7 +49,7 @@ route[FILTER_TO_DOMAIN]
route[FILTER_FROM_DOMAIN]
{
if ($td =~ "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})") {
xlog("L_WARN", "$ci|end|dropping request with IP domain in To header");
xlog("L_WARN", "$ci|end|dropping request with IP domain in To header\n");
drop();
exit;
}


Loading…
Cancel
Save