AI voice integration

Phone numbers for Vapi — SIP trunk setup with DIDHub

Connect a DIDHub SIP trunk to Vapi for inbound and outbound voice agents. Vapi's BYOC support means you bring your own phone numbers and your own carrier — you control Caller-ID, STIR/SHAKEN attestation, regional ingress, and per-DID economics. Setup is roughly 10 minutes.

Why DIDHub for Vapi

  • STIR/SHAKEN A-attestation by default. DIDHub-allocated US/CA numbers are signed with attestation A on every outbound call. Vapi's bundled DIDs are typically B-attestation, which mobile carriers increasingly flag as “Spam Likely.” Bring your own DIDHub trunk and the spam labeling problem goes away on day one.
  • 136-country DID inventory. Vapi's bundled US numbers are great for US-only deployments. For multi-country campaigns — UK, Germany, Brazil, Israel, UAE, Singapore — bring DIDHub DIDs via BYOC.
  • Per-DID flat pricing, no commit. $1.99 for a US number, ~$1.10 for German, ~$0.63 for UK London. No minimum order quantity, no monthly minimum, no setup fee on standard SKUs.
  • Bulk DID provisioning API. POST one DID per onboarding, attach via Vapi's BYOC config. The Vapi assistant assignment can be metadata-driven so you bind DID ↔ agent in your application logic.
  • Regional SIP/RTP edges. Sub-50ms ingress to your Vapi inference region. Lower latency = more natural conversation.

BYOC setup — step by step

  1. Sign up at /signup and provision the DID(s) you need.
  2. In the DIDHub dashboard, generate SIP credentials for your Vapi tenant (or get an IP-allowlist if your Vapi org runs from fixed IPs).
  3. In Vapi: open the Phone Numbers section, choose BYO SIP Trunk (or equivalent label), and paste the DIDHub SIP URI (typically sip.didhub.io) plus authentication.
  4. Create a Vapi assistant if you don't already have one. Assign the assistant to the BYOC phone number.
  5. Test inbound: dial the DID from a mobile. The Vapi assistant should answer.
  6. Test outbound: trigger Vapi to place a call from the DID. Verify Caller-ID, STIR/SHAKEN attestation, and audio quality.
Documentation note. Vapi's BYOC / SIP trunk configuration UI changes occasionally. The steps above reflect the current pattern at time of writing. If a screen has moved, the underlying values (SIP URI, credentials, allowed source IPs) are the same — check Vapi's docs for the latest UI path.

Caller-ID configuration

Set the DIDHub-provisioned DID as the outbound Caller-ID in your Vapi assistant config. Vapi will pass that as the From-header on outbound SIP INVITEs; DIDHub validates the Caller-ID against your allocated/ported inventory and signs the call with A-attestation.

For US/CA outbound: DIDHub signs every call with STIR/SHAKEN attestation A on DIDHub-allocated and DIDHub-ported numbers. This is the level that mobile carriers (T-Mobile, Verizon, AT&T) treat with baseline trust — calls signed with weaker attestation are increasingly flagged as “Spam Likely” or sent straight to voicemail. See STIR/SHAKEN explained for the full background.

For non-US destinations: present a local DID as Caller-ID for best answer rates. AI agent calling a Madrid customer should present a +34 (Spanish) Caller-ID, not a US number. DIDHub serves 136 countries with dedicated landing pages so you can match Caller-ID to destination.

Latency & regional ingress

Realtime AI voice is brittle to network latency — an extra 100ms of SIP egress can break the natural-conversation feel. DIDHub operates SIP/RTP edges in:

  • NOAM: Ashburn (US-East), San Jose (US-West), Dallas
  • EU: Frankfurt, Amsterdam
  • APAC: Singapore, Tokyo
  • MENA: Dubai

Pick the edge nearest to your Vapi inference region. Typical sub-50ms regional ingress for the closest pair. If you need a region we don't list, talk to [email protected] — we add edges in response to customer demand.

FAQ

Do I need to leave Vapi's bundled phone numbers behind to use DIDHub?

No. You can run both in parallel. Vapi's BYOC support is additive — bundled numbers continue to work for the use cases where they fit, and BYOC DIDs handle everything else (international, A-attestation, per-DID economics).

Does DIDHub support Vapi's outbound campaign use case?

Yes. Outbound voice via DIDHub respects per-DID rate limits, mobile-carrier ML scoring, and STIR/SHAKEN signing requirements. For campaign volume, allocate a pool of DIDs and rotate via Vapi's outbound logic.

Can I use a Vapi assistant on a non-US DID?

Yes. DIDHub supports DIDs in 136 countries; bind whichever country DID to your Vapi assistant via BYOC. Most non-US numbers don't have STIR/SHAKEN (it's a US/CA regulation), but answer-rate optimization through local Caller-ID still applies.

How do I handle inbound to specific Vapi assistants?

Map DID ↔ assistant in Vapi's BYOC routing config. DIDHub passes the To-header (the called DID) intact; Vapi routes to the right assistant based on it.

Provision your first Vapi DID

Sign up at /signup, pick a country / area code, and route the DID to your Vapi BYOC SIP trunk. $1.99/mo for a US number, sub-60-second activation on most countries. No commits.

Ready to get a number?

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