From bda404305cae921ef05e7ac2ba5b35b40321d404 Mon Sep 17 00:00:00 2001 From: karl anderson Date: Tue, 17 Sep 2013 19:29:51 -0700 Subject: [PATCH] config tweaks to ignore errors post session progress and ignore MESSAGE for now --- kamailio/default.cfg | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index 81db001..fbb548d 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -23,7 +23,8 @@ flags FLAG_ASSOCIATE_SERVER: 2, FLAG_SKIP_NAT_CORRECTION: 3, FLAG_ASSOCIATE_USER: 4, - FLAG_TRUSTED_SOURCE: 5; + FLAG_TRUSTED_SOURCE: 5, + FLAG_SESSION_PROGRESS: 6; #!define FLB_NATB 1 #!define FLB_NATSIPPING 2 @@ -220,6 +221,8 @@ route route(HANDLE_OPTIONS); + route(HANDLE_MESSAGE); + route(HANDLE_MOVE_REQUEST); #!ifdef PRESENCE-ROLE @@ -291,6 +294,17 @@ route[HANDLE_OPTIONS] } } +route[HANDLE_MESSAGE] +{ + if (is_method("MESSAGE")) { + if (isflagset(FLAG_INTERNALLY_SOURCED)) { + route(INTERNAL_TO_EXTERNAL_RELAY); + } else { + sl_send_reply("202", "delivered to /dev/null"); + } + } +} + route[HANDLE_MOVE_REQUEST] { if (is_method("INVITE") && $rU == "*6683*") { @@ -460,6 +474,11 @@ onreply_route[INTERNAL_REPLY] xlog("L_INFO", "$ci|start|recieved internal reply $T_reply_code $rr"); xlog("L_INFO", "$ci|log|source $si:$sp"); + if (t_check_status("180|183")) { + xlog("L_INFO", "$ci|log|session progress, only listening for redirects"); + setflag(FLAG_SESSION_PROGRESS); + } + if ($rs < 300) { xlog("L_INFO", "$ci|pass|$T_req($si):$T_req($sp)"); } @@ -472,6 +491,7 @@ onreply_route[INTERNAL_REPLY] } + failure_route[INTERNAL_FAULT] { # this branch handles failures (>=300) to our media servers, @@ -500,6 +520,12 @@ failure_route[INTERNAL_FAULT] remove_hf("X-Redirect-Server"); } + } + + if (isflagset(FLAG_SESSION_PROGRESS)) { + xlog("L_INFO", "$ci|log|failure route ignoring failure after session progress"); + + exit; } else if (t_check_status("(401)|(407)|(486)")) { xlog("L_INFO", "$ci|log|failure route ignoring auth reply $T_reply_code $rr");