What are the Possible Call Statuses, and What do They Mean?

Every Twilio call has a status value which describes the current state of the call. The call status may change over the course of the call, and it's value is submitted to your server in realtime with each TwiML request Twilio makes to your server.

Outbound Call Status Progression

When placing outbound calls with the REST API this is a typical sequence of status values:

Queued Twilio has received your request to create the call. All new calls are created with a status of queued.
Initiated Twilio has dialed the call.
Ringing The destination number has started ringing.
In-progress The call has been connected, and the connection is currently active.
Completed The connected call has now been disconnected. Completed calls will remain in this state in going forward.

Note: A completed call indicates that a connection was established, and audio data was transferred. This could be seen when a phone is answered by a person, an IVR phone tree menu, or even a voicemail. Completed calls, regardless of the outcome, are charged against your project balance.

Finalized Call Statuses

After a call has finished, the following final status options are possible:

Busy Twilio dialed the number, but received a busy response.
No-answer Twilio dialed the number but no one answered before the timeout parameter value elapsed. This can be configured for each call, but by default is set to 60 seconds on outbound API calls, and 30 seconds on outbound <Dial> calls.
Canceled Prior to being answered, an outbound call was cancelled via a POST to the REST API, or an incoming call was disconnected by the calling party
Failed Twilio's carriers could not connect the call. Possible causes include the destination is unreachable, or the number may have been input incorrectly.

Note: A call status of busyno-answer, canceled, or failed will not be charged against your project balance. However, a completed parent or child call related to a call with these statuses would still be charged.

Track Call Statuses

If you want to track the status of your outbound calls, you can use the StatusCallbackEvent parameter to get notifications back to your application every time a call moves to a different status. For more information, please see our article Tracking the Status of an Outbound Call.

Have more questions? Submit a request
Powered by Zendesk