@ -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]