I did some testing and found the "reqs_density_per_unit" is the actual limit/trigger within the "sampling_time_unit".
In this example: modparam("pike", "sampling_time_unit", 3) modparam("pike", "reqs_density_per_unit", 60) If the pike module receives 59 SIP messages within 3 seconds from same IP address, there is no trigger, if 60 or more messages the trigger happens. So there is no multiplier as the documentation suggest, the reqs_density_per_unit is a hard limit within the sampling_time_unit. For the documentation, section 3.2. reqs_density_per_unit (integer), maybe remove the "Practically, the blocking limit is between ( let's have x=reqs_density_per_unit) x and 3*x for IPv4 addresses and between x and 8*x for IPv6 addresses." This is the confusing part. Thanks. JR On Sun, Mar 22, 2020 at 12:38 PM Daniel-Constantin Mierla <mico...@gmail.com> wrote: > > Hello, > > improvements to the documentation are always more than welcome! Pike is a > rather old module, not much touched lately, so its docs could be from long > time ago. At some point I wanted to put some new code to allow defining more > IP blocking trees and a few other enhancements, but other projects got into > the way... > > Cheers, > Daniel > > On 22.03.20 16:40, JR Richardson wrote: > > Thanks Daniel, > > > > That clear it up a bit. For my own edification, when I get a few minutes, > I’ll lab this up and throw some specific quantities of SIP packets and > validate the time and density of trigger and report back. Maybe we can update > the module documentation for clarity and remove some confusion. > > > > JR > > > > JR Richardson > > Engineering for the Masses > > Chasing the Azeotrope > > JRx DistillCo > > 1’st Place Brisket > > > > From: Daniel-Constantin Mierla <mico...@gmail.com> > Sent: Sunday, March 22, 2020 4:37 AM > To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>; JR > Richardson <jmr.richard...@gmail.com>; SIP Router - Kamailio (OpenSER) and > SIP Express Router (SER) - Users Mailing List <sr-us...@lists.sip-router.org> > Subject: Re: [SR-Users] Pike Module Clarification > > > > Hello, > > I am not very familiar with the code as I haven't written the module, but > iirc, if it is an isolated IP, then it takes 3 x sampling_time_unit to block > that IP if there is traffic from it at a rate of more than 30 requests (can > be even 1000+ requests). > > Then, an IP can be blocked after the first sampling_time_unit if it is part > of a subnetwork (/24) that has other IP addresses already blocked. > > As a simple rule, any IP is blocked for sure after 3 x sampling_time_unit > with higher rate than the density and is kept block if it continues to send > high volume of requests. > > Cheers, > Daniel > > On 21.03.20 15:18, JR Richardson wrote: > > Hi All, > > > > Please clarify the pike settings for SIP message count, the module Doc > reports: > > > > ---- > > modparam("pike", "sampling_time_unit", 10) > > modparam("pike", "reqs_density_per_unit", 30) > > > > How many requests should be allowed per sampling_time_unit before blocking > all the incoming request from that IP. Practically, the blocking limit is > between ( let's have x=reqs_density_per_unit) x and 3*x for IPv4 addresses > and between x and 8*x for IPv6 addresses. > > ----- > > > > So the example above the SIP message rate is 30 messages within 10 seconds > triggers an pike alert? > > > > The description I’m confused on is “Practically, the blocking ‘limit is > between’ (let's have x=reqs_density_per_unit) x and 3*x for IPv4” > > > > The way this reads to me is the Pike alert could be triggered anywhere > between 30 and 90 (3*30) messages within 10 second period. Am I reading this > correctly? What determines when the pike trigger actually happens, could the > trigger happen at say 56 messages within 10 seconds? > > > > Thanks. > > > > JR Richardson > > Engineering for the Masses > > Chasing the Azeotrope > > JRx DistillCo > > 1’st Place Brisket > > 1’st Place Chili > > > > _______________________________________________ > > Kamailio (SER) - Users Mailing List > > sr-users@lists.kamailio.org > > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > -- > > Daniel-Constantin Mierla -- www.asipto.com > > www.twitter.com/miconda -- www.linkedin.com/in/miconda > > -- > Daniel-Constantin Mierla -- www.asipto.com > www.twitter.com/miconda -- www.linkedin.com/in/miconda -- JR Richardson Engineering for the Masses Chasing the Azeotrope _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users