Twilio offers several tools for investigating the interaction between Twilio and your application. If a call fails to go through, or your voice call behaves unexpectedly, the Debugger and Request Inspector should be your first stops for debugging.
Found in your Twilio console, the Logs contain detailed log of activities within your application, from error logs to specific logs around the APIs you use. These logs can help you dive deeper and understand which Twilio resources were impacted (and by whom).
To get to the debugger, open the console navigation and toggle to the Monitor tab and select Logs to access your error logs:
<Reject>
is the first verb in your response to the call, Twilio will not answer the call. If any other TwiML verbs are used before <Reject>
, your application will receive the call and your account will be billed.
There is no test which can be done to definitively determine the origin of a problem with <Gather>. The best approach to take is to do everything possible to isolate the issue. Try the following:
<Gather>
.
<Gather>
may receive all of the inputs from your user, but your application may not properly handle the request at the URL specified in
<Gather action="">
. Be sure to check that
action=""
points to the correct location, and that your specified location can accept requests made with the method you are using.
For more help implementing <Gather>, please see this guide.
Twilio supports calling worldwide, but international permissions must be explicitly enabled. You can enable international permissions here.
If your account is not yet set up for international dialing, you should request access. After your account has been granted access, revisit the Global Permissions page and enable any country you wish to call.
The Recording API may occassionally throw an exception along the lines of:
_10Twilio\Exceptions\RestException: [HTTP 400] Unable to create record: Requested resource is not eligible for recording (uncaught exception) at /path/to/your/twilio/code.file
The call resource could be ineligible for recording for a number of reasons, but it typically means that you're trying to record a call that has already been completed (for example, both parties hung up) or a call that never established (for example, a failed call, or a call in which the caller hung up before media started flowing.)
You can get more detailed information about the phone call by using the REST API or through your call logs in the Twilio Console.
You can always check the real-time status of Twilio systems via the Twilio status page. If anything is wrong on our end, you'll see it there.
If you're looking for additional insights into your voice calls, you may want to consider Voice Insights, which gives you use real-time data about call quality, carrier analytics, and WebRTC performance to proactively assist customers and minimize support time.
If you're still having trouble with your Twilio Voice calls, you can reach out to our support team for help.