← All posts

Tagged: Rust Telephony

32 articles

· Miuda Team

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 into may have no idea that the extension you want to transfer is being served by its neighbor.

RustPBX 0.5 closes that gap with a distributed session registry. Here’s what it changes in practice.

· Miuda Team

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, certificate handling, and the NAT scenarios that only fail on customer networks.

RustPBX treats browsers as first-class endpoints. Here’s what’s actually involved.

· Miuda Team

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 in three languages.

This post walks through the patterns RustPBX gives you for after-hours handling, from the simple to the fairly sophisticated.

· Miuda Team

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, its own CDRs) and a rewrite. RustPBX treats the bot as a first-class resident instead. Here’s the architecture, and specifically how the human handoff stays clean.

· Miuda Team

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’s, and did it transfer, and where. RustPBX CDRs are built to answer those without opening a PCAP.

· Miuda Team

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 CC (Contact Center) addon provides all of this out of the box. This post walks through setting up a functional call center – from skill groups to supervisor monitoring.

· Miuda Team

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 packet, stores them efficiently, and presents a visual timeline in the web console. Need a recording? Generate a WAV from the captured RTP data with one click. Need to debug a call from last week? Query it by call ID.

And when a single node isn’t enough, SipFlow supports cluster deployment with consistent hashing.

· Miuda Team

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 bundles three addons that handle these chores automatically. Here’s how each one works.

· Miuda Team

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 router that makes this straightforward. Every incoming call can query your backend API, get the real destination, rewrite the numbers, and connect the call – all in real time.

· Miuda Team

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 setting up internal VoIP communication in RustPBX from scratch, using its web console.

We use cookies for anonymous analytics to improve the site. Nothing is loaded until you accept. Privacy Policy