Multi-Tenant VoIP (Asterisk Admin)

Code
Multi-Tenant VoIP (Asterisk Admin) screenshot 1
Next.js 16
React 19
TypeScript
Tailwind CSS
Radix UI
Zustand
TanStack Query
Supabase
Redis
Asterisk (AMI)
Stripe

Production-grade multi-tenant control panel for Asterisk (PJSIP) provisioning, routing, billing, and live AMI synchronization.

Performance

+60% faster API responses; −80% DB queries via query optimization + Redis caching

Security

Tenant isolation enforced with Postgres RLS + RBAC (Supabase)

Reliability

Real-time DB ↔ PBX sync reduced config drift and manual operational work

Tech Stack

Next.js, React, TypeScript, Supabase/Postgres (RLS), Redis, Asterisk AMI, Stripe

Use Cases

VoIP / Telecom Administrators

Manage multiple PBX customers from a single dashboard with full visibility and control.

Enterprise Businesses

Operate telephony infrastructure with strict tenant isolation and secure role-based access.

Remote Operations Teams

Provision extensions, trunks, and routing logic without direct server access or manual file edits.

Service Providers

Automate DID provisioning and monetization workflows using Stripe and DID providers (e.g., DIDWW).

Key Metrics & Impact

Security First

Multi-tenant architecture enforced at the database layer using Supabase PostgreSQL with Row Level Security (RLS).

Performance Optimized

~60% faster API responses and ~80% fewer database queries through optimized joins, caching, and Redis-backed query strategies.

Automation at Scale

Real-time database ↔ Asterisk synchronization significantly reduced configuration drift and manual operational overhead.

Operational Reliability

Structured logging, audit trails, and comprehensive E2E coverage for all critical provisioning, routing, and billing workflows.

Technical Challenges Solved

Hardened Tenant Isolation

Designed and enforced strict RLS policies and RBAC to ensure consistent, secure permission handling across tenants.

Domain Modeling for VoIP Systems

Built a VoIP-ready data model supporting extensions, trunks, DIDs, billing, and audit logs, with backward compatibility for legacy flows.

Live System Synchronization

Maintained strong consistency between database state and live Asterisk (PJSIP) configuration via AMI-based synchronization.

API Resilience & Observability

Balanced performance and security using Redis-backed rate limiting, structured audit logging, and centralized error monitoring.

Technical Architecture

Technical Stack

Frontend

Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS, Radix UI, Zustand, TanStack Query

Backend

Next.js API Routes, Supabase (PostgreSQL, Auth, RLS), Redis (Caching & Rate Limiting)

Infrastructure

Asterisk PBX (PJSIP, AMI), Docker, Sentry (Monitoring), Winston (Structured Logging), Playwright (E2E Testing)

Code & Data Model

DB Schema

PostgreSQL schema covering tenants, users, roles, extensions, trunks, DIDs, billing entities, and audit logs.

Codebase

Production-ready modular codebase with isolated domain layers, caching strategies, resilient APIs, and testable system boundaries.

Ownership

Designed, implemented, and operated end-to-end as a production SaaS system — from architecture and security modeling to deployment, monitoring, and long-term maintenance.