Objective
This article outlines a structured method for diagnosing outbound call failures in Twilio when no Call SIDs are generated. It explores possible causes such as configuration errors, SIP URI issues, third-party integrations, and API request handling. The aim is to equip developers with the tools to identify root causes independently.
Product
Programmable Voice, Elastic SIP Trunking
Environment
legacy Twilio Console
Procedure
Elastic SIP Trunking
For the Elastic SIP Trunking, if an outbound call from your PBX fails with a 403 SIP response or no SIP response at all, you will usually see no Call SID generated in the Twilio Console. This typically means that the SIP Invite either contains invalid information or never reached Twilio.
A. If 403 SIP response is received from Twilio with no call SID generated, please do followings:
- Collect PCAP at your SIP Infrastructure (PBX or SBC)
- Review the SIP trace and ensure that SIP Invite Request-URI contains your SIP Trunk Termination URI correctly. The Request-URI in the SIP INVITE message defines the intended recipient of the request. Ensure this URI correctly matches the configured trunk termination URI to confirm the call is routed properly to Twilio.
- In the sample screenshot below, the SIP Invite is incorrectly sent directly to Twilio’s IP address (54.172.x.x). In such cases, Twilio will respond with a 403 Forbidden error. If your trunk termination URI is mytrunk.pstn.twilio.com, the correct SIP Invite Request URI should be formatted like this:
INVITE sip:numbers@mytrunk.pstn.twilio.com SIP/2.0
B. If PBX does not receive any response from Twilio:
- In most cases, the SIP Invite does not reach Twilio because the firewall either fails to forward the Invite to the ISP, or the Invite is blocked or never sent from the PBX to the firewall/SBC.
- Please capture a PCAP at the edge of your firewall to verify that the SIP Invite is being sent from your network to the ISP. If the Invite is correctly sent to the ISP but no response is received, please escalate the issue to your ISP for further investigation.
Programmable Voice
For Programmable Voice calls made through the Twilio Voice API or third-party platforms (such as GoHighLevel, HubSpot, or Salesforce), if a call attempt fails and no Call SID is visible in the Twilio Console, please follow these steps to start troubleshooting:
A. Check the Source Application for Errors
When calls are initiated via Twilio’s Call Resource APIs, the first step is to check the source application for any error messages returned during the API request.
- Example Error: [HTTP 400] Unable to create record: Account not authorized to call +20101xxxxxxx. You may need to enable international permissions.
- Always carefully review the error details and any included links, as they often offer actionable guidance. For more information, refer to Twilio’s error documentation.
- If the error indicates a configuration or permission problem, follow the recommended solution. If administrative changes are needed and the issue persists, please submit support request to Twilio after confirming the documented resolution.
B. Third-Party Integrations (e.g., CRMs)
When using platforms like GoHighLevel, HubSpot, Salesforce, or other CRMs, and no Call SID shows up in the Twilio Console, start by checking the CRM or integration logs for error messages. Most issues stem from frontend configuration problems that can only be resolved by the CRM vendor.
- If a Twilio error code is present, consult the official error reference at this link and follow the recommended resolution.
- For generic or unclear errors, contact the CRM vendor for initial support. If their investigation points to a Twilio issue, escalate the case to Twilio Support, including their findings.
Sample Self-Serve Tip
Some integrations may display explicit messages, such as:
"Dial the number in E.164 format with the country code."