Need Advice On Setting Up FreePBX/Asterisk In Multi-Tenant Environment

dmcoop
dmcoop used Ask the Experts™
on
We are going to purchase 24 SIP trunks from a single carrier (Windstream formerly Nuvox). Their sales person is telling me they do not deliver the SIP trunks individually but as one big trunk that is capable of making up to 24 in/out calls at a time.

My problem is this - we currently have tenants that I have configured with different instances of FreePBX.  I prefer to keep doing this as we add tenants - each having their own PBX instance.  So the question is this ... is there a way to configure an edge PBX using the FreePBX product that will divide up that Windstream SIP trunk into my internal PBX instances?  Some tenants have two trunks, some have three, some have six, etc.  The next question that follows may have to do with the DIDs too. Some tenants have a one-to-one ratio of DID and trunk.  Some have many DIDs and only a few trunks.

So what I am looking for here is what is the best way to do this and a decent link to a white paper or how to on the subject.  I am not necessarily looking for step-by-step directions at this time.  I am just wanting to get my ducks in a row before we sign an agreement with Windstream.

Any advice will be apprecitated.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Most Valuable Expert 2012
Commented:
In my opinion, the easiest way to do this is to use virtual machines. Create a base machine using vmware (or your virtualization software of choice), and then just copy / paste the vms to create new machines. They would all need their own IPs of course, but that shouldn't be a problem.

If it were me, I would have two boxes: one with all the virtual machines, and one that does trunking only. This way, you can use IAX trunks and IP addresses are not an issue from the client boxes to the trunking box, and the trunking box would handle DIDs, etc... and route calls only.
It sounds like he is already using virtualization based on his statement about each customer having their own instance. I suspect the problem is that with a single connection each instance can not receive it's own calls. If already running virtual instances, just create a new instance of Asterisk to accept the trunk and then use DID matching to split the calls and send them on their own trunks to the clients.

When building your trunks from this main instance to the clients, you can handle setting up a specific number of channels per client and so forth. It will add some delay time since each has to be processed and sent to the proper VM but it works.

Author

Commented:
Right now the PBXs are virtualized.  I plan on using a dedicated physical machine to handle the SIP trunk from Windstream and then I want it to feed the internal PBX instances.
Right now I have a dedicated physical NIC for each PBX VM and that NIC ties into their network and also uses their network to access the internet to register their trunks with the SIP provider I am currently using.  Looking ahead I'll have to setup some type of route so that they are still on the customer's LAN but can also all see the internet facing PBX that will handle the main trunk from Windstream.
The information here is good so far.  I'll leave the question open a couple more days to see if anyone else has some ideas then I will reward points and close it out.
You can still use SIP or even IAX to transfer the calls, based on DID to the proper instance. Yes you may have to setup some routing to get the networks to talk but it is workable.

Author

Commented:
Thanks for the good advice.  I think I have what I need to proceed to the next stages.

Author

Commented:
Thanks for the help guys.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial