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(a)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