SOLVED Limit the number of simultaneous calls per domain

vermiboy

New Member
Jan 18, 2021
9
0
1
37
Hi,
There are many posts that offer partial solutions or simply a discussion to limit the number of channels per domain, but it seems that none have a 100% functional solution.
Does anyone have a working solution to limit the number of incoming and outgoing channels per domain?

I succeeded with inbounds but if in a call queue (call center), it does not seem to be counted as active.

So, if anyone has a definitive solution, I would be interested.

thank you
 
Last edited:

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,461
393
83
Have a look at https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod-dptools/3375201/

When you say "limit the number of incoming and outgoing channels per domain", I assume you mean inbound and outbound calls via gateways not simply channels connecting two extensions.

If you wanted to limit both inbound and outbound calls, you could put a limit action in both the inbound and outbound routes, something like:
Screenshot from 2024-06-29 13-15-02.png
This will return busy for and call attempt if there are already two calls going on.
 

vermiboy

New Member
Jan 18, 2021
9
0
1
37
Yes exactly. I have several domains, and I would like to be able to limit the number of simultaneous calls for a domain. the Gateway is shared by all domains so I cannot limit it from the gateway.
I would like to be able to set a limit of 4 calls whether inbound or outbound, not necessarily 4 inbounds and 4 outbounds. could be 3 inbounds and 1 outbounds.

I tried this one in the dial plan call-limit:
1719670359860.png

also this one :
1719670325774.png

I found a lot of things but nothing perfect
I will try yours but for a domain that has several inbound routes it will not work.

thank you for your reply
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,461
393
83
Your fist one should work but you will need to set the "inline" flag on the set action otherwise the max_calls variable will not be available for the limit action. You may also want to use a more simple name for the realm without the (, |, and) characters.
 

vermiboy

New Member
Jan 18, 2021
9
0
1
37
should I do it on 2 separate lines with the same Order

action limit hash (inbound) ${domain_uuid} ${max_calls} !USER_BUSY
action limit hash (outbound) ${domain_uuid} ${max_calls} !USER_BUSY
 

vermiboy

New Member
Jan 18, 2021
9
0
1
37
Hey, looks like it's working, thanks a lot, I'll do more testing next week, we'll have more people in the office so it will be easier to do more simultaneous calls and scenarios.
Maybe one more thing, I hope you can help me, when an incoming call reaches the limit, I receive (you have entered an invalid destination number), instead of a busy tone. Do you have any idea why it's like that?
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,461
393
83
It will largely depend on:
A. What else you have set in the inbound route/dialplan.
or
B. What the calling system is programmed to do with a USER_BUSY response.
 

vermiboy

New Member
Jan 18, 2021
9
0
1
37
nothing special, no custom config, only destination to time condition or IVR.

where can i find the programmation of USER_BUSY, never touch this

version 5.2.1 if change something
 

vermiboy

New Member
Jan 18, 2021
9
0
1
37
Oki thx a lot i found the issue. Trunk provider side. This is the message I've got when the my trunk drop the call. I've add a failover on the trunk "When unanswered" with my own recording and it works.

thx again
 

wouam31

Member
Jul 1, 2022
87
12
8
40
Hi guys!
I was watching your discussion and the topic really interests me.

Before doing something stupid I prefer to ask you (and I understand)

In my Dialplan Manager I create a rule (global)


Capture d’écran 2024-07-16 à 12.06.12.png

And in Default Settings of my domain -> Dialplan -> I create a max_calls rule

So I can, per domain, limit the number of calls via the trunk.

Thank you