Hello,

can you open an issue on bug tracker in order not to forget this one and approach it once the time allows:

  - https://github.com/kamailio/kamailio/issues

I am mostly out of office these days, checking stuff sporadically, so it may take a bit of time to get to it.

Cheers,
Daniel


On 18.12.17 18:59, Juan Priotti wrote:
Hi,
I'm making some tests with pipelimit module and when changing the time interval the limit gets changed in a way that it's multiplied by the time interval. For example if I use a time interval of 1 second and a limit of 20 (if (!pl_check("$si", "TAILDROP", "20"))) the module start limiting right after the traffic gets over 20 CPS. But if I change the time interval to 3 seconds, the module starts limiting the traffic right after 60 CPS. This is my configuration:

# ----- pipelimit params-----
modparam("pipelimit", "timer_interval", 3)
modparam("pipelimit", "hash_size", 10)
modparam("pipelimit", "db_url", DBURL)
modparam("pipelimit", "reply_code", 503)
modparam("pipelimit", "reply_reason", "Limiting")

...
...
...

request_route {
...
...
        if(is_method("INVITE")) {
                $var(limit) = 20;
                if (!pl_check("$si", "TAILDROP", "$var(limit)")) {
                xlog("L_INFO", "[$ci] $si - Limiting INVITE using pipe $var(limit) req/sec\n");
                pl_drop();
                exit;
                }
.....
.....
.....
        }
}


Checking the source for pipelimit module (https://github.com/kamailio/kamailio/blob/master/src/modules/pipelimit/pipelimit.c) I see that for taildrop it's checking for the limit times the time_interval:

case PIPE_ALGO_TAILDROP:
ret = (pipe->counter <= pipe->limit * timer_interval) ? 1 : -1;
break;

I've made a change eliminating the time_interval (set it to 1) from that check and after that I've got the limit working OK, and the traffic gets drop right after it's over the limit (20 cps) using any time_interval. Is there some issue with the timer for the check not being updated by the module settings (timer_interval)? I'm using kamailio 4.4 and I've also tested it in kamailio 4.3 and 5.1 with same results.
Thanks in advance,

Juan Priotti



_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com