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 plans to make the dial
  • ringing
    A short time later Twilio dials the call, and the status is updated to ringing
  • in-progress
    When the call is answered the status becomes in-progress
  • 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.