Asterisk support for mutiple tennants

We have three companies and are looking to cut telcom expenses by deploying a VoIP solution. While we have looked at numerous solutions, it appears that Asterisk may be the best bang for the buck. Our concern is that we want all three companies phone services to be provided by one main Asterisk server. As each company is a separate entity, we essentially need the ability to host three companies (all with different numbers and requirements) on one server, but allow the local administrator at each of the companies to have access to their subset of phone numbers and services. Is this possible with Asterisk?