Working on call center infrastructure for the last few years has taught me something most vendor pitches won't tell you. The architecture decisions that work fine for 30 agents fall apart somewhere between 100 and 200 agents. And nobody warns you about it until you're already there.
This is a write-up of the actual technical decisions that matter when building VoIP call center solutions that hold up under real load.
The 100-Agent Wall
Most teams pick their VoIP call center solution based on feature checkboxes. The demo looks great. The pricing seems reasonable. They go live with 30 agents and everything's fine for months.
Then the team grows. Around the 100-agent mark, things start getting weird. Calls drop intermittently during peak hours. Reports take forever to generate. Database queries that ran in milliseconds now take seconds. Reps complain that the dashboard is "slow" without being able to point to a specific issue.
What's actually happening is that the architecture wasn't built for that load. Most off-the-shelf platforms scale fine vertically up to a point, then need fundamental architecture changes that vendors quietly charge extra for or punt on entirely.
The teams that scale past this wall make different decisions early.
Architecture Decisions That Actually Matter
Here's what I've found separates VoIP call center solutions that scale from those that don't.
1. Signaling and Media Separation
The single biggest architectural decision is whether your stack separates SIP signaling from media handling. PBX-style architectures (Asterisk, FreeSWITCH alone) handle both in the same process. SIP-proxy-fronted architectures (Kamailio or OpenSIPS in front of media servers) separate them.
For under 50 agents, monolithic Asterisk works fine. Past that, you need separation:
Carrier --> Kamailio (SIP signaling) --> FreeSWITCH cluster (media)
|
v
RTPEngine (media relay/NAT)
This separation lets each component scale independently. Kamailio handles thousands of registrations on a single node. FreeSWITCH handles a few hundred concurrent media sessions per node. You scale the bottleneck, not the entire stack.
2. Database Architecture for Real-Time State
Here's where most VoIP call center solutions secretly fall apart. Real-time agent state, queue position, call routing decisions - all of this lives in some kind of state store. The default in most platforms is "throw it in MySQL" or "use whatever the platform provides."
That works fine until it doesn't. Production-grade setups separate concerns:
Hot data (real-time state) → Redis or Memcached for sub-millisecond reads
Warm data (active call records) → MySQL or PostgreSQL with read replicas
Cold data (historical CDRs, recordings) → Object storage (S3) + analytical database (BigQuery, Redshift, ClickHouse) for reporting
When your reports start timing out at 200 agents, this is almost always why.
3. Multi-Tenant Architecture (If You're a Service Provider)
If you're building VoIP call center solutions for a BPO, MSP, or as a white-label product, multi-tenancy is the architectural decision that breaks teams.
Three patterns I've seen:
Pattern A - Shared everything: One database, tenant_id columns everywhere. Cheapest to build, most fragile in production. One bad tenant query takes everyone down. Not recommended for compliance-heavy industries.
Pattern B - Shared infrastructure, isolated data: Separate databases per tenant, shared application infrastructure. Good middle ground. Tenant data is isolated, but you can still scale the app layer horizontally.
Pattern C - Fully isolated: Separate everything per tenant — separate Kamailio configs, separate media servers, separate databases. Most expensive, most secure. Required for some regulated industries.
The right choice depends on your tenant size, compliance requirements, and operational complexity tolerance. There's no universal answer.
4. WebRTC for Browser-Based Agents
By 2026, hardware desk phones for call center agents make less sense than they used to. WebRTC softphones running in the browser are the default for new builds. The architecture pattern is:
Agent browser (WebRTC) --> WebSocket gateway --> SIP server
|
v
Media server
The hidden complexity is NAT traversal, codec negotiation, and browser update churn. Teams that go live with WebRTC and don't invest in proper monitoring find out about issues from agents complaining, which is the worst possible failure mode.
If you're building this from scratch, budget for proper rtpengine or mediasoup deployment alongside the SIP infrastructure. WebRTC fails in subtle ways that are very hard to debug retroactively.
5. CRM Integration Depth
Every VoIP call center solution claims CRM integration. The depth varies wildly.
Surface-level integrations do click-to-call and basic call logging. That's table stakes. Real production integrations handle:
- Custom field synchronization (Salesforce custom objects, HubSpot custom properties)
- Workflow automation triggered by call events (lead scoring updates, case creation, campaign enrollment)
- Two-way data sync with conflict resolution
- Bulk historical data import for reporting consistency
- Audit trails for compliance requirements
The depth of integration usually correlates with whether the platform was built API-first or SDK-bolted-on. API-first platforms support deeper integrations natively. SDK-bolted-on platforms hit limitations fast.
What Production-Grade VoIP Call Center Solutions Look Like
Putting this together, here's what a well-architected VoIP call center solution looks like in 2026:
Signaling layer: Kamailio or OpenSIPS handling SIP routing, registration, and load balancing. Multiple nodes for HA.
Media layer: FreeSWITCH cluster (or Asterisk for specific use cases) handling actual media. Separated from signaling. Scales horizontally.
Application layer: Custom logic for routing, queues, agent skills, IVR, recording. This is where the business logic lives.
Integration layer: API-first design. Native CRM integration (Salesforce, HubSpot, Zoho). Webhooks for everything. Open APIs for custom integrations.
State management: Redis for real-time state. PostgreSQL or MySQL with read replicas for active data. Object storage for recordings. Analytical database for historical reporting.
Edge security: Session Border Controller (Kamailio configured as SBC) at the network perimeter. TLS for signaling, SRTP for media. Rate limiting. Toll fraud detection.
Monitoring: Real-time metrics (Prometheus + Grafana), SIP capture (Homer), media quality monitoring, automated alerting.
This is what separates production deployments from "works in testing" deployments.
The Build vs Buy Reality
After working through enough deployments, I'll be honest about when each approach makes sense.
Off-the-shelf VoIP call center solutions like Five9, Genesys, RingCentral Contact Center, and Talkdesk work fine for businesses with under 50-100 agents and standard workflows. The per-seat economics are reasonable, the integrations are decent, and the operational complexity is low.
Custom-built VoIP call center solutions become the better choice when:
- Per-seat pricing has become punishing at your scale (usually past 100-150 active users)
- You're a service provider yourself (BPO, MSP, white-label reseller)
- Compliance requirements exceed standard SaaS configurations
- Your workflow is your competitive advantage and SaaS forces you to compromise it
- You're integrating voice into a custom product where it's a core feature
For these scenarios, custom development typically pays back within 18-24 months and continues delivering savings indefinitely after that.
Closing Thoughts
The architecture decisions you make at 30 agents shape what happens at 300 agents. Most teams pick their VoIP call center solution based on what looks good in the demo, then spend the next two years working around its limitations.
The teams that scale past the 100-agent wall make architectural decisions early that off-the-shelf platforms force you to compromise on. That's not a critique of off-the-shelf solutions — they're the right choice for plenty of use cases. It's just an honest acknowledgment that they have ceilings, and those ceilings hit faster than most teams expect.
If you're architecting a call center stack right now and want to compare notes on specific architectural decisions, drop a comment below. Always interested in how other teams are solving these problems.
I work on custom VoIP infrastructure with the team at Hire VoIP Developer, focused on VoIP call center solutions for telecom operators, BPOs, and enterprises. Mostly Kamailio, FreeSWITCH, and WebRTC work.
Top comments (0)