Call Lifecycle

The states a masked call moves through from initiation to termination, and how to poll for terminal states.

Call Lifecycle

A call moves through these states from initiation to termination. Poll the call status endpoint until you see a terminal state, or subscribe to webhooks to be notified on each transition.

Happy path

initiated → ringing → answered → in-progress → completed
Status Meaning
initiated Call request accepted; dialing Party A.
ringing Party A's phone is ringing.
answered Party A picked up; bridging Party B.
in-progress Both parties connected and talking.
completed Call ended normally. Recording available shortly.

Terminal failure states

Status Meaning
failed Carrier or system error. See hangup_cause for details.
no-answer Party A did not pick up within the ring timeout.

Polling

Poll GET /v1/masking/calls/:call_sid every 2–3 seconds. Stop polling once status is one of the three terminal values: completed, failed, or no-answer.

For a runnable polling loop, see the Complete Example. To avoid polling entirely, use Webhooks.