メインコンテンツまでスキップ

通話ステータス一覧

body.data.callStatus には通話のステート名(通知時点のスナップショット)が入ります。本ページは取り得る値とその意味をまとめたリファレンスです。

警告

callStatus はエラー判定に使えません。 エラー発生時点でも遷移中ステータス(CALLING など)が入る場合があります。エラー判定は body.errors 配列の有無で行ってください(ペイロード仕様 > body.errors 参照)。

発信通話 (OUTBOUND) の callStatus

callStatus意味
WAITING_FOR_CACHE発信前のキャッシュ生成待ち
PENDING架電リクエスト受付済み、発信待機中
REQUESTED電話回線プロバイダへ発信指示を出した
CALLING呼び出し進行中 / 通話接続中
CLOSING通話切断後の後処理フェーズ
COMPLETED通話完了(errors 配列があればエラー有り完了)
EXPIRED発信可能な時間帯を過ぎ、発信されずに終了
NO_RESPONSE相手が応答しなかった
CANCELEDユーザー操作で架電をキャンセル
BUSY相手回線が話し中
UNREACHABLE電波圏外・電源 OFF など、到達できなかった
MAX_ATTEMPTS_REACHED再発信を含む試行回数が上限到達
ERRORエラー発生
VOICEMAIL_REACHED留守電に到達
HEALTHCHECK_FAILED架電リクエストで指定されたヘルスチェック先 URL への確認に失敗し、発信されずに終了
LIMIT_REACHED各種上限到達(内部)
CONNECTING接続中(内部)
CONCURRENCY_LIMIT_EXCEEDED同時実行制限超過(内部)
注記

LIMIT_REACHED / CONNECTING / CONCURRENCY_LIMIT_EXCEEDED は内部状態として callStatus には現れることがありますが、外部向け Webhook には専用イベントを発火せず OUTBOUND_CALL_ERROR に集約されます。

着信通話 (INBOUND) の callStatus

callStatus意味
CONNECTING着信を受け、内部処理を開始
CALLING通話成立、対話進行中
CLOSING通話切断後の後処理フェーズ
COMPLETED通話完了
CONCURRENCY_LIMIT_EXCEEDED同時通話数上限に到達
ERRORエラー発生

状態遷移(概念図)

OUTBOUND

基本フロー
WAITING_FOR_CACHE → PENDING → REQUESTED → CALLING → CLOSING → COMPLETED

発信前にキャンセル(ユーザー操作)
WAITING_FOR_CACHE / PENDING → CANCELED

発信前チェック失敗
WAITING_FOR_CACHE → HEALTHCHECK_FAILED

発信が成立しなかった(REQUESTED / CALLING から分岐)
NO_RESPONSE / BUSY / UNREACHABLE / VOICEMAIL_REACHED
MAX_ATTEMPTS_REACHED / EXPIRED

INBOUND

基本フロー
CONNECTING → CALLING → CLOSING → COMPLETED

受付拒否(同時通話数の上限に到達)
CONNECTING → CONCURRENCY_LIMIT_EXCEEDED
注記
  • COMPLETED は「成功」を意味しません。 通話処理が最後まで実行されて通話が終了した状態を表し、途中でエラーがあっても body.errors を伴う「エラー有り完了」として COMPLETED になります。成否の判定には COMPLETED ではなく body.errors を使ってください。
  • ERROR はライフサイクルから独立した「実効ステータス」です。どのフェーズでも body.errors が付与された時点で、実効的に ERROR*_CALL_ERROR)として扱われます。
  • LIMIT_REACHED / CONNECTING / CONCURRENCY_LIMIT_EXCEEDED(OUTBOUND の内部状態)は専用イベントを発火せず OUTBOUND_CALL_ERROR に集約されます。
  • 詳細な遷移は内部実装に依存します。外部向けに保証されるのは「同一 callId のイベントは FIFO で配信される」点のみです(設定ガイド > 配信の挙動 参照)。