[SR-Users] Limit the number of requests per second based on the user

Sebastian Damm damm at sipgate.de
Fri May 2 15:40:52 CEST 2014


Hi Daniel,

my last mail was probably not really clear. I don't want a pipe for all
users together, but one for each user. What I wanted to say is, I don't
need different limits for some users, they all share the same limits. I
have implemented the htable version now, and it's working as expected (when
considering the garbage collector timing). Could the performance decrease,
if the garbage collector has to clean thousands of entries from the hash
every 20 seconds?

With your new solution, I guess there would quite a few thousand pipes in
memory (since they don't get destroyed) in our scenario. Up to how many
pipes is Kamailio able to handle?

Best Regards and many thanks,
Sebastian


On Wed, Apr 30, 2014 at 4:56 PM, Daniel-Constantin Mierla <miconda at gmail.com
> wrote:

>  Hello,
>
>
> On 30/04/14 15:43, Sebastian Damm wrote:
>
>   Hi,
>
>  actually, I only need one limit for all users. I can exempt some calls
> based on IP from the limit.
>
> for all users should just work using one pipe.
>
> If you want per user, I already committed on master branch to have dynamic
> pipes, see:
>
>
> http://kamailio.org/docs/modules/devel/modules/pipelimit.html#pipelimit.f.pl_check
>
> You should be able to just replace pipelimit from master in a 4.1 branch
> clone.
>
> If you try it, let me know if works ok.
>
> Cheers,
> Daniel
>
>
>   Thanks for the input on how to implement it with the existing modules.
>
>  Best Regards,
>  Sebastian
>
>
> On Tue, Apr 29, 2014 at 9:31 PM, Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>>  Hello,
>>
>> do you need with different limits for each user and method? Considering
>> to add a default limit and algorithm for dynamic pipes that could be added
>> at runtime, without prior definition.
>>
>> Right now you can probably get it with htable.
>> - set a maximum lifetime for items to the period you want to count
>> - for each request you add an item with some random key and value being
>> the user
>> - use $sthcv(...) to count the number of items that have the value of the
>> user
>>
>> Cheers,
>> Daniel
>>
>>
>> On 29/04/14 13:41, Sebastian Damm wrote:
>>
>>    Hi,
>>
>>  I'm looking for a solution to limit the number of call initiations or
>> OPTIONS packets or REGISTER packets per user. Neither pike, nor pipelimit
>> or ratelimit give me the possibility to do this. Limiting it based on the
>> source IP is not an option in our case.
>>
>>  Is there a module I can use? Or is this generally a bad idea?
>>
>>  Best Regards,
>> Sebastian
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140502/a69147aa/attachment.html>


More information about the sr-users mailing list