Dograh

Best Voice Agent Platforms for High Call Volume in 2026

Best Voice Agent Platforms for High Call Volume in 2026
ComparisonNovember 10, 2026·10 min read

Best Voice Agent Platforms for High Call Volume in 2026

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

For high call volume, compare included concurrent calls, what happens at the limit, daily or per-second caps and price at volume. Retell includes 20 lines, Vapi 4 to 30, ElevenLabs Agents 4 to 40 and Bland 10 or 50 with daily caps. Dograh, the open-source AI voice agent platform, runs self-hosted with your own limit or on Dograh Cloud.

Key Takeaways

  • Busy lines get blocked, queued, refused or billed at burst rates, depending on platform.
  • On short calls, Bland's daily caps bind before its concurrency limit.
  • Self-hosted Dograh's limit is a setting, so servers and carriers set the ceiling.

A platform that handles 20 calls well can still turn away the 21st. We compare the main hosted platforms on included lines, what each does when every line is busy, daily caps and the bill at 100,000 minutes. To set the limit yourself, the self-hosting section covers Dograh.

Concurrent call limits by platform

Every hosted platform sells a fixed number of calls at once, and the number moves with the plan you buy. Vapi's call concurrency guide counts these as call lines, and the other vendors use the same idea under different names. The table puts each platform's limit beside what it does when that limit is reached.

PlatformCalls at once includedHow you raise itWhen every line is busyCaps on new calls
Dograh10 per organization, self-hosted or on Cloud Pay as you goAn environment variable when self-hosted, Dograh on CloudInbound is refused with a spoken message on Twilio, campaign calls wait for a lineCalls Started per Second, set per campaign
Vapi4 with no package, 10 on Core, 30 on Pro$10 a line a monthNew inbound and outbound calls can't start until a line frees upYour carrier's limit
Retell AI20 per workspace$8 per extra call a month, no cap on EnterpriseInbound waits about 40 seconds, then goes to a fallback number. Outbound is rejected unless burst is onCalls per second set per telephony path
ElevenLabs Agents4 on Free up to 40 on BusinessA higher plan or EnterpriseBurst up to 3x the limit at $0.16 a minute, then rejected or queuedYour carrier's limit
Bland AI10 on Start, 50 on BuildEnterprise, sized to volumeCalls are rejected100 a day and 100 an hour on Start, 2,000 a day and 1,000 an hour on Build
SynthflowSet in the annual contractAsk Synthflow with your expected volumeAn HTTP 429 error or a brief queueCAPS limit on outbound calls started per second

What happens when every line is busy

The limit matters less than what happens to the next caller, and here the platforms split four ways. Vapi blocks. When all lines are in use, no inbound call is accepted and no outbound call starts until one frees up, and an API request to start a call comes back marked as blocked.

Retell's concurrency rules treat the two directions differently. An inbound call waits about 40 seconds for a free line. If none frees up, it goes to the number's fallback number when you have set one, or the call ends. Outbound calls are rejected at the limit unless you switch on burst, which lets calls through up to the lower of three times your limit or your limit plus 300, at an extra $0.10 a minute on the whole call.

ElevenLabs' burst pricing lets calls above your plan's limit through, up to three times that limit, at $0.16 a minute, double the usual rate. Above burst, calls are rejected, unless you turn on call queueing. A queued call stays in line for up to the time you set, from 1 second to 30 minutes with a 3-minute default, and the wait is not billed.

Bland and Synthflow take the plainer routes. Bland states that hitting a limit means calls get rejected rather than incurring unexpected charges. Synthflow returns an HTTP 429 error or holds the call briefly in a queue, depending on how your account is set up.

None of these is wrong. A queue suits inbound support, where a short wait beats a dead line, and rejection suits outbound campaigns, where your dialler can try the contact later. If you lean on burst for spikes, price the double rate into the month.

A support caller and an outbound campaign both reach a platform where every line is in use. The inbound caller waits briefly until a line frees up and the agent answers, while the outbound call to a contact is rejected and the contact is called again later.
Daily caps, calls per second at the platform and the carrier, and your model providers' rate limits can all stop a campaign first. Load test at your real peak over real phone lines before launch.

Daily caps and calls per second

Concurrency is one ceiling, and caps on how many calls you start are another. Bland's plan limits show why it matters. Start allows 10 calls at once but only 100 calls a day and 100 an hour. Build allows 50 at once, 2,000 a day and 1,000 an hour. On a list of short outbound calls, the daily cap stops the campaign long before 50 lines fill.

Synthflow's concurrency guide adds a limit it calls CAPS, the number of outbound calls started per second. A transfer counts too, because it starts a new outbound call. Retell sets calls per second for each telephony path, such as Telnyx, Twilio or your own trunk.

Your carrier sets its own pace under all of this. Twilio starts calls made through its API at 1 call per second by default, and our guide on how to scale voice agents to thousands of simultaneous calls walks through that limit and how to raise it. A platform with 100 lines still dials no faster than its carrier lets it.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Platform cost at 100,000 minutes, an example

A worked example shows how the limits change the bill. Take 100,000 minutes a month with up to 50 calls at once. The table prices only the platform line, at each vendor's published rates. Models, voices and phone minutes sit on other bills unless the row says they are included, so the rows include different things and the totals are not like for like.

