Thanks for your return and your advices.

In fact the bandwidth criteria would have meaning only if kamailio is a media gateway (otherwise we could only have a rough estimation with the negotiated codec as you said) and in this case getting the bandwidth from the interface will make sense.

I was also thinking about using a limit for the number of call per user but it would be redundant with the dialog module, doesn't it?

At the end do you think it's a good idea to add such features to kamailio?


Guillaume



To: sr-dev@lists.sip-router.org
From: miconda@gmail.com
Date: Wed, 28 Oct 2015 14:04:25 +0100
Subject: Re: [sr-dev] CAC module idea

Hello,

perhaps piplelimit can be reused to some extent for call attempts. IIRC, it has also come code for getting some cpu metrics, don't recall by heart what exactly. But the point would be -- if you are going to write a cac module, code inside pipelimit can help.

For available memory, there are some functions to get the available pkg/shm (used for statistics as well), so this should be easy to approach. System memory makes sense if there are external libraries linked by kamailio that potentially consume it, otherwise kamailio is mailing using pkg/shm for its internal needs. pkg/shm pool have fixed size.

Bandwith will be the hardest to assert at SIP layer in my opinion, but you can take it from a network interface tool. In sip, you can eventually rely on per codec bandwidth estimation, but that might not be really accurate and new streams can be added or older removed via re-INVITE.

Cheers,
Daniel

On 28/10/15 13:39, Guillaume wrote:
Hi,

I was thinking about doing a Call Admission Control module. It will allow the admin to setup limits in order to improve the global quality and to prevent overload of the service.
It would have these criteria for admitting or not a call (you can propose other criteria):
* Number of call attempt per second
* Maximal number of concurrent sessions
* CPU limit
* RAM limit
* Maximal bandwidth
* Call priority header

For now I haven't seen a module for that. And the dialog module could be useful for to implement the criteria that needs to know the number of call still active. It doesn't seem to be a too heavy task and it seems useful.

What do you think about it?


Guillaume


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat

_______________________________________________ sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev