Multi-Tenant Contact Center Challenges We Faced While Building ICTContact on Asterisk

Hi everyone,

We’ve been working extensively on ICTContact, our Asterisk-based contact center platform, and during multiple real-world deployments we encountered several challenges related to multi-tenant contact center environments.

Some of the common problems we faced initially were:

  • Overlapping queues and agents between tenants

  • Difficulty isolating CDRs, recordings, and reports per tenant

  • Reporting becoming inconsistent when multiple clients share the same Asterisk core

  • Performance drops when one tenant generates high traffic

  • Managing permissions for tenant admins vs global admins

To solve these, we tested different approaches and eventually moved most of the tenant isolation logic to the application layer, instead of relying only on Asterisk contexts and dialplans.

What we added and improved in ICTContact:

  • Tenant-aware queues, campaigns, agents, and skills

  • Separate dashboards, KPIs, and reports per tenant

  • Global + tenant-level real-time monitoring

  • Isolated call recordings and logs

  • Role-based access for tenant admins and supervisors

  • Ability to scale tenants independently on the same Asterisk infrastructure

One important lesson we learned is that dialplan-level separation alone is not sufficient for true multi-tenancy, especially when supervision, QA, and reporting are involved. Those aspects need to be handled at the application level to remain manageable and scalable.

We’re still refining and improving this based on feedback and production usage, and I’d really like to hear from others here:

  • How are you handling multi-tenancy in your Asterisk setups?

  • Do you isolate by server, context, or application?

  • What pain points have you faced with reporting or performance?

  • Any best practices you’ve discovered over time?

For anyone interested, more details about our implementation are available here:
:link: Website: https://www.ictcontact.com
:link: Documentation: https://docs.ictcontact.com

Looking forward to learning from the community’s experiences.