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.