Multi Tenant for Free PBX

I have a few customers (I host their servers) that would like me to provide SIP voice services. Would Asterisk/Free PBX be able to handle this kind of multi-tenant situation? With Cisco Unified (which I use at my main job) I can have “partitions” and “Calling Search Spaces” to prevent say customer A from extension dialing customer B. Is something like that available with FreePBX? Thanks.

The short answer is “no”, at least not in the way you’re thinking - FreePBX isn’t designed that way. You can have DID’s that route to specific extensions or groups of extensions, and in the later versions of FreePBX you can add a caller ID match pattern on outbound routes, so only calls from a specific extension or matching a specific pattern will match on that route, thereby allowing you to use different trunks for outgoing calls from different extensions. But as far as blocking internal calls from one group of extensions to another, there’s no way to do that except by adding some custom dialplan code. If you look in this how-to file, which is seriously outdated I might add, and scroll down to the bottom (last 4 or 5 paragraphs) you’ll see a method that MIGHT still work in newer versions of FreePBX:

What they ought to have in FreePBX is on each extension’s page a space for blocking dial patterns - if you dialed a number that matched a pattern in the list, the call would be blocked, but only from that extension. But right now you have to do that sort of thing yourself.