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
- Sign up at /signup and provision the DID(s) you need.
- In the DIDHub dashboard, generate SIP credentials for your Vapi tenant (or get an IP-allowlist if your Vapi org runs from fixed IPs).
- 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. - Create a Vapi assistant if you don't already have one. Assign the assistant to the BYOC phone number.
- Test inbound: dial the DID from a mobile. The Vapi assistant should answer.
- Test outbound: trigger Vapi to place a call from the DID. Verify Caller-ID, STIR/SHAKEN attestation, and audio quality.
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.
Related integrations
DIDHub for 3CX
Connect 3CX to DIDHub as a SIP trunk provider. Full step-by-step config: trunk template, inbound rules, outbound caller ID, registration. Nu
Phone Numbers for AI Voice Agents
DIDHub integrates with every major AI voice platform: Vapi, Retell AI, ElevenLabs Conversational AI, Bland AI, Synthflow, LiveKit Agents, Pi
AssemblyAI Voice Agent + DIDHub Phone Numbers
Connect DIDHub SIP trunk to AssemblyAI Universal-Streaming + LeMUR for voice agents. STIR/SHAKEN A-attestation, regional ingress, 136-countr
Bland AI Phone Number Integration
Bland AI phone number integration via DIDHub SIP trunk. STIR/SHAKEN A-attestation for outbound campaigns, DID pool rotation, multi-country r
Ready to get a number?
Pick a DID in 130+ countries from $1.99/month. Activates instantly on most numbers.