- Type
- PRODUCT / INTERNAL BUILD
- Focus
- UCaaS architecture evidence
- Role
- Telecom + application architecture
- Spine
- Central auth · shared tenant id
- Telephony
- FreeSWITCH · IVR · Dialer
- Apps
- CRM · CMS · Messaging · Commerce
A UCaaS platform is not a PBX with a cloud URL.
It is a distributed communication and business application architecture where identity, tenancy, APIs, telephony, media, messaging, CRM and automation work together.
Educational deep dive: Scalable CCaaS/UCaaS architecture guide. This page is the implementation case.
The problem
Operators wanted UCaaS modules—IVR, dialer, messaging and CRM hooks—on a cloud communications core without buying disjoint seat products that each own their own user table and “sort of PBX.” Suites fail when the architecture problem is treated as another dashboard. The architecture problem is the bus—shared auth, tenant id and communication events.
Constraints
Delivery stayed inside stack, tenancy, compliance and media-ownership boundaries. Where a choice was forced (suite vs owned plane, BYOC vs CPaaS, local vs cloud models), trade-offs are recorded below rather than rewritten as marketing.
What is UCaaS architecture?
UCaaS architecture is the technical structure that connects voice, messaging, collaboration, identity, business applications and real-time communication services into a cloud-delivered platform.
- Identity and tenancy
- Application / control plane (CRM, campaigns, billing, APIs)
- Signaling (SIP / session control)
- Media (RTP / recording / conferencing)
- SIP edge / SBC (production recommendation)
- Data, live state, events and observability
UCaaS vs cloud PBX vs CCaaS vs CPaaS
| Platform | Primary purpose |
|---|---|
| UCaaS | Employee/business collaboration & multi-module communications |
| CCaaS | Customer contact center (queues, agents, campaigns, QA) |
| CPaaS | Developer/API communication capabilities |
| Cloud PBX | Business telephony (extensions, trunks, routing) |
| CRM + Voice | Customer communication workflow on one lead |
These overlap, but architectural emphasis differs. Related: Cloud PBX · CCaaS · SandeshX CPaaS.
UCaaS is more than a cloud PBX
A cloud PBX primarily provides extensions, SIP trunks, call routing, voicemail, IVR and basic administration. A UCaaS platform adds messaging, campaigns, CRM/CMS/commerce and shared identity:
UCaaS PLATFORM
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
Voice Messaging Business Apps
│ │ │
PBX / SIP SMS / Email CRM
IVR Fax CMS
Dialer Campaigns Commerce
Queues
│ │ │
└─────────────────────┼─────────────────────┘
▼
Shared Identity / Tenant
│
▼
Business Workflows
Architecture overview — the centerpiece
This project demonstrates a cloud UCaaS architecture designed around a shared communications and application control plane rather than a collection of independent PBX, dialer, messaging and CRM applications. Modules evolve independently while sharing authentication, tenant context, customer data and communication events.

