Troubleshoot SIP response codes
Session Initiation Protocol (SIP) response codes describe the result of a SIP request. They are standard protocol responses, not Vapi-specific error codes.
A response can originate from Vapi, your SIP provider, your PBX or Session Border Controller (SBC), a downstream carrier, or the destination. The code identifies the type of response, but it does not always identify the root cause. Start with the response class, find the system that returned the response, and then check the relevant configuration.
Vapi’s endedReason summarizes why the call ended. For some outbound SIP failures, it includes the response code directly. For example, if Vapi receives 403 Forbidden, the call can have an endedReason of call.in-progress.error-providerfault-outbound-sip-403-forbidden.
Vapi does not have a code-specific endedReason for every SIP response. For example, if Vapi receives 404 Not Found, the call may have a generic SIP failure reason. The original response is still 404. Only Vapi’s summary is generic. Check your provider or PBX/SBC logs when the endedReason does not include the response code.
Start in Vapi
Open the failed call
Open the Vapi Dashboard, then choose Observe > Logs. Choose the Calls tab, then choose the failed call.
Collect the call context
Record the call ID, timestamp, call direction, SIP provider, and endedReason. The direction determines which signaling path to inspect first.
You can also retrieve endedReason from the Call object.
- For an outbound call, start with Vapi and your outbound SIP provider.
- For an inbound call, start with the originating provider or PBX and the Vapi phone number or trunk configuration.
Find the final SIP response
If the endedReason contains a SIP response code, use that code as your starting point. If the ended reason is generic, check your provider, PBX, or SBC logs for the final response code and reason phrase.
Record which system returned the response. The same code can have different causes when it comes from a different system.
Understand the response class
A 4xx response does not always mean that your application sent an invalid request. A provider can use a 4xx response for account restrictions, call limits, routing rules, or destination state. Use the provider’s reason phrase and call trace to identify the specific cause.
Locate the likely failure point
Use the response family to decide which part of the call path to inspect first.
Troubleshoot common 4xx responses
Troubleshoot common 5xx responses
Troubleshoot common 6xx responses
If the response is still unclear
The reason phrase and provider-specific details are important because different providers can use the same response code for different causes. The reason phrase is descriptive text and can vary between implementations, so do not build automated handling from the phrase alone.
Collect the following information before contacting your SIP provider or Vapi Support:
- Vapi call ID and organization ID
- Timestamp with timezone
- Inbound or outbound direction
- SIP provider and PBX or SBC product
- Exact SIP response code and reason phrase
- The system that returned the response, when known
- SIP Call-ID and a redacted signaling trace, when available
- The configuration checks and retries you already performed
Do not include SIP passwords, API keys, or other secrets in logs or support requests.