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 ofqueued, indicating Twilio plans to make the dial -
ringing
A short time later Twilio dials the call, and the status is updated toringing -
in-progress
When the call is answered the status becomesin-progress -
completed
After an answered call ends it has acompletedstatus. 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 transfered. 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.