CLOUD UCaaS PLATFORM
│
┌─────────────┴─────────────┐
│ CONTROL / IDENTITY │
│ Authentication · Tenants │
│ Users / Roles · APIs │
└─────────────┬─────────────┘
│
┌─────────────────────────┼─────────────────────────┐
▼ ▼ ▼
VOICE MESSAGING BUSINESS APPS
IVR · Dialer · Agents SMS · Email · Fax CRM · CMS · Commerce
│
▼
FreeSWITCH → SIP / RTP → Carriers / Endpoints
Control plane vs communication / media plane
Control plane owns
- Authentication, tenancy, users, roles
- Campaigns, business logic, CRM, billing configuration
- APIs, reporting, product workflows
Communication / media plane owns
- SIP, call setup, RTP, media
- IVR execution, conferencing, recording
- Dialer call initiation against trunks
APPLICATION / CONTROL PLANE
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Auth CRM Campaigns
│ │ │
└──────────────┼──────────────┘
▼
Call Control
│
ESL / adapters
│
▼
TELEPHONY / MEDIA (FreeSWITCH)
│
SIP / RTP
Why separate business logic from the telephony engine? Subscription plans, tenant isolation, CRM, campaigns, APIs, analytics, AI and messaging are not PBX responsibilities. Detailed pattern: CCaaS/UCaaS architecture guide.
UCaaS architecture layers
| Layer | Responsibility | This case / evolution |
|---|---|---|
| Experience | Web/agent UI | Suite web modules · evolution: PWA/agent UI |
| Identity | Auth, roles, tenants | Central authentication |
| API / App | CRM, campaigns, billing | Business modules on shared login |
| Integration | Telephony adapters | FreeSWITCH control path |
| Signaling / Media | SIP / RTP | FreeSWITCH |
| Edge | Security / interconnect | Recommended SBC layer (production) |
| Data / State / Events | Persistence, cache, async | Tenant-scoped records · evolution: Redis/queues |
| Observability | Metrics/logs/traces | Operational monitoring · evolution: OTel/Prometheus |
Multi-tenant UCaaS architecture
UCaaS
│
┌────────────────┼────────────────┐
▼ ▼ ▼
Tenant A Tenant B Tenant C
│ │ │
Users · DIDs · IVR · Campaigns · CRM · Reports
│ │ │
└────────────────┼────────────────┘
▼
Shared Platform → Telephony Layer
- Tenant isolation — every request carries tenant context
- Data isolation — enforced in application/data layer
- Numbering isolation — DIDs, extensions, routing tenant-aware
- Recording isolation — recordings/CDRs tenant-scoped (documented here)
- Auth isolation — users never cross tenant boundaries
- Config isolation — IVR, campaigns, queues can differ per tenant
UCaaS deployment models
| Architecture | Best for | Trade-off |
|---|---|---|
| Single tenant | Regulated / highly customized | Higher infrastructure cost |
| Multi-tenant | SaaS / MSP / high-volume platforms | Requires strong isolation |
| Hybrid | Enterprise + shared services | More operational complexity |
| Dedicated media | High-volume / sensitive workloads | Higher infrastructure cost |
This case is a multi-module suite with shared tenant identity on FreeSWITCH—suited to productizing communications + business apps. Dedicated environments remain an option for regulated workloads.
Signaling plane vs media plane
SIP SIGNALING
│
SIP / FreeSWITCH
│
Call Establishment
│
RTP/SRTP
│
Media / Recording
SIP establishes and controls sessions; RTP/SRTP carries real-time media. Separating signaling and media concerns helps independent scaling and troubleshooting.
SBC & SIP edge — production recommendation
Not claimed as a named product in this historical suite build. Production UCaaS edges commonly place an SBC for topology hiding, SIP security, NAT, rate limiting, TLS/SRTP, codec normalization and carrier interconnect:
Internet / Carrier → SBC → SIP Proxy / WebRTC Edge → Telephony (FreeSWITCH)
WebRTC in UCaaS — modernization path
Browser calling, remote workers, contact-center agents and CRM-embedded softphones are natural UCaaS clients. Linked product proof elsewhere: FreeSWITCH CCaaS demo · WebRTC development. Do not treat WebRTC as the entire content of this suite case study.
Inbound + outbound on one platform
Inbound
PSTN → SIP → IVR → Queue → Agent → CRM
Outbound
Lead List → Campaign → Dialer → Agent → Disposition → CRM
The same communication platform handles inbound customer interaction and outbound business workflows—a strong UCaaS/CCaaS crossover.
Dialer architecture
- Campaign service — contacts, schedules, retry policy, agent assignment
- Dialer engine — initiation, pacing, concurrency, trunk capacity
- Telephony engine — SIP, media, call state (FreeSWITCH)
- CRM — customer/lead, disposition, business outcome
Production consideration documented on this case: campaign pacing must align with trunk capacity. Dialer and IVR also share numbering and CDR—module coupling is an intentional design surface.
Omnichannel communication layer
SMS, email and fax are campaign/side channels—not afterthought features. They fan out from the same identity spine as voice.
Communication API / Suite
│
┌────────────────┼────────────────┐
▼ ▼ ▼
Voice SMS Email / Fax
│ │ │
└────────────────┼────────────────┘
▼
CRM
Modern messaging control-plane evolution: SandeshX CPaaS / demo.
UCaaS + CRM integration
The communication system should not become a silo. Disposition writes must match the agent UI—documented engineering challenge on this case.
Inbound Call → Customer ID → CRM Lookup → Agent → Call
→ Disposition → CRM Update → Follow-up Workflow
CRM, CMS and e-commerce consume the same identity and communication events—business apps on the same login.
One identity layer across the platform
Identity (central auth)
│
┌─────────────┼─────────────┐
▼ ▼ ▼
PBX CRM Messaging
│ │ │
Agent Customer Campaign
One tenant, many modules. Benefits: SSO-style consistency, common roles, tenant-aware authorization, audit trail and simpler administration versus loosely integrated apps.
Communication events as platform events — evolution
A call is not only a call—it can fan out to CRM, analytics, recording, billing and AI. Present RabbitMQ/Kafka/Redis Streams as production evolution options unless a specific engagement used them.
Call Started → Event Bus → CRM · Analytics · Recording · Billing · AI
How to scale a UCaaS platform
Don't scale the whole UCaaS platform by simply increasing the size of one PBX server. Scale application APIs, signaling, media nodes, databases and workers as separate concerns.
Load Balancer
│
┌─────────────┼─────────────┐
▼ ▼ ▼
API-01 API-02 API-03
│
Redis / Queue
│
Telephony Router
│
┌─────────────┼─────────────┐
▼ ▼ ▼
FS-1 FS-2 FS-3
High availability & failure thinking
- Redundant application and telephony nodes
- Carrier redundancy and edge failover patterns
- DB backup/replication; recording storage strategy
- Configuration backup and monitoring
What happens when a component fails? Design for degraded modes—don’t assume a single box.
Designing UCaaS for reliable voice
A UCaaS platform can be functionally correct while still delivering a poor experience if the media path is unstable. Validate SIP latency, RTP loss/jitter, NAT, SIP ALG, codecs, firewall/QoS, media anchoring and WebRTC TURN where used.
UCaaS security
- Edge — firewall, rate limiting, SIP attack protection, SBC patterns
- Application — auth, RBAC, tenant isolation, API limits
- Telephony — TLS/SRTP, SIP authentication, secure provisioning
- Data — recording access control, audit logging, tenant-scoped storage
Security & reliability · Cloud DevOps.
Observability — evolution
Monitor application latency/errors, SIP registrations/INVITE failures, media quality, campaign pacing/connect rates and infrastructure. Modern path: OpenTelemetry → Prometheus/Grafana. Operational monitoring is assumed; full OTel stacks are labeled modernization unless specified.
How AI can extend the UCaaS platform
Not claimed as shipped in this suite case. AI can sit on the same events: receptionist, outbound, summaries, agent assist, qualification, scheduling, RAG and intelligent routing—while FreeSWITCH remains call/media control.
Lead → AI Qualification → CRM → Workflow (calendar / SMS / agent)
→ WebRTC / SIP Agent
Bring Your Own Carrier (BYOC)
Customer Carrier → SBC / Edge → UCaaS → Tenant
Enterprises often keep regional carriers and numbers. BYOC is an architecture pattern for tenant trunks—design interconnect and CLI carefully.
Where a UCaaS platform can run
- Public cloud (AWS / Azure / GCP)
- Private cloud / on-prem for regulated workloads
- Hybrid (on-prem + cloud)
- Dedicated tenant environments
- Edge/branch telephony where appropriate
When build-your-own UCaaS makes sense
A custom architecture may make sense when you need ownership of the stack, a specialized tenant model, embedded telephony, custom billing, BYOC, private deployment, domain CRM, AI integration or telecom-level control—not when a standard suite seat already fits.
Key architectural trade-offs
- PBX vs application ownership — media in the engine; business logic in services
- Monolith vs microservices — clear module boundaries first; split where scale requires
- Shared vs dedicated tenants — utilization vs isolation for regulated workloads
- Sync vs async — call control needs low latency; analytics/notifications can be async
- Centralized vs distributed media — geography, carriers and concurrency drive placement
Real call flows
Inbound UCaaS call
Customer → PSTN/SIP → (SBC) → FreeSWITCH → IVR → Queue
→ Agent → CRM Lookup → Disposition → CRM · CDR · Recording · Analytics
Outbound campaign call
CRM / Campaign → Dialer → Call Control → FreeSWITCH → SIP Carrier
→ Customer → Disposition / CDR / Recording
flowchart TB Auth[Central authentication tenant] Auth --> IVR[IVR menus] Auth --> Dial[Dialer campaigns] Auth --> Msg[SMS email fax] Auth --> CRM[CRM CMS commerce] PBX[Telecom PBX spine] --> IVR PBX --> Dial
Current implementation vs future architecture
| Area | This project | Possible evolution |
|---|---|---|
| Telephony | FreeSWITCH | Multi-node media cluster |
| Authentication | Central auth / shared tenant | OAuth/OIDC/SSO hardening |
| UI | Suite web modules | PWA / responsive agent UI |
| Messaging | SMS / email / fax | Omnichannel CPaaS (SandeshX patterns) |
| CRM | Integrated CRM/CMS/commerce | API/microservice boundaries |
| State / events | Application workflows | PostgreSQL + Redis + queues |
| Clients | Suite surfaces | WebRTC + SIP phones |
| AI | — | AI voice / RAG / agent assist |
| Observability | Operational monitoring | OpenTelemetry + Prometheus |
Technology choices
Documented for this project
- Telephony — FreeSWITCH, SIP/RTP
- Communications modules — IVR, predictive/auto dialer, agent management
- Messaging — SMS, email, fax broadcasting
- Business — CRM, CMS, e-commerce
- Identity — centralized authentication, shared tenant id
Potential modernization / scaling technologies
NestJS, PostgreSQL, Redis, RabbitMQ/Kafka, OpenTelemetry, WebRTC, React/Vue, Kubernetes—labeled as evolution, not asserted as the historical suite stack.
My role
- UCaaS / multi-module solution architecture
- Telephony architecture and FreeSWITCH spine
- Control-plane / identity / tenant design
- IVR and dialer integration contracts
- CRM integration and disposition consistency
- Messaging channel fan-out
- API and module boundary design
- Scalability and production considerations (pacing, recording scope)
- Full-stack implementation and release planning
Documented as a large-system architecture assignment: module map, auth, telecom spine and integration contracts before pixel-perfect screens.
Key architecture lessons
- UCaaS is an integration problem — connect systems without creating silos
- Identity is foundational — consistent tenant and user context everywhere
- Telephony should remain replaceable — don’t hard-couple the product to one PBX GUI
- Media and application workloads scale differently
- Campaign pacing must respect carrier capacity
- Communication events are business events — CRM, billing, analytics, automation
Results / capabilities
- Suite map instead of a pile of apps
- Shared authentication and tenant context
- Voice and messaging as peers on one spine
- IVR + dialer with CRM disposition path
- Tenant-scoped recording/CRM URL consideration
Working-system video evidence
Contact center and CRM modules from the same Cloud UCaaS suite — shared identity and tenant context, not separate products stitched in post-production.

Contact center (CCaaS)
Open on YouTube → · Duration 4:55 · CCaaS context article →
CRM module

Open on YouTube → · Duration 1:53 · CRM + voice demo page →
More related demos
UCaaS with SSO and billing walkthrough → · Multi-tenant CCaaS / FreeSWITCH demo →
Questions this case study answers
For the detailed reference architecture (PWA/API gateway patterns, AMI/ARI/ESL, PostgreSQL/Redis, WebRTC and AI voice), see Building a scalable UnifiedPBX CCaaS/UCaaS architecture.
Planning a custom UCaaS platform?
If you are building a hosted PBX, UCaaS, CCaaS or communication SaaS platform, I can help define the control plane, telephony architecture, tenant model, WebRTC strategy, APIs, integrations, scalability and production deployment model. First reply is architecture—not a brochure.
Discuss Your UCaaS Architecture