Dograh

Voice AI Agency Tech Stack: Telephony, Models and Platform

Voice AI Agency Tech Stack: Telephony, Models and Platform
TechnicalNovember 6, 2026·7 min read

Voice AI Agency Tech Stack: Telephony, Models and Platform

Abhishek Kumar
Abhishek Kumar·Co-founder, Dograh AI

Co-founder of Dograh, building the future of open-source voice AI agents. Own your voice AI stack.

A voice AI agency's tech stack has five layers. They are telephony, speech-to-text, a language model, a voice and the platform that runs the call. Pick one stack per budget and keep model costs on their own lines. Dograh, the open-source AI voice agent platform we build, works with your carrier and your model keys, self-hosted or on Dograh Cloud.

Key Takeaways

  • Keep model costs on separate lines from the platform fee.
  • In our example, the voice costs more than speech-to-text and the model together.
  • Start on managed models, move to each client's keys, then to your own servers.

This post is part of our guide to starting an AI voice agent agency, where the stack sits under one client's bill and the pricing built on it. Below, we cover each layer and its bill, the carriers Dograh connects to, model costs per minute, and three stacks by budget.

Five layers, and who bills each

Every agent call runs on five layers, and each layer sends its own bill unless a platform bundles them. The carrier carries the call and rents the number. Speech-to-text turns the caller's words into text, the language model writes the reply, and the voice speaks it. The platform holds the call flow together.

That last layer is where Dograh sits. As the orchestration layer, it runs the call flow, the tools and the phone connection, while the speech and language models are a separate layer you pick. Keeping those two layers apart in your head, and on your invoices, is what lets you swap a model for one client without touching the others.

Telephony: carriers and SIP trunks

The phone line comes from a carrier account or from a client's own SIP trunk. Dograh connects to Twilio, Telnyx, Plivo, Vonage, Exotel and Cloudonix, and a self-hosted install can also reach a client's own Asterisk server through Asterisk ARI. If the agent hands calls to the client's staff, pick Twilio, Telnyx, Plivo, Cloudonix or Asterisk ARI, the providers where Transfer Call works.

The per-minute line is small but never zero. Twilio charges $0.0085 a minute for an inbound call to a US local number, plus $0.0044 a minute for the media stream that carries the audio to the agent, and a local number rents for $1.15 a month. Telnyx Call Control starts at $0.002 a minute plus a SIP trunking rate, $0.0032 a minute inbound in the US, with a local number at $1.00 a month.

For an agency, the best carrier is often the one the client already pays. A client with a SIP trunk or phone system can bring it, which keeps its numbers in its own name. Our Telephony 101 for voice AI compares carriers, SIP trunks and how numbers connect.

A caller dials a client's usual number, and the call runs through the client's own phone system and trunk, with its numbers in its own name, into the agency's AI voice agent platform, where the agent answers.
Bringing the client's trunk keeps the numbers in the client's name and the phone line on a bill the client already pays. If the agent hands calls to the client's staff, check the carrier is one where Transfer Call works before you build.

Model costs, kept apart from the platform

Model costs belong on their own lines, because they are the ones that change from client to client. The table uses one example call: five minutes, 12 exchanges, a 2,000-token prompt sent again every turn and about 37 words from the agent each turn, which is about 480 characters of speech a minute.

LayerExample modelList pricePer minute in this example
Speech-to-textDeepgram Nova-3, one language$0.0077 a minute$0.0077
Speech-to-textDeepgram Nova-3, multilingual$0.0092 a minute$0.0092
Language modelgpt-4.1-mini$0.40 in, $1.60 out per million tokens$0.0025
Language modelgpt-5-mini$0.25 in, $2.00 out per million tokens$0.0017
VoiceElevenLabs Flash$0.04 per 1,000 characters$0.0192
VoiceElevenLabs Multilingual v2$0.08 per 1,000 characters$0.0384
VoiceDeepgram Aura-2$0.030 per 1,000 characters$0.0144

Speech-to-text and Aura-2 are at Deepgram's rates, and the language model at OpenAI's.

Flash and Multilingual v2 are at ElevenLabs' rates. The language model line works out per call first: 29,250 input tokens and 600 output tokens on gpt-4.1-mini come to $0.0127 for the five minutes.

The voice is the line that grows fastest, and speech-to-text is usually the slowest part of each turn, so pick those two with the most care. The platform sits apart from all of these. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. The fee is the same for every model you choose. Our breakdown of what an AI voice agent costs per minute adds the three lines up across platforms.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Starter stack for your first clients

For the first two or three clients, the example starter stack keeps accounts to a minimum. Run the agents on Dograh Cloud with its own managed models, which bill by usage through the same account, so there are no model provider accounts to open. Give each client its own Twilio or Telnyx number, or bring the client's trunk.

This stack is about speed. One team per client on Dograh Cloud keeps each client's agents and numbers apart from day one, and 10 calls at once are included, which covers small offices. The trade is less control over each model line, which is fine while you learn what each client's calls need.

Growing stack with each client's keys

Once a client has steady volume, the example growing stack moves its models onto keys you or the client own. A typical mix is Deepgram Nova-3 for speech-to-text, gpt-4.1-mini or gpt-5-mini for the language model and ElevenLabs Flash or Deepgram Aura-2 for the voice, with the platform still on Dograh Cloud. Each agent gets its own model configuration, so client A's calls bill client A's keys.

Two things go wrong at this stage. Provider limits on calls at once start to bite, and one connection can hold a key pool, several keys that Dograh rotates between, as our post on STT and TTS concurrency limits shows. The voice bill also grows with every minute, and recording the lines the agent says most cuts it, as covered in mixing pre-recorded audio with TTS.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Enterprise stack on your own servers

For a client whose calls must stay on its own servers, the example enterprise stack self-hosts everything. Dograh runs on the client's servers or yours, calls arrive from the client's phone system through Asterisk ARI, and the models are open weights on the same machines. The set we recommend is Qwen3.8 27B for the language model and Parakeet TDT 0.6B v2 for speech-to-text, which at about 2 GB fits beside a 4-bit 27B model on one 24 GB card. For the voice, Chatterbox can clone a real person's voice, while Magpie TTS ships five fixed voices under NVIDIA's own open-weights licence.

This is the only tier with full data sovereignty. Using your own keys with hosted models moves the contract, while the audio still reaches each provider. Running open-weight models on your own servers keeps the audio inside. The model line becomes a GPU bill, and the platform line becomes your server time. A self-hosted install runs 10 calls at once by default, a limit you can raise, and your servers and carrier set the real ceiling.

Glossary

Orchestration layer
The platform that runs the call: the flow, turn-taking, tool calls and the phone connection. Dograh is this layer, and the speech and language models are a separate layer you choose.
Media stream
The live audio a carrier sends from the call to the agent and back. Twilio bills it per minute on top of the call itself, so add it to the phone line when you budget.
Key pool
Several API keys for one provider held on one connection, with one picked for each use. It spreads calls across accounts when a single key's limit on calls at once is too low.
Open-weight model
A model whose weights you can download and run on your own servers, such as Qwen3.8 27B or Parakeet TDT 0.6B v2. It is the only way to keep call audio fully in-house.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.