
The most frustrating thing about speaking with a Voice AI agent is when it interrupts you, or it doesn’t understand the normal flow of human conversation. There are multiple ways to solve this depending on your use case, and coming up with the best architecture for your

Self-hosting a voice AI pipeline gives you control that managed APIs can’t offer: you choose the models, you decide where they run relative to each other, and you keep audio data within your own infrastructure. Getting there means managing GPU workloads, model placement, and service networking yourself.

When WebRTC quality degrades on your SFU (jitter spikes, frozen frames, choppy audio), your monitoring tells you something is wrong. It doesn’t tell you what is responsible. Is the network dropping packets? Or is your server too loaded to read them from the socket on time? The

SIP and RTP feed a call and its media into a voice AI pipeline. What happens next runs through the control plane: what the voice agent is told, and what it decides to do about it. In my talk at ClueCon this year, From SIP to Tokens: