Call Counters
This module keeps a count of active calls per user specified context and adds one or all counters to be used in routing decisions. The context parameter must be generated in the call.cdr messages by the cdrbuild module.
Parameters
The following parameters are interpreted in the call.cdr message:
chan - the ID of the call leg, always added by cdrbuild direction - direction of the call leg, always added by cdrbuild operation - type of CDR operation, always added by cdrbuild parameter - context parameter as configured
In the call.route message:
allcounters - local override of the configured setting to add all counters parameter - context parameter as configured, only if allcounters is not true
If allcounters is false parameter_count will be set to the current counter value. A value of zero is never set as context counters are dynamically created and removed.
If allcounters is true several parameter_count_context parameters will be set, each holding the current count for context.
Example
cdrbuild.conf:
[parameters] context=false
callcounters.conf:
[general] parameter=context
If there are 3 incoming calls with context=abc and 2 with context=xyz in a new call.route with context=abc it will set: context_count=3
If allcounters=true then no matter the context in call.route it will set: context_count_abc=3 context_count_xyz=2
Configuration file:
callcounters.conf
[general] ; Global settings of the per context call counters ; parameter: string: Name of the call parameter to use for context counting ; This parameter must exist in the call.cdr messages by adding a line ; like: context=false to the [parameters] section of cdrbuild.conf ;parameter= ; direction: string: Direction of the call legs counted, set empty to count all ;direction=incoming ; allcounters: boolean: Add all counters instead of just the current context ;allcounters=false [priorities] ; Numerical priorities of installed message handlers ; call.cdr: integer: Priority of CDR message handler used to count calls ;call.cdr=20 ; call.route: integer: Priority of handler used to add counters to routing message ;call.route=20