[SR-Users] Kamailio does not receive anything after exit route

Andrey Deykunov deykunov at gmail.com
Thu May 24 16:13:50 CEST 2018


Hi there,

I've added a simple black list that rejects incoming requests (REGISTER and
INVITE) containing certain text in the message body. Source IP addresses of
the rejected requests are going to be banned and added to the ban list:

route
> {
> ...
>
>
>         $var(ban_list_key) = $si + ":" + $sp;
>         if ($sht(ip_ban_list=>$var(ban_list_key)) != $null) {
>             xlog("L_INFO", "$var(log_fmt_tag) The incoming $rm request
> from: $fU, si: $si, sp: $sp was rejected. The source host is temporarily
> banned.");
>             sl_send_reply("400", "Bad request");
>             exit;
>         }
>
> ...
>
>         if (method=="REGISTER" || method=="INVITE") {
>             sht_iterator_start("i1", "black_list");
>             while(sht_iterator_next("i1")) {
>                 $var(term_is_in_wl) = 0;
>                 $var(collision_idx) = 0;
>                 while($sht(white_list=>$fU[$var(collision_idx)]) != $null
> ) {
>                     if($shtitval(i1) ==
> $sht(white_list=>$fU[$var(collision_idx)])) {
>                         $var(term_is_in_wl) = 1;
>                         break;
>                     }
>                     $var(collision_idx) = $var(collision_idx) + 1;
>                 }
>                 if ($var(term_is_in_wl) == 0) {
>                     if ( $mb =~ $shtitval(i1) ) {
>                         # found a term from the black list. access denied.
>                         xlog("L_INFO", "$var(log_fmt_tag) The incoming $rm
> request from: $fU, si: $si, sp: $sp was rejected. SIP message body contains
> a term from the black list - $shtitval(i1)");
>                         # add device to banlist
>                         $var(ban_info) = "" + $Ts + "_" + $shtitval(i1);
>                         $sht(ip_ban_list=>$var(ban_list_key)) =
> $var(ban_info);
>                         xlog("L_INFO", "$var(log_fmt_tag) The source host
> $si:$sp was banned for 1 hour.");
>                         sht_iterator_end("i1");
>                         sl_send_reply("400", "Bad request");
>                         exit;
>                     }
>                 }
>             }
>             sht_iterator_end("i1");
>         }
> ...
> }


All works fine with UPD, but using TCP, kamailio ceases to accept any
requests. Please take a look, what do I wrong.

Thanks,
Andrey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180524/c1b4cbb3/attachment.html>


More information about the sr-users mailing list