Anyone running an AI voice agent on the Calling API with real users
I have a bot on the Cloud API that handles text. Message comes in, an LLM answers it with a few tools attached, reply goes back out. That part is stable. Now I want people to be able to call the same number and talk to it, and I am stuck on how to wire the audio.
Two shapes I can see. First is a pipeline. Take the call audio, run STT, hand the transcript to the same model that already answers the text messages, TTS the reply and stream it back. The brain already exists so I would mostly be wrapping it, but that is three hops of latency and I would be writing my own turn detection and barge in handling.
Second is putting a speech to speech model directly in the call. Grok's Voice Agent API does this, OpenAI Realtime does too, audio in and audio out with function calling built in. Much less of my code sits in the path that way. Cost is that my prompt and tools need porting, and I lose the transcript step where basically all my debugging happens today.
From the docs the Calling API gives WebRTC media by default with SIP available if you enable it, so reaching the stream looks fine on paper. Less clear to me is the 2000 conversations per 24h messaging limit before production calling unlocks. Sandbox numbers get around that for testing, which only proves the plumbing works.
If you have run either version with actual users on it, how bad is the latency in practice, and how often does the model end up talking over the caller. Mine is an India number if that changes anything.