Which voice AI APIs can call a cell phone.
Updated September 17, 2026
“Voice AI API” covers three different products. Only one of them can ring a real mobile number. This page is the integration map: which APIs place an outbound PSTN call, whose caller ID shows up, and when DialMCP is the shorter path.
Three kinds of “voice AI”
- Outbound PSTN. The API originates a call on the public telephone network. Landlines and cell phones both ring. This is what Vapi, Bland, Retell, Twilio Voice, ElevenLabs Agents, LiveKit SIP, VOYP, AgentCall, and DialMCP do.
- WebRTC / in-app voice. The model talks inside a browser or SDK. No phone rings. Most “Realtime” playgrounds start here.
- Inbound / “call the AI”. You dial a number and talk to the model. ChatGPT Voice and 1-800-ChatGPT are this shape. Useful, and the inverse of placing a call for you.
Cell vs landline is a consent question in the US (TCPA treats wireless differently), not a connectivity question. If the provider can dial E.164 over PSTN, it can reach a cell phone. Some stacks look up line type before they dial — DialMCP does; see Safety.
APIs that can place the call
- Twilio Voice — yes, PSTN in and out. Caller ID is a Twilio or verified number you provision. REST / TwiML; you bring the model.
-
Vapi — yes, including batch and scheduled. Caller ID is
an imported Twilio / Vonage / Telnyx number, or a free Vapi number.
REST
/callwith an assistant and destination. -
Bland — yes. Caller ID is a Bland or BYOT Twilio number;
optional dialing pools. REST
POST /v1/callswith an E.164phone_number. -
Retell — yes (Retell-managed numbers: 15 countries).
Caller ID is a Retell-managed or imported number. Create-phone-call API
with
from_numberandto_number. - ElevenLabs Agents — yes, via Twilio or SIP. Caller ID is a purchased Twilio number, or a Twilio-verified caller ID (outbound only). Dashboard outbound call, or the Agents API after import.
- LiveKit — yes, if you attach a SIP trunk. Caller ID is the trunk provider’s number. Create a SIP participant. Infrastructure, not a turnkey agent.
- OpenAI Realtime — not by itself. SIP docs cover inbound. Outbound needs Twilio (or similar) in front; caller ID is whatever that layer presents.
-
VOYP — yes. Caller ID is VOYP’s telephony; credits
required. Remote MCP at
api.voyp.app/mcp/stream, API key or OAuth2. -
AgentCall — yes. Caller ID is a number you provision
through AgentCall. Hosted MCP at
api.agentcall.co/mcpwith an API key; 60 tools. -
DialMCP — yes, US and Canada. Caller ID is
your SMS-verified mobile number. Remote MCP at
mcp.dialmcp.com/mcp. OAuth, no API key.
Sources, checked August 22, 2026: Vapi outbound calling, Bland Send Call, Retell outbound, Twilio Voice, ElevenLabs Twilio, LiveKit outbound, OpenAI Realtime SIP, Twilio + Realtime outbound, VOYP MCP, AgentCall MCP.
What the table does not say
- Vapi, Bland, and Retell are the volume platforms. Their docs lead with campaigns, batch customers, CPS limits, and spam-label remediation. That is the right tool if you are building a contact-center product. It is the wrong default if you wanted one assistant to call one clinic.
- Twilio, LiveKit, and OpenAI Realtime are layers. They will call a cell phone once you assemble STT, LLM, TTS, a number, and the outbound originate. Budget a week, not an afternoon.
- ElevenLabs can present an existing number if that number is a Twilio Verified Caller ID — outbound only, no inbound on that ID. That is the closest “use my real number” option among the business stacks.
- VOYP and AgentCall already speak MCP, so they sit in the same client as DialMCP. VOYP is credits-plus-key (or OAuth2). AgentCall provisions its own numbers and adds SMS, OTP, and inbound agents — a phone stack, not a single personal caller ID.
Where DialMCP sits
DialMCP is a hosted remote MCP server. It does not
sell minutes, provision a pool, or expose a REST dialer. You connect
Claude, Codex, Cursor, ChatGPT connectors, Gamut, or any Streamable HTTP
+ OAuth client to https://mcp.dialmcp.com/mcp
and ask it to place one call. Details:
install,
clients,
OAuth and SMS verification.
- The callee sees your verified mobile number, not a rented DID.
- Four tools:
place_call,get_call,end_call,list_calls. The call is async so a multi-minute hold does not trip the client timeout. - Disclosure, calling hours, rate limits, and opt-outs are enforced server-side. They are not prompt text.
- US and Canada only. Free during the launch pilot.
If you needed a programmable blast dialer, use Vapi, Bland, or Retell. If you needed raw telephony, use Twilio. If you needed the assistant you already live in to call a cell phone from a number the other person can call back, that is the DialMCP job. Walkthrough: how to make a phone call with an AI assistant. Shape comparison: AI phone call app vs. agent. Product comparison: best AI phone call agent.
A short decision path
- If you only wanted to talk to a model, stop. Use ChatGPT Voice or 1-800-ChatGPT. No voice API will place the outbound call.
- If you are wiring a contact center or campaign, pick Vapi, Bland, Retell, or ElevenLabs and import a number.
- If you are assembling your own stack, start from Twilio Voice or LiveKit SIP, then hang a model on it. OpenAI Realtime is the model, not the phone network. Longer build-vs-buy map: how to build an AI voice agent.
- If you are buying for a small business rather than yourself, AI voice agents for small business covers direction, published pricing, and the consent rules. If the agent already speaks MCP and you want one personal outbound call, connect DialMCP — or VOYP / AgentCall if you specifically want their credits, number provisioning, or SMS tools.
https://mcp.dialmcp.com/mcp, verify your
number once, and call place_call.
Connect DialMCP.