Table of Contents
Voice AI telephony integration has settled into two setups: a cloud service that handles the calls for you, or a hand-off to the phone system you already run. The choice decides who owns call control and where the audio is anchored. Deepgram supplies the speech layer; the telephony stays yours.
This article follows that choice through the SBC connection, what uptime terms cover, how failover behaves, and what each country requires.
Key takeaways
These decisions determine whether a pilot survives contact with your existing phone system.
- Twilio streaming uses
<Start><Stream>for unidirectional media streaming, commonly for transcription;<Connect><Stream>supports bidirectional audio. Neither path is SIP. - Amazon Connect and Twilio outage-counting rules use different methods.
- Deepgram publishes regional endpoints with region-specific concurrency.
- German geographic numbers require ongoing local-presence validation.
Provider comparison at a glance
Call-control ownership and media transport decide your voice AI telephony integration vendor. Changing your mind means re-plumbing the call path.
Integration and deployment snapshot
Use the matrix to map each service to your existing call path.
| Provider | Flagship model or service | Call-control owner | Streaming protocol | Published capacity limit | Best fit |
|---|---|---|---|---|---|
| Deepgram | Flux STT and Voice Agent | You keep it | WebSocket; configurable behind SBCs | By plan and region | Speech layer |
| Twilio | Media Streams | CPaaS, via TwiML | WebSocket through TwiML | Unlimited with business profile; 1 outbound per second | New CPaaS call flows |
| Vonage | Voice API | CPaaS, via NCCO | WebSocket through NCCO | No cap; 3 outbound per second | New CPaaS call flows |
| AudioCodes | VoiceAI Connect | SBC, via SIP | SIP in; WebSocket to speech providers | Set by license | Existing PBX or SBC |
| AWS | Amazon Connect | CCaaS platform | Native CCaaS integration | 10 concurrent calls, adjustable | Existing CCaaS flows |
- Flagship model or service
- Flux STT and Voice Agent
- Call-control owner
- You keep it
- Streaming protocol
- WebSocket; configurable behind SBCs
- Published capacity limit
- By plan and region
- Best fit
- Speech layer
- Flagship model or service
- Media Streams
- Call-control owner
- CPaaS, via TwiML
- Streaming protocol
- WebSocket through TwiML
- Published capacity limit
- Unlimited with business profile; 1 outbound per second
- Best fit
- New CPaaS call flows
- Flagship model or service
- Voice API
- Call-control owner
- CPaaS, via NCCO
- Streaming protocol
- WebSocket through NCCO
- Published capacity limit
- No cap; 3 outbound per second
- Best fit
- New CPaaS call flows
- Flagship model or service
- VoiceAI Connect
- Call-control owner
- SBC, via SIP
- Streaming protocol
- SIP in; WebSocket to speech providers
- Published capacity limit
- Set by license
- Best fit
- Existing PBX or SBC
- Flagship model or service
- Amazon Connect
- Call-control owner
- CCaaS platform
- Streaming protocol
- Native CCaaS integration
- Published capacity limit
- 10 concurrent calls, adjustable
- Best fit
- Existing CCaaS flows
Decide who owns your call path before comparing anything else.
Two voice AI telephony integration paths, and which one you're actually on
Whoever owns the call before the speech layer hears it decides your path. New call flows stream media from Twilio or Vonage; existing PBX and CCaaS environments hand SIP into an SBC.The two differ in how audio reaches you, and one look at what answers the call settles it.
Media streaming over a WebSocket
Your server receives the call audio directly and never speaks SIP. Twilio sets the verb per goal in its TwiML Stream docs. Use <Start><Stream> to fork audio one way, for real-time transcription with nothing spoken back.
The <Connect><Stream> verb carries audio both ways and supports Flux TTS output or a two-way conversation. Your application must define its own fallback through the remaining TwiML or call-control logic when a stream drops.
SBC and SIP hand-off
The speech layer sits behind the session border controller, once your PBX or contact center platform has taken the call. AudioCodes VoiceAI Connect bridges them.
Its deployment documentation lists SaaS and dedicated setups on AudioCodes' or a customer's cloud. Deepgram is a configured provider for both STT and TTS. On the CPaaS side, Vonage streams audio through an NCCO connect action with "type": "websocket", per the NCCO reference.
Telling them apart on your own stack
Ask where the speech layer first sees the call. A WebSocket means media streaming, while an SBC INVITE means hand-off. If TwiML or an NCCO answers, the CPaaS owns call control. If an SBC trunk group answers, the integration runs behind it.
Connecting through an SBC, step by step
This path adds voice AI without replacing the telephony you already run. Keep SIP call control at VoiceAI Connect while it sends audio to the configured speech providers over WebSockets. The three stages below trace one call from carrier to speech layer and back.
Step one: Carrier hand-off into the SBC
An INVITE arrives over the SIP trunk from your carrier and lands on the SBC at your network edge. VoiceAI Connect reads it and passes the calling and called numbers to the bot in its first message, per the call initiation docs.
Step two: Where the speech layer attaches
VoiceAI Connect Enterprise holds the WebSocket to your STT provider, one per conversation. The AudioCodes STT API spec carries control as JSON text and audio as binary frames, though providers can use their native protocols.
With Deepgram selected, audio streams out and interim transcripts return to the bot. The provider type, model, and endpoint are configurable, and TTS provider documentation works similarly. The ttsHost setting overrides the default api.deepgram.com.
Step three: Return path and call control
The bot sends text while VoiceAI Connect handles synthesis and the SIP side. Point it at Deepgram and Aura-2 returns the synthesized speech, since that integration routes to /v1/speak by default.
The AudioCodes Bot API lets your bot connect over plain HTTP if it holds no state, or over a WebSocket if it does. WebSocket mode needs VAIC-E-3.24 or later. Either way the SIP leg never leaves VoiceAI Connect, where your PBX or CCaaS already expects it. Contact center platforms work the same way, with the choice made in their own designer.
Deepgram documents the Amazon Connect integration, and at Five9 it appears as a selectable STT option.
What an uptime commitment covers, and what it excludes
A commitment guarantees only what the contract spells out, term by term. Published availability figures become commitments only once those terms are in writing. Deepgram sets these terms in your enterprise agreement.
Minimum-duration rules can exclude a series of short outages from reported availability. Both SLAs exclude carrier and Internet problems beyond their network edge, so evaluate the trunk's carrier terms separately. Credits cover a percentage of that month's bill, never the revenue lost on failed calls, so log availability before an outage.
What to require in writing
Take every term below to the negotiation. The published comparables show where these vendors start.
| Term | Require in writing | Published comparable |
|---|---|---|
| Service commitment | Covered service and availability percentage | Connect: 99.99% per AWS region. Twilio APIs: 99.95% |
| Measurement window | Formula, period, minimum-duration rule | Connect: intervals per billing cycle. Twilio: calendar month with minimum-duration exclusions |
| Exclusion categories | Carrier, customer-side, maintenance, beta | Twilio: planned maintenance, emergency maintenance, beta APIs |
| Remedy mechanism | Credit tiers per band, plus cap | Service credits under both SLAs |
| Claim procedure | Deadline, channel, evidence | Connect: AWS Support. Twilio: help.twilio.com |
| Who measures | Whose data settles a dispute | Customer-supplied logs (Connect); customer calculation from status page (Twilio) |
- Require in writing
- Covered service and availability percentage
- Published comparable
- Connect: 99.99% per AWS region. Twilio APIs: 99.95%
- Require in writing
- Formula, period, minimum-duration rule
- Published comparable
- Connect: intervals per billing cycle. Twilio: calendar month with minimum-duration exclusions
- Require in writing
- Carrier, customer-side, maintenance, beta
- Published comparable
- Twilio: planned maintenance, emergency maintenance, beta APIs
- Require in writing
- Credit tiers per band, plus cap
- Published comparable
- Service credits under both SLAs
- Require in writing
- Deadline, channel, evidence
- Published comparable
- Connect: AWS Support. Twilio: help.twilio.com
- Require in writing
- Whose data settles a dispute
- Published comparable
- Customer-supplied logs (Connect); customer calculation from status page (Twilio)
Every credit starts with a claim you file inside a deadline, not with the vendor noticing.
Failover and regional redundancy
Two layers can take over when one breaks, the SIP trunk and the regional endpoint, and both degrade before they stop. What the caller hears depends on which layer failed and what the call flow does next.
Carrier and trunk failover
A dead trunk sends the call to the next SRV target, per RFC 3263. Records list targets by priority and weight, and the client tries the lowest-numbered reachable priority. Failure includes a 503 response, transport failure, or Timer B or Timer F expiry. The client then "SHOULD create a new request" for the next element and use a different Via branch ID.
Regional endpoint redundancy
Deepgram publishes one hostname per region, api.deepgram.com for North America, api.eu.deepgram.com for Europe, and api.au.deepgram.com for Australia, per the rate limits reference. Concurrency differs by plan and region. As of 2026, Growth allows up to 225 concurrent Flux STT streaming requests in North America against 150 in Europe and Australia. Enterprise allows 300 everywhere.
What degrades before it fails
Deepgram's latency measurement guide computes total transcript latency as audio cursor minus transcript cursor, and the figure drifts in your logs well before a caller complains. Chart it per region.
Global rollout: numbers, carriers and residency
Each new country needs a number you're allowed to hold, a carrier path you've measured, and a deployment that satisfies local data rules. Approve each country separately before routing production traffic there.
Country-level number provisioning
A German geographic number requires a residence or business premises inside that local network area. The right lapses if you stop maintaining qualifying premises there. BNetzA's numbering rules, consolidated in July 2026, require validation at contract start and throughout. Carriers check that address against official documents, and reject P.O. boxes and virtual addresses.
International carrier hand-off
Latency accumulates across each leg, and Amazon's low-latency guidance for Connect puts the full path under 500 ms. Test your exact carrier and processing path before deployment. Terminate and process audio in the same region, and measure the carrier leg separately.
Where residency changes the deployment
Data rules decide whether the shared endpoint is enough or you need private cloud or self-hosting. A regional endpoint pins hosting to a region rather than a country, so ask which country before you sign.
Check the whole path as well, because a third-party model in the agent's reasoning step can process data outside the region even when the speech layer stays inside it. Private cloud narrows processing to a supported region you pick, and self-hosting keeps it inside your own environment. Confirm available regions and country requirements with sales.
What are the best voice AI APIs for global telephony integration?
Whichever vendor attaches to your existing path wins; a ranked list can't determine that fit.
Evaluation criteria
For voice AI telephony integration, judge each candidate on four things:
- Documented behavior per use case, meaning a TwiML verb per goal on CPaaS and a named provider configuration on SBC.
- Regional hostnames with published per-region concurrency.
- An availability commitment whose window, exclusions, and remedy exist in writing.
- A deployment model that keeps audio where regulators require.
Production example
Deepgram publishes the first, second, and fourth; the third is negotiated. Voximplant runs Deepgram's Voice Agent API on live phone, SIP, WebRTC, and WhatsApp calls.
Scoping your first region
Contract one country on the path you already own before negotiating a global agreement.
What to confirm before contracting
Get the measurement formula, exclusion list, credit tiers, regional hostname, and concurrency for your plan in writing. Deepgram provides BAAs via sales and enterprise agreements for eligible customers handling ePHI. Open that thread alongside the availability terms. Confirm the carrier's SLA covers the trunk, because the speech vendor's won't.
Sequencing regions
Once the first country is stable, add one whose number rules you've cleared, not necessarily the one with the most volume. Recheck concurrency per plan. Default limits rose by up to 3× for streaming STT, TTS, and Voice Agent in February 2026.
Where to start
Run the transcription fork first. It leaves the return path untouched and tests audio quality on your real trunk. Then commit to the two-way path, where the connection carries synthesized speech back into the call.
Try Deepgram on real call audio. Create a free account and put the $200 free credits toward your noisiest trunk.
FAQ
Can the SBC fall back to a second speech provider?
Yes. The speech provider is a configuration entry, so you can list more than one and balance or fail over between them.
What happens to an in-flight call when the signaling path fails?
If the dialog becomes orphaned, session timers negotiated at setup clear it. Whichever side is refreshing sends BYE once the refresh fails, and the other side sends BYE shortly before the interval expires.
Does a HIPAA BAA cover the carrier leg?
No. OCR's conduit guidance treats a telephone provider with only transient access as a conduit, so no BAA is needed there. Your speech vendor handles the audio itself, so that is where the BAA belongs.
Does self-hosting change the availability commitment?
Yes. Self-hosting moves infrastructure, backup, and uptime monitoring to you. Deepgram makes updates available and notifies you of critical ones. No numeric availability figure is published for it.
Do number provisioning timelines differ by country?
They do. Some regulators publish a target for granting rights of use and others publish none, so confirm the timeline country by country.










