博客
Rust Telephony
版本发布、架构深度解析与语音 AI 实践。
2026年10月4日
Conferencing That Behaves: Rooms, REFER Joins and the Empty-Room Watchdog
Multi-party calling has a bad reputation because it's usually an IVR feature bolted onto a phone system: someone dials a magic number, everyone else fumbles with a PIN, and the room stays open forever after the last person leaves. RustPBX treats conferences as
阅读全文2026年10月4日Rust Telephony
Inside the Media Plane: Codecs, Fast-Path Relay and Audio You Control
The media plane is where a telephony platform earns its keep: pick the right codec, decide what gets transcoded, and manage every sound callers hear. RustPBX's media engine is shared by SIP, WebRTC, queues, IVR, and recording — one pipeline, one set of behavio
2026年10月4日Rust Telephony
Observability Without an Observatory: Metrics, Traces and Call Evidence
Observability shouldn't require standing up Prometheus, Grafana, and a log pipeline before you can answer "is it healthy?" — but it should scale to that when you're ready. RustPBX takes both seriously, and 0.5 added the middle ground: useful telemetry with zer
2026年10月4日Rust Telephony
Presence & Busy-Lamp: Knowing Who's Available Before You Dial
Presence looks trivial — "is this person on a call?" — until you try to make it consistent. Is an agent 'busy' because of a live call, a wrap-up state, or a DND toggle? Does a colleague on another PBX node see the same thing? And does the state survive a resta
2026年10月4日Rust Telephony
Recording That Passes an Audit: Exemptions, Retention and the Evidence Trail
Compliance recording isn't "turn recording on." It's being able to answer, months later, questions like: was this specific call recorded? why not? where is it now? can you produce it, and prove it wasn't altered? RustPBX's recording pipeline is built to make t
2026年10月4日Rust Telephony
RustPBX as a Cluster: One Voice Plane Across Many Nodes
Single-box PBX is easy. The hard part starts when you run two nodes and discover that "shared database" doesn't make phones work together: a call lives on exactly one node, registrations land wherever the load balancer sends them, and the console you're logged
2026年10月4日Rust Telephony
The RWI in Practice: One Socket for Events and Control
The RWI (Real-time WebSocket Interface) is RustPBX's control plane for external software: a command/event protocol over a single WebSocket that a CTI panel, CRM, or AI agent can hold open for the life of a shift. This is the practical guide — what the protocol
2026年10月4日Rust Telephony
SipFlow Deep Dive: Signaling Capture That Scales to Clusters
When a call misbehaves, the CDR tells you what happened and the media counters tell you how it sounded. Neither tells you exactly what was on the wire. For that you need packet-level signaling — captured continuously, indexed by call, queryable weeks later, an
2026年10月4日AI Customer Service
Step IVR, End to End: When Menus Aren't Enough
Static IVR trees handle "press 1 for sales." They don't handle "look up this caller's open tickets, read the balance, and route on both." Step IVR hands each call step to your own service, which answers with the next action — dynamic logic with the PBX still o
2026年10月4日Rust Telephony
Who Can Touch What: Users, Roles, Departments and API Tokens
"Who can see the billing page?" sounds like a one-line question. Answering it in a PBX means distinguishing four very different identity concepts that other platforms happily blur together. RustPBX keeps them separate, and knowing the difference prevents most
2026年10月4日WebRTC
WebRTC Calling Without the Science Project: Browsers as First-Class Endpoints
Hand someone a browser and a headset and they're on the phone — no install, no VPN, works from a hotel lobby. That's the promise of WebRTC telephony, and the part that usually turns into a science project is everything around the codec: ICE, STUN/TURN, certifi
2026年10月4日Rust Telephony
Why Rust for Voice: Performance You Can Plan Capacity Around
Performance posts usually end in a benchmark table nobody can reproduce. This one is about something more useful: the shape of the performance, so you can plan capacity without surprises — and know where the real limits are.
2026年10月3日Rust Telephony
It's 9 PM. Someone Calls Your Sales Line. What Happens?
Every business hits the same requirement in week one: calls arriving outside business hours need a story. Not a busy tone, not an infinite ring — a story. Maybe a voicemail box, maybe an emergency escalation for VIPs, maybe a "we're closed, back at 9" prompt i
2026年10月3日AI Customer Service
Adding an AI Voice Bot Without Rewriting Your IVR — and Handing Off to Humans Cleanly
The requirement behind half the AI-telephony pitches: "let an LLM answer the simple calls, and hand complex ones to a human — without throwing away the phone system we already run." Most stacks make you choose between a bolt-on bot platform (its own SIP island
2026年10月3日Rust Telephony
RustPBX Basics: Call Forwarding — Always, When Busy, When No One Answers
Call forwarding is the most-requested feature after basic calling, and the one with the most edge cases: what counts as "busy"? What if the destination is another extension? What if the carrier rejects the forwarded leg? Here's how RustPBX handles all of it.
2026年10月3日Rust Telephony
RustPBX Basics: CDR — Every Call, Fully Explained
A call detail record is only as useful as the questions it can answer. "Who called whom, when, and how long" is table stakes. The questions that actually matter at 2 AM are: why did it fail, which route did it take, was the audio bad on our side or the carrier
2026年10月3日Rust Telephony
RustPBX Basics: Three Ways to Extend — HTTP Routing, Webhooks, and the RWI
No PBX stays stock. Sooner or later a call needs a CRM lookup, an event needs to reach another system, or a bot needs to hang up on command. RustPBX's extension surface has three layers — choose by direction: decisions in, events out, and control both ways.
2026年10月3日Rust Telephony
RustPBX Basics: Extensions — From Zero to First Registration
This is part of a Basics series covering the everyday tasks of running a RustPBX instance. Start here: create extensions, get devices registered, and understand the options you'll actually use.
2026年10月3日Rust Telephony
RustPBX Basics: IVR — Menus, Schedules, and When to Go External
Every PBX has an IVR. The differences that matter: how flows are authored, how they branch on time and data, and how easy it is to hand a call to an external brain when menus stop being enough. Here's the RustPBX toolbox, inside-out.
2026年10月3日Call Center
RustPBX Basics: Queues & ACD — Fairness, Priority, and the Overflow Ladder
Queues are where callers decide whether your company has its act together. The ACD (Automatic Call Distribution) engine has to balance three promises: fairness (first come, first served), priority (VIPs really do go first), and escape (nobody waits forever). H
2026年10月3日Rust Telephony
RustPBX Basics: Recording — From Compliance Checkbox to Evidence System
"Record all calls" is how recording requirements start. Then legal arrives: some calls must not be recorded. Finance wants the billing segments separately. The auditor wants retention measured in years, storage in object buckets, and downloads that don't melt
2026年10月3日Rust Telephony
RustPBX Basics: Reports — Answering the Boss Without a Data Team
"So, how were calls this week?" — the question arrives weekly, and answering it should not require a data pipeline. RustPBX ships a reporting layer that reads your CDRs and answers in tables, charts, and CSVs, from both the console and an API.
2026年10月3日Rust Telephony
RustPBX Basics: TLS Everywhere — WebRTC, SIP, and Certificates That Renew Themselves
Browsers won't touch your WebRTC endpoints without TLS. Carriers increasingly demand SIP over TLS. And certificates that expire on a Saturday are how outages are born. RustPBX bakes the whole story in.
2026年10月3日Rust Telephony
RustPBX Basics: Voicemail — Mailboxes That Manage Themselves
Voicemail is an old feature, and that's exactly why the rough edges matter: provisioning mailboxes one by one, lost messages, no notification chain. RustPBX's Voicemail Pro addon was designed to be enabled once and then get out of the way.
2026年10月2日Call Center
Smarter Queues, Real Outbound Lines, and Reports That Match How CC Teams Think
A contact center lives or dies by two moments: what happens when there's no free agent, and what the supervisor sees when things go sideways. The latest RustPBX contact-center addon reworks both — plus a set of agent-facing features that close the gap between
2026年10月2日Rust Telephony
What's New in RustPBX 0.5: Clusters, Transfers, and Call-Level Truth
Three months of steady work went into RustPBX 0.5 — roughly two thousand commits since the 0.4.x series. The theme across all of them: when something goes wrong mid-call, the platform should already know why. This post walks through the changes that matter mos
2026年6月2日Rust Telephony
Running a Call Center on RustPBX
A contact center is more than a PBX with queues. It needs skill-based routing to send calls to the right agent, real-time monitoring for supervisors, wrap-up time for agents to finish notes, and overflow logic to prevent callers from waiting forever. RustPBX's
2026年6月1日Rust Telephony
SipFlow: Call Signaling, Recordings, and Cluster Deployment
Debugging SIP calls usually means running tcpdump, downloading PCAP files, and opening Wireshark. It works, but it's slow, requires server access, and doesn't scale. SipFlow is RustPBX's built-in signaling capture system. It records every SIP message and RTP p
2026年5月31日Rust Telephony
Operations Made Easy: Archive, ACME, and Transcript
Running a telephony platform isn't just about connecting calls. Day-to-day operations involve renewing TLS certificates before they expire, archiving old call records so the database doesn't grow forever, and transcribing recordings for quality audits. RustPBX
2026年5月30日Rust Telephony
Privacy Numbers Made Easy with JSON-RPC Routing
Ride-hailing apps, delivery platforms, and marketplaces all share a common requirement: connect two parties on a phone call without revealing their real numbers. This is the classic privacy number (AX/NXA) use case. RustPBX's SBC addon includes a JSON-RPC rout
2026年5月29日Rust Telephony
Building a Simple SBC: Routes, Trunks, and WebRTC
Your team can call each other internally. Now you need to connect to the PSTN through a carrier, let customers call in from web browsers, and manage it all without spinning up a separate SBC appliance. RustPBX's SBC addon handles this in a single runtime -- no
2026年5月28日Rust Telephony
Configuring Extensions for Internal VoIP Communication
Every PBX starts with the same basic need: let people inside the organization call each other. Whether your team uses desk phones, softphones, or web browsers, it all comes down to configuring extensions and getting them registered. This post walks through set