AI voice agents · BYOC

Virtual phone numbers for AI voice agents

Real phone numbers in 130+ countries, connected to Vapi, Retell AI, ElevenLabs ConvAI, Bland, Synthflow, LiveKit Agents, Pipecat, Vocode, Cartesia, Deepgram Voice Agent, AssemblyAI, and OpenAI Realtime API via standard SIP trunks. STIR/SHAKEN A-attestation, sub-50ms regional ingress, wholesale per-minute rates — the infrastructure that lets your AI agent actually work in production.

Why a real virtual phone number matters for AI voice agents

Most AI voice agent demos run on the platform's built-in sandbox phone number — great for showing the agent works, terrible for production. Once you point real customers at it, the problems start:

  • Answer rates collapse. Sandbox numbers usually carry STIR/SHAKEN B or C attestation, meaning US mobile carriers flag them as "Spam Likely." Answer rates drop 50-70%.
  • International coverage breaks. Most sandbox trunks are US-only; outbound to UK / Germany / France / Israel either fails or routes via expensive transit.
  • Latency adds up. The sandbox carrier's PoPs are often far from your agent's compute region. Each cross-region hop adds 30-100ms to turn latency — humans notice over ~600ms total.
  • Margins disappear. Sandbox per-minute rates are typically 2-3× wholesale. At low volume it's fine; at scale it eats your unit economics.
  • Number lock-in. Most sandboxes won't let you port the number out when you outgrow the platform — you have to start over with a new number and lose any brand equity.

The fix is BYOC — Bring Your Own Carrier — where you provision a real virtual phone number from a dedicated telecom carrier (like DIDHub) and connect it to your AI agent platform via standard SIP. You keep the number across platform changes, get carrier-grade signing, true wholesale pricing, and global routing.

How BYOC works with DIDHub

  1. Pick a virtual phone number in DIDHub. Any of 130+ countries. Geographic, mobile, or toll-free.
  2. Provision a SIP trunk. Dashboard → SIP Trunks → New trunk. Choose IP ACL (lock to your bridge's IP) or SIP digest auth (username + password).
  3. Wire the trunk into your AI platform. Each platform has its own config form — paste DIDHub's SIP server hostname, port, credentials.
  4. Route the DID to the trunk. Dashboard → Numbers → pick the DID → Routing → SIP Trunk.
  5. Place a test call. Dial the number from any phone — the AI agent answers within ~1 second.

Total setup time: typically 5-15 minutes per platform.

Supported AI voice agent platforms

Don't see your platform? Any SIP-speaking agent works with DIDHub — the trunk is plain RFC 3261 SIP, no proprietary extensions required. Email sales@didhub.io and we'll write the integration guide.

STIR/SHAKEN — the difference between answered and ignored

If your AI voice agent makes outbound calls in the US, STIR/SHAKEN attestation is the single biggest variable in answer rate. Recap:

  • A-attestation: originating carrier verified the customer is authorised to use the calling number. Calls show "Verified Caller" on iPhone, no spam label.
  • B-attestation: customer verified, number not verified by carrier. Aggressively flagged as "Spam Likely" by T-Mobile, AT&T, Verizon analytics.
  • C-attestation: carrier passing through — no end-customer relationship. Almost always flagged.

DIDHub signs all originating calls A. No configuration needed; it's the default. This is the single biggest reason AI voice agents see 60%+ answer rates on DIDHub trunks vs. 30-40% on most sandbox numbers.

STIR/SHAKEN deep dive · Attestation levels A/B/C explained.

Latency — sub-second turn-taking

Voice agent UX hinges on turn latency: the time from when the user stops speaking to when the agent starts responding. Below ~600ms feels natural; above ~1s feels broken.

The PSTN-side leg of that latency is dominated by SIP round-trips between the agent's compute region and the carrier's PoP. DIDHub operates regional ingress in 8 zones (US East/West, EU, MENA, India, APAC, ANZAC, LATAM, Africa) plus 200+ global edge via Cloudflare anycast — sub-50ms from any major cloud region in any major market.

Real-world impact: an AI agent running in AWS us-east-1 talking to a US customer over a DIDHub US-East SIP trunk has <30ms PSTN-side latency. Add ~200-400ms for STT + LLM + TTS = ~250-450ms total turn latency, which feels natural.

Pricing

Virtual phone numbers for AI voice agents are priced identically to standard DIDHub numbers — from $0.50/month in the cheapest markets (UK geographic) up to $5-15/month for regulated markets. No "AI surcharge."

Per-minute outbound (the main cost driver for an AI agent) starts at $0.005/min to US landline, $0.012/min to US mobile, and is typically the cheapest in the market because DIDHub aggregates supply across 8 wholesale carriers.

Inbound voice on geographic numbers is free; on toll-free numbers it's charged per-minute (you pay because the caller doesn't). See the live calling rates table for per-country specifics.

FAQ

Can I use DIDHub's virtual phone numbers for AI agents that make OUTBOUND calls?

Yes — outbound + STIR/SHAKEN A-attestation is the most common DIDHub-for-AI use case. Your agent emits a SIP INVITE to DIDHub's trunk, we route the call onto PSTN with A-attestation signing, and the destination carrier sees a verified call. This is what unlocks 60%+ answer rates vs. 30-40% on sandbox numbers.

How fast can I get a number and connect it to my Vapi/Retell/ElevenLabs agent?

Buying the number: instant in most countries, 1-7 days in regulated ones. Connecting to the AI platform: 5-15 minutes — copy SIP credentials from DIDHub dashboard, paste into the AI platform's BYOC form, route the DID to the trunk in DIDHub. Total time-to-first-AI-call: usually under an hour for non-regulated markets.

Does it work for non-English AI agents?

Yes — the SIP trunk is language-agnostic, it just carries audio. ElevenLabs, Cartesia, Deepgram, and AssemblyAI all support multilingual STT/TTS. DIDHub stocks virtual phone numbers in 130+ countries so you can have local German / French / Hebrew / Hindi numbers terminating onto AI agents speaking those languages.

Can multiple AI agent platforms share the same number?

Not simultaneously — only one SIP trunk can terminate a given DID at a time. But you can switch the trunk binding (in DIDHub dashboard) any time without porting the number, and you can have one DID route to platform A on weekdays and platform B on weekends via DIDHub's scheduled routing.

What about real-time multimodal (voice + screen + video) agents?

Voice goes via the DIDHub SIP trunk; multimodal channels (screen, video) go via the AI platform's separate transport (WebRTC, usually). DIDHub provides the PSTN voice leg; the platform handles the rest. Common pattern: DIDHub trunk for PSTN voice + LiveKit/Daily.co for WebRTC multimodal.

Can I record calls for compliance (SOC 2, HIPAA, FINRA)?

Yes — DIDHub trunks support per-call recording with signed/encrypted storage to your S3 / R2 / GCS bucket. Recording is configured per-trunk and starts automatically. SRTP encryption for the call leg is supported; KYC for HIPAA-covered customers requires a signed BAA — contact sales@didhub.io.

What if I want to switch from Vapi to Retell (or vice versa)?

That's exactly what BYOC was designed for. Your virtual phone number stays at DIDHub; you just re-bind it to a different SIP trunk pointing at the new platform. Your customers don't notice anything — same number, same Caller ID, different agent on the other end. No port-out, no number change, no brand-equity loss.

Adjacent reading

Ready to get a number?

Pick a DID in 130+ countries from $1.99/month. Activates instantly on most numbers.