A high-performance, software-defined PBX built in Rust — the AI-native communication platform for next-gen contact centers.
RustPBX externalizes all call control via HTTP/WebSocket/Webhook. Route decisions, media control, and event streams are fully programmable in any language.
Voice Agent functionality has moved to Active Call. This repo focuses on SIP Proxy & PBX.
RustPBX
A high-performance, software-defined PBX built in Rust — the AI-native communication platform for next-gen contact centers.
RustPBX externalizes all call control via HTTP/WebSocket/Webhook. Route decisions, media control, and event streams are fully programmable in any language.
GitHub | Website
Quick Start
Run RustPBX with minimal config in 2 commands:
Minimal
config.toml:http://localhost:8080/console/udp://localhost:50601001/passwordWhy RustPBX?
Core Capabilities
SIP & Media — Full SIP stack (UDP/TCP/WS/TLS/WebRTC), RTP relay, NAT traversal, TLS/SRTP with auto ACME certs.
Routing & Control — HTTP Router (dynamic routing decisions), RWI WebSocket Interface (real-time call control), Queue/ACD (sequential or parallel agent ringing).
Recording & Analytics — SipFlow unified SIP+RTP capture, post-call transcript via local SenseVoice (offline), CDR webhooks.
Operations — Built-in Web Console, WebRTC Phone, RBAC, Prometheus metrics + OpenTelemetry.
Programmable Interfaces
RustPBX exposes all call logic through standard protocols — no C modules, no recompilation.
HTTP Router
Every incoming INVITE calls your webhook. Return JSON to decide routing.
Actions:
forward·reject·abort·spamRWI (Real-time WebSocket Interface)
JSON-over-WebSocket for in-call control:
originate,answer,hangup,bridge,transfer,holdplay,stop,stream_start,inject_start(PCM)record.start,pause,resume,stopenqueue,dequeue,assign_agent,requeuelisten,whisper,barge,takeovercreate,add,remove,mute,destroySee API Integration Guide and RWI Protocol.
Editions
Benchmark
Tested on 2026-04-03 · RustPBX 0.4.0 · Linux x86_64 · 16 cores / 32 GB · G.711 PCMU
Per-channel overhead: ~0.06% CPU / 0.24 MB (signaling); ~0.19% CPU / 0.33 MB (with RTP proxy).
Use Cases
Architecture
App Service (AI Agents, HTTP DialPlan, CRM) → RustPBX Core (B2BUA, IVR, Media, Queue, CDR) → Access (PSTN, WebRTC, SIP, Mobile)
Build from Source
Screenshots
Documentation
Troubleshooting
SIP 401 behind NAT/Docker — set the realm explicitly:
License
Community: MIT · Commercial: hi@miuda.ai
https://miuda.ai — Maintenance & commercial support