LineDograh CloudVapiRetell AIElevenLabs AgentsBland AI Build
Per-minute platform fee100,000 x $0.01 = $1,000100,000 x $0.05 = $5,000100,000 x $0.055 = $5,500$990 Business plan with 12,375 minutes, then 87,625 x $0.08 = $7,010$299 + 100,000 x $0.12 = $12,299
50 calls at oncePay as you go includes 10, ask Dograh for morePro package, $999 minimum, plus 20 lines x $10 = $1,19930 extra x $8 = $240Business allows 40, the rest burst at $0.16 a minuteBuild allows 50
What the fee coversPlatform only, your own model keys and phoneHosting, models and phone separateVoice infrastructure, models and phone separateVoices and speech-to-text, language model on top, phone at costModels and voices included
Platform line$1,000$6,199$5,740$8,000 plus any burst$12,299

The Vapi Pro package is listed at 10% of the hosting fee with a $999 minimum, and 10% of $5,000 is $500, so the minimum applies. Bland's total looks highest because it includes the models, but its daily cap is the bigger problem. At 2,000 calls a day, a 31-day month allows 62,000 calls, so 100,000 minutes only fit if calls average more than 1.6 minutes.

Contact centre suites count lines per instance

Contact centre suites put the limit on the instance, and you ask for more before launch. Amazon Connect sets a default quota of 10 concurrent active calls per instance, counting phone and web calls together, and you raise it with a quota increase request. The Connect Customer tier charges $0.038 a minute for voice, with its own AI agents included, plus telephony. AWS's own example puts 100,000 minutes at $3,800 before phone charges.

That rate buys a full contact centre with human agents, queues and routing. If you only want the AI agent at volume, our post on Amazon Connect SIP trunk vs your own AI voice agent shows how a separate agent takes calls through a carrier number.

Running high volume on your own servers

Self-hosted, the concurrency limit is yours to set, and the ceiling moves to your servers, carrier and model accounts. Dograh allows 10 concurrent calls per organization by default, and you raise it with DEFAULT_ORG_CONCURRENCY_LIMIT in the environment variables.

The servers come next. Each call holds a long-lived connection, so running several API workers behind nginx spreads calls across processes, with new calls sent to whichever worker has the fewest open connections.

Behaviour at the limit is set in the code. An inbound call over the limit is refused at once, and on Twilio the caller hears "Service temporarily unavailable: Your account has reached its concurrent call limit. Please try again later." An outbound call started through the API gets an HTTP 429. Campaign calls wait up to 30 seconds for a free line, then stay queued without using one of the retries you set (0 to 10).

Each campaign has a Max Concurrent Calls setting and a Calls Started per Second setting, which starts at 1, so a large list ramps at a pace your carrier accepts. A circuit breaker pauses a campaign when half the calls in a two-minute window fail, or at once when a provider returns an authorization or billing error.

Bring your own keys, and the speech and model rate limits are your own accounts to raise. Our post on STT and TTS concurrency limits covers when extra accounts add capacity. Pre-recorded clips play your most common lines with no voice request at all, with the text-to-speech voice as the fallback, which takes load off the voice provider at peak.

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. Its Pay as you go plan includes 10 calls at once, with more on request.

At volume you can't listen to every call. QA scores each step of a sample of live calls, set with a Sample Rate percentage, and each call's trace shows where a slow turn spent its time.

Raise volume in steps. Phone audio, real callers and real carrier limits behave differently from a browser test, so prove each step before the next, as our guide on how to load test a voice agent through the real phone path sets out.

Join the Dograh Community

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

Which platform fits which volume

The right pick depends on the shape of your traffic, more than on the headline limit. Steady volume in the hundreds of calls at once is where self-hosting earns its keep. The limit is your own setting and the platform adds no per-minute fee, though the servers and the people who run them do cost money.

Retell fits steady inbound volume that needs room to grow, with 20 lines included, extras at $8 a month and a fallback number for the overflow. Vapi fits teams that already buy a package and add lines as they go, at $10 each.

ElevenLabs Agents fits spiky traffic that a plan's limit covers most days, since burst absorbs the peaks at double the rate and queueing can hold the rest. Bland fits outbound teams whose calls run long enough that the daily cap stays out of reach, or who move to Enterprise. Synthflow fits companies that want concurrency written into an annual contract with launch support.

Whichever you pick, test at your real peak on a real phone line before launch day. Most phone calls still reach the agent as 8 kHz audio, while a browser demo runs at 16 kHz, so load and audio both look better in a dashboard than on the network.

Glossary

Concurrency limit
The number of calls a platform runs at the same moment for your account. Vapi calls them call lines, and most hosted platforms tie the number to your plan or package.
Burst pricing
Letting calls run above the concurrency limit for a higher rate. ElevenLabs Agents bursts up to 3x the limit at $0.16 a minute, and Retell up to the lower of 3x or the limit plus 300 at an extra $0.10 a minute.
Calls per second
How many new calls a platform or carrier starts each second, separate from how many run at once. Twilio's API starts 1 call per second by default, and Synthflow calls its version CAPS.
Call queueing
Holding an incoming call until a line frees up instead of rejecting it. ElevenLabs Agents queues for up to the time you set, 3 minutes by default, and does not bill the wait.

Frequently Asked Questions

Get started with Dograh

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