Browse Source

override 480 if call is progress

* FLAG_SESSION_PROGRESS is set when
  the media server sends a 180/183
  which is triggered after a route reply.
  if there are no endpoints to bridge
  to (dnd, faulty callflow) the return code
  from the media can be 480 if not set explicitly by
  callflow action. in that case
  we were passing it to the incoming leg
  carrier/endpoint and some carriers retry
  the call which we don't want.
5.0 5.0.3
lazedo 6 years ago
parent
commit
25d176d3ef
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      kamailio/default.cfg

+ 4
- 0
kamailio/default.cfg View File

@ -744,6 +744,10 @@ failure_route[INTERNAL_FAULT]
xlog("L_INFO", "$ci|failure|ignoring call barred\n");
} else if (isflagset(FLAG_SESSION_PROGRESS)) {
xlog("L_INFO", "$ci|failure|ignoring failure after session progress\n");
if (t_check_status("480")) {
xlog("L_INFO", "$ci|failure|overriding reply code 480 with 486\n");
send_reply("486", "Endpoint Not Available");
}
} else if (t_check_status("403") && $T_reply_reason=="Forbidden") {
xlog("L_WARNING", "$ci|failure|Failed auth from IP $si\n");
} else if (t_check_status("(401)|(486)")) {


Loading…
Cancel
Save