Asterisk OpenSoure in multi-tenant

I’m trying to configure Asterisk in multi-tenancy mode in centos 7.4
Is it possible to have a guide to configure it?


There may be guides in places on the internet. Have you tried one and run into difficulty? This forum is best used in those kind of cases.

Hi jcolp,
I dont see the best guide step by step. I use “context” to make it but I dont know if it is the best practice.
I created one context by tenant and all user of each tenant can make the call each other. this is the basic. The next step is:

  • add another features (IM,meetme,…)
  • Install GUI (with possibility to create admin for each context and superadmin)

If you have a guide which can help me …


Contexts are how people do such a thing in Asterisk.

If you are planning to use a GUI then it would control the system, and how it would do such a thing is dependent on its implementation. If you are planning to write a GUI then you’ll have to experiment and decide how things will be done.

I understand, in fact what I want to do is to create three organization in my server asterisk why I use context (3 context for 3 organizations). The idea here is to give the opportunity to each manager of an organization to create its users and benefit from the services offered by the entire asterisk platform via a graphical interface. Only the super admin can add a new organization as well as the creation of its administrator.

That sounds like a great project.

Can I have documentation on this forum which will guide me?

I’m not aware of anything specifically for what you are asking, as you are essentially asking how to make a complete product. There are probably some guides on how to do multi-tenant using contexts but that would be the extent of it.

Hi jcolp,
I need some guides on how to do multi-tenant generally.
As I explain I want to create admin user who can create only the user-ID for one context.

I’m confuse for making asterisk in multi tenancy.

Asterisk has no concept of users and no interface to configure it, so there are no guides on doing that because it doesn’t exist in Asterisk. We support configuration files or a database. It’s something others have created or something you yourself need to create.

OK Thanks, I understand.
Is it exist the book or the file whist list all functionalities of asterisk?
I want to make advanced configurations.
See below what I already do for each context:

  • basic call
  • call transfer
  • call parking

Thanks for your help!

HI c.nana,

multitenant it easy to implement on astertisk, I’ve done it this year (2018), and it works just perfect !

here is main points:

  • each tenant has it’s own uniq context (or group of inbound/local/outbound contexts joined on top)
  • inside such context - you have extensions ( 101,102,103… ) they Dial your sip devices registered at pbx
  • SIP devices has unique logins through the system like 101-{key}, 102-{key} (where key - is tenant hash or smth uniq ), and atached to the tenant context .

this way, you can have separate extension 101 in each tenant, internal calls only within the context.

Problem is when asterisk goes down, all tenants are dead :frowning: so you need to think about redundancy in the begining!
maybe kamailio front-end is best for this task - it handle all incoming calls,
one asterisk-master, and several asterisk slave servers , monitoring 5060 port on master (once no response from master- first slave become master, update DNS and handle registrations )

for sure, all config is organized in database, and managed via GUI - but this is WEB development question, outside of this forum ( Just can say - that I’ve used a free edition of Isomorphic Software: “SmartClient Ajax RIA System”)

Asterisk has great feature - dynamic dialplan, it is stored and managed in database. You do not need to “reload” each time you do changes, same is for sippeers (check the wiki)