Iñaki Baz Castillo wrote:
El Jueves, 17 de Julio de 2008, Rana Dhekial escribió:
Hi,
We are running openeser version 1.2.2. Currently we have defined 3 groups of subscribers. We have a requirement of limiting max number of concurrent calls per group. For example, 10 maximum number of concurrent ( incoming /outgoing ) calls for subscribers belonging to group 1. How do we go about it. Any sample config will be appreciated.
OpenSer is a stateful proxy, not a call-stateful. This is: OpenSer knows about SIP transactions but not about SIP dialogs (calls), so there is no an ellegant way to know the number of current dialogs.
Also note that a dialog could start through OpenSer (first INVITE) and continue out of OpenSer (if OpenSer doesn't add "Record-Route" headers).
Anyway there is "dialog" module that can help with it but AFAIK it is much complete in 1.3.X version.
There might be some merit to crafting a module that allows one to hash a concurrent open INVITE dialog state and then obtain a count based on some user-defined key. It has to be user-defined because many use cases will have many different requirements for how to enforce call limits; some will want to do it based on DID, some will want to do it based on underlying Contact, some will have various "subscriber groups" as the original poster does, etc.