// the find
restsend/rustpbx
A PBX written by rust
RustPBX is a B2BUA/SIP proxy written in Rust that externalizes call routing decisions to HTTP webhooks and exposes real-time call control via WebSocket. It targets teams building AI-driven contact centers who want programmable telephony without the FreeSWIX/Asterisk module hell. The voice agent side has been spun off into a separate repo, so this is now focused on the SIP/media infrastructure layer.
The HTTP router design is the right call — every INVITE hits your webhook and you return JSON routing decisions, which means your routing logic lives in whatever language you want and deploys independently of the PBX. The benchmark numbers are credible and include methodology (not just cherry-picked headlines): 800 concurrent calls with RTP proxy at 6ms latency and 280MB memory on commodity hardware is genuinely competitive with FreeSWITCH. The test coverage visible in the directory tree is unusually thorough for a project this size — e2e tests for B2BUA flows, reinvite, early media regressions, and RTP are all there. SipFlow (unified SIP+RTP capture) is a practical feature that saves hours when debugging call quality issues.
The community/commerce split is a real gotcha: LDAP/SAML auth, voicemail, IVR visual editor, and the SBC are all commercial-only, which means for anything beyond a small internal deployment you're evaluating the commercial product, not the MIT one. The voice agent functionality was moved to a separate repo mid-development, so the README still prominently markets AI contact center use cases while the actual AI integration story is now 'use our other repo.' Documentation is split between English and Chinese (some event reference docs are Chinese-first), which will slow down adoption outside China. SQLite as the default database in the quick-start config is fine for kicking the tires but will surprise people who assume a PBX needs more durable storage by default.