What do the call statuses 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.

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

  • queued All new calls are created with a status of queued, indicating Twilio has received your request to create the call
  • initiated Twilio has dialed the call
  • ringing The destination number has started ringing
  • in-progress The call has been answered
  • completed After an answered call ends it has a completed status. Since the call is over the Status will always remain in this state

Although the above represents a common call flow, other Status values are possible:

  • busy Twilio dialed the number and received a busy signal
  • no-answer Twilio dialed the number but no one answered before the Timeout value elapsed
  • canceled The call was canceled using the REST API
  • failed Twilio's carriers could not connect the call, most likely because the phone number was entered incorrectly

If a call has a Status of no-answer, busy, failed or canceled, you should not be charged for the call. If a call is completed, you will be charged.

completed indicates that a connection was established and audio data was transferred. Most of the time this means that someone answered the phone, but it could also mean that the a connection was made to a voicemail system, or that something else happened that required the transfer of audio.

The documentation also provides a list of the possible values for the Status parameter.

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. See our FAQ for more information.

Have more questions? Submit a request
Powered by Zendesk