Troubleshoot call connection errors
A connection error ends a call before the assistant and the other person are talking. The phone might never ring, ring with no answer, or ring and then drop before the call connects. The cause depends on the call’s direction, so this guide groups errors into outbound calls, inbound calls, and errors that affect every call type.
In this guide, you’ll learn to:
- Find the
endedReasonandendedMessagefor a failed call - Fix outbound calls that your provider refused or that didn’t connect
- Fix inbound calls that never reached your assistant
- Fix account, configuration, and infrastructure errors that affect every call
This guide covers calls that never connected. For calls that dropped or went silent after they connected, see Troubleshoot call errors.
Find why the call ended
Check the response to your call request
For an outbound call, if POST /call returned an error and no call ID, Vapi rejected the request. Go to The call request is rejected.
Get the call
Retrieve the call with Get call:
Record the type, endedReason, and endedMessage fields. The type shows the call’s direction, such as outboundPhoneCall or inboundPhoneCall.
Find the ended reason
Search this page for the endedReason. Errors that only happen on one call direction are under Outbound calls or Inbound calls. Errors that can end any call, and web call errors, are under All call types.
To learn whether a call failed, retrieve the call with the API. Your server might not receive an end-of-call-report for a call that fails before it connects.
Outbound calls
The call request is rejected
Vapi validates the request before it creates a call. When validation fails, POST /call returns a 400 error and no call is created, so the call doesn’t appear in your call logs.
The most common cause is a customer number that isn’t in E.164 format:
E.164 format is a +, the country code, and the subscriber number with no spaces or separators. For example, +14155550100. Numbers that come from a spreadsheet or automation tool often lose the + or gain spaces. Format the number before you send it.
The provider refused to place the call
The call.start.error-get-transport ended reason means Vapi asked your telephony provider to place the call and the provider refused. The phone never rang and you weren’t charged. The provider never created a call, so the attempt doesn’t appear in your provider’s call logs.
The endedMessage field contains the reason. For Twilio, Telnyx, and Vonage, it includes the provider’s own error message. For example:
Find the provider’s message in the sections below.
Twilio
The endedMessage starts with Couldn't Create Twilio Call. Twilio Error: and is followed by Twilio’s message. Twilio’s message doesn’t include the error code, so match on the wording.
Telnyx
The endedMessage starts with Couldn't Make Telnyx Call. Error: and is followed by the Telnyx response.
If the message ends with Request failed with status code 403, Telnyx refused the request. Check these settings in Vapi and in your Telnyx account:
- API key: The API key on your Telnyx credential in Vapi is still active. If you rotated or deleted it in Telnyx, update the credential in Vapi.
- Outbound voice profile: The connection that Vapi uses is added to an outbound voice profile. Telnyx requires one to place outbound calls. See Configuring outbound calling with Telnyx.
If the message is Couldn't Find Telnyx Credential., Vapi has no Telnyx credential for the phone number. See Import number from Telnyx.
Vonage
The endedMessage starts with Couldn't Make Vonage Call. Error: and is followed by the Vonage response. Check that the API key and secret on your Vonage credential in Vapi are still valid.
If the message is Missing Vonage Credential., Vapi has no Vonage credential for the phone number. Attach a Vonage credential to the phone number.
Your own SIP trunk
For a phone number on your own SIP trunk, the endedMessage usually reads Couldn't Make SIP Call. without more detail. Check your SIP provider’s logs for the response it returned, then follow Troubleshoot SIP response codes.
If the message says the credentialId does not exist, the SIP trunk credential on the phone number was deleted. Attach an existing credential to the phone number.
Vapi phone numbers
If the endedMessage is Vapi Numbers Can't Dial Outbound Yet., the phone number is a Vapi SIP number. Vapi SIP numbers support inbound calls only. To place outbound calls, use a phone number from Twilio, Telnyx, Vonage, or your own SIP trunk.
If the endedMessage is Couldn't Start Call On Vapi Number., contact Vapi support with the call ID.
Missing customer number
If the endedMessage says the customer number is missing, the call request had no customer.number. Add the customer number to the request in E.164 format.
Free Vapi number limits
Free Vapi numbers are for inbound calls. To place outbound calls, import a number from Twilio, Telnyx, Vonage, or your own SIP trunk.
Some accounts can place a limited number of outbound calls from free Vapi numbers. These ended reasons mean a call from a free Vapi number reached one of those limits.
The call was dialed but didn’t connect
These ended reasons mean your provider accepted the call but the call didn’t connect to the customer. Unlike a refused call, these attempts appear in your provider’s call logs. Open the attempt there to see why it failed.
The customer didn’t answer
These ended reasons are results for the number you called, not errors in your setup.
For outbound calls where you expect to reach an interactive voice response (IVR) or other automated system, configure your voicemail detection settings to keep the call from ending too early.
Inbound calls
When someone calls your phone number, Vapi gets the assistant from the phone number or from your server URL. Then it connects the caller to the assistant. An inbound connection error means one of those steps failed: the phone number has no assistant, your server URL didn’t return a valid assistant, or the SIP call from your provider didn’t connect.
Some inbound ended reasons, like a caller hanging up while the call rings, are normal outcomes, not errors.
No assistant on the phone number
Server URL errors
If your phone number uses a server URL to choose the assistant, these errors mean your server didn’t respond correctly.
SIP inbound failures
Expected inbound outcomes
These ended reasons are normal results, not errors in your setup.
All call types
Account and billing errors
These are the most common cause of calls failing before they start.
Configuration errors
The call couldn’t start because something is missing or misconfigured.
Infrastructure errors
These indicate a problem on Vapi’s side. You are typically not charged.
Web call errors
Check your setup before going live
Outbound calls:
- Number format: Every customer number is in E.164 format, such as
+14155550100. - Phone number: The call uses a phone number that supports outbound calls.
- Credentials: The provider credentials on your phone number in Vapi are current.
- Twilio account limits: If you use a Twilio trial account, the number you’re calling is verified in Twilio. For any Twilio account, the destination country is enabled in Twilio’s Voice geographic permissions.
- Telnyx outbound voice profile: If you use Telnyx, the connection that Vapi uses is added to an outbound voice profile.
- Test call: Place one test call to your own phone and confirm it rings.
Inbound calls:
- Assistant: The phone number has an assistant, or a server URL that returns one.
- Server URL: If you use a server URL, it’s reachable and returns a valid assistant.
- Test call: Call the phone number and confirm the assistant answers.
Next steps
- Troubleshoot call errors: Diagnose calls that dropped or went silent after they connected.
- Call end reasons: See every
endedReasonvalue. - Troubleshoot SIP response codes: Find where a SIP request failed.
- Import number from Twilio: Connect a Twilio number to Vapi.