Limit simultaneous channels by department in a multi company system

Alcom IT

Silver Partner
Basic Certified
Joined
Dec 22, 2020
Messages
9
Reaction score
1
We have set up 3CX multi-company system and need to limit the number of channels per company (aka department). Is this possible?

As our VoIP supplier (Gamma) will only allow one trunk per IP address and will not allow username/password authentication we are stuck with just 1 trunk. However, we would like to restrict each company (ie department) from using all the channels when they only subscribe to, say, 4 channels.

We have noticed that each department has a 'trunk' limit. We have tested that by reducing it to 1 but it doesn't limit the simultaneous calls.

Has anyone encountered the same issue and if so, how did you resolve it?
 
Based on prior posts there’s not a way. Companies can have their own trunk (and number…) that has a limit. I think this is why Free/SMB had specific trunk providers.
 
I have not used IP trunks with Gamma but have with other providers and have done multiple trunks from one PBX, have you tried just adding another trunk for the tenant and limiting it to 4 channels? Each call is an individual connection so it shouldn't be seen by Gamma as anything but normal. This wouldn't stop internal calls taking up more channels but would help with external

Disable incoming calls though for the tenant trunks and enable on the main master trunk and then route the calls to each group as needed.
 
It's not a 3CX issue as such, but more a Gamma issue. Gamma won't allow multiple trunks to the same IP.

When we try to create a trunk at Gamma for this 3CX multi-customer instance it says 'IP address already in use'.

We are trying to set up a multi-company phone system but use Gamma as the supplier for this. We would like each customer on the multi-company instance to have their own trunk for security and billing.

However, as Gamma (our preferred supplier) won't allow this we are now trying to configure 1 Gamma trunk and share it amongst all our clients. Of course, if we purchase a 16 channel trunk that will be shared amongst clients we want to limit the simultaneous calls each customer (department) can have).

So, what we'd like to do is limit the number of channels each client is allowed on the shared SIP trunk.
 
AFAIK it's not possible. See this post. There are probably other threads but I only found that one quickly.
 
It's not a 3CX issue as such, but more a Gamma issue. Gamma won't allow multiple trunks to the same IP.

When we try to create a trunk at Gamma for this 3CX multi-customer instance it says 'IP address already in use'.

We are trying to set up a multi-company phone system but use Gamma as the supplier for this. We would like each customer on the multi-company instance to have their own trunk for security and billing.

However, as Gamma (our preferred supplier) won't allow this we are now trying to configure 1 Gamma trunk and share it amongst all our clients. Of course, if we purchase a 16 channel trunk that will be shared amongst clients we want to limit the simultaneous calls each customer (department) can have).

So, what we'd like to do is limit the number of channels each client is allowed on the shared SIP trunk.
I was referring to adding more trunks in 3CX not on Gamma.

On a side note one of the big advantages of MT and the higher SC is so that you don't need to worry so much about limiting calls per tenant but thats my view on it.
 
I totally understand, but if other suppliers have the same issue then we would have to have a SIP supplier per customer. That would be a billing nightmare for us as we supply the trunks along with the 3CX platform.
 
Mind you, that might be the solution. We are thinking of this as a problem with all vendors, but if it is only a restriction at Gamma then choosing other suppliers would solve our problem.
 
Right, the Preferred SIP providers should handle this. Or, if you create your own Free account, see what SIP providers they list there.
 
You could use the original 3CX Call Control API to monitor real-time events and keep track of the simultaneous external calls. If the threshold you set is reached, any further calls would be automatically dropped until the department's call count fell below the threshold.

It gets a little more complicated if an inbound external call is later forwarded to an outside party since nobody in that active call is a user extension, but even that could be handled with a little more work. We do a similar thing with our 3CX Do-Not-Call tool where we see a new call initiated and drop the call before it can even ring if it is not a permitted call.
 
I totally understand, but if other suppliers have the same issue then we would have to have a SIP supplier per customer. That would be a billing nightmare for us as we supply the trunks along with the 3CX platform.
Have you tried just adding your gamma trunk to the tenant and routing calls via it? so you have the same trunk many times (1 per group) on the 3cx instance all pointing to gamma? This should work and will allow you to restrict sim calls per trunk.
 
Have you tried just adding your gamma trunk to the tenant and routing calls via it? so you have the same trunk many times (1 per group) on the 3cx instance all pointing to gamma? This should work and will allow you to restrict sim calls per trunk.
> (Gamma) will only allow one trunk per IP address and will not allow username/password

There are providers who do this...we ran into one and had to work out a hack-y solution of using their backup SIP server for a branch office until they approved the client to set caller ID for the outbound 911 calls. IIRC they would authenticate both trunks successfully but see the outbound call coming from the same IP:port and simply assume it was trunk 1. :rolleyes:
 
There are providers who do this...we ran into one and had to work out a hack-y solution of using their backup SIP server for a branch office until they approved the client to set caller ID for the outbound 911 calls. IIRC they would authenticate both trunks successfully but see the outbound call coming from the same IP:port and simply assume it was trunk 1. :rolleyes:
Yes I understand they only allow one trunk.

My suggestion is just to add the same trunk profile over and over on the same 3cx and restrict calls based on that (one profile per group). As Gamma is IP auth, the trunk does not hold a session it calls the trunk to make a call or receive a call. Thus Gamma would be none the wiser from their system if you added the same trunk profile 10 times, each with its own limited amount of calls. That was my original suggestion but maybe I didn't phrase it correctly. This would allow restricted per tenant, the only issue would be inbound which would be solved by not allowing inbound on the tenant trunks and having inbound handled on a master trunk with call routes in place.
I would like to test that though as technically as long as the DID is on the correct tenants trunk 3cx should properly route. I don't have a Gamma trunk to test but would be interested in the results.
 
  • Like
Reactions: KyriacosS_3CX
Oh I see what you're saying, that Gamma would see it all as one trunk but 3CX would limit the calls. Interesting. Might hinge on whether "one trunk per IP address" is allowed multiple times like that.
 
I am confident it will work but cannot test unfortunately. I just tested adding 2 IP trunks with the same destination IP and 3CX allows them to be added, so as long as internal routing is set correctly the restrictions should work as planned.
 
  • Like
Reactions: YiannisH_3CX

Members Online Now

Forum statistics

Threads
111,834
Messages
589,287
Members
164,662
Latest member
DejanMDS