Limit Calls on your System


Limit the concurrent calls managed by the systemEditing the etc/asterisk/extensions_xcally_custom.conf file and setting the proper Dial Plan instructions, you can limit some type of calls on your system.

Please note that:

  • all the calls landed in the dial plan must be associated to a "group"
  • all the dial plans must have the same instruction as first.

For example, you can limit in/out international calls:


1. Modify the extensions_xcally_custom.conf file, adding the following lines

[globals](+)
CALLIMITNUM= 100
(100 is an example…)

[overrun]

(Is possible to define a different name of this context… remember that is used in the dial plan settings too!)


exten => _98989898,1,Verbose(1,***** Server2 dialing ${EXTEN} *******)

(the exten 98989898 is an example… remember that is used in the dial plan settings too!)


same => n,Set(DIALSTATUS=CHANUNAVAIL)

(Is possible to define different operations to do. In this example the system doesn’t take the call)

 

Please run the command “Dialplan reload” from Asterisk CLI

2. Modify the Dial Plan instructions

Add for each Dial Plan these applications as first:

  • 1: Application Set with

    • Variable: GROUP()

    • Value: TrunkGroup


  • 2: Application Custom App with

    • App: GotoIf

    • Options: $[${GROUP_COUNT(TrunkGroup)} > ${GLOBAL(CALLIMITNUM)}]?overrun,98989898,1

 

Conclusions

Each call landed in a dial plan with this application, will be “checked” according to the condition.

It’s clear that is possible to “manage” the overflow defined forwarding the calls in a desired context (another DID wit another queue or a voicemail…).