{
  "format": "agent-article-v0",
  "article_id": "EA-220",
  "canonical_url": "/tools/ea-220-telephony-api-voice-agent",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EVD-EA-220-URL-45F01E9B0D17",
    "EVD-EA-220-URL-0E7313761FA7",
    "EVD-EA-220-URL-5DAF72930570",
    "EVD-EA-220-URL-5A0B950E3BCB",
    "EVD-EA-220-URL-8EB0C92C494A",
    "EVD-EA-220-URL-CFB1DB0CE038",
    "EVD-EA-220-URL-6D3F4A61AA3B",
    "EVD-EA-220-URL-C082149D0D60",
    "EA-220-R11-RESEARCH",
    "EA-220-R11-WEB-READBACK"
  ],
  "unknown_ids": [
    "EA-220-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-04",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "EA-220-GAP-FIRST-20261004",
    "SRC-EA-220-URL-45F01E9B0D17",
    "SRC-EA-220-URL-0E7313761FA7",
    "SRC-EA-220-URL-5DAF72930570",
    "SRC-EA-220-URL-5A0B950E3BCB",
    "SRC-EA-220-URL-8EB0C92C494A",
    "SRC-EA-220-URL-CFB1DB0CE038",
    "SRC-EA-220-URL-6D3F4A61AA3B",
    "SRC-EA-220-URL-C082149D0D60",
    "WEBBODY-EA0220-R8-AA3E1D08"
  ],
  "article_sources": [
    {
      "id": "EVD-EA-220-URL-45F01E9B0D17",
      "evidence_class": "RESEARCH",
      "title": "T1",
      "href": "https://www.twilio.com/docs/voice/media-streams",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-45F01E9B0D17"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T1 https://www.twilio.com/docs/voice/media-streams"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-0E7313761FA7",
      "evidence_class": "RESEARCH",
      "title": "T2",
      "href": "https://www.twilio.com/docs/voice/media-streams/websocket-messages",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-0E7313761FA7"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T2 https://www.twilio.com/docs/voice/media-streams/websocket-messages"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-5DAF72930570",
      "evidence_class": "RESEARCH",
      "title": "T3",
      "href": "https://www.twilio.com/docs/usage/security",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-5DAF72930570"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T3 https://www.twilio.com/docs/usage/security"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-5A0B950E3BCB",
      "evidence_class": "RESEARCH",
      "title": "T4",
      "href": "https://www.twilio.com/docs/voice/twiml/stream",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-5A0B950E3BCB"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T4 https://www.twilio.com/docs/voice/twiml/stream"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-8EB0C92C494A",
      "evidence_class": "RESEARCH",
      "title": "T5",
      "href": "https://www.twilio.com/docs/api/errors/31931",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-8EB0C92C494A"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T5 https://www.twilio.com/docs/api/errors/31931"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-CFB1DB0CE038",
      "evidence_class": "RESEARCH",
      "title": "T6",
      "href": "https://developer.vonage.com/en/voice/voice-api/concepts/websockets",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-CFB1DB0CE038"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T6 https://developer.vonage.com/en/voice/voice-api/concepts/websockets"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-6D3F4A61AA3B",
      "evidence_class": "RESEARCH",
      "title": "T7",
      "href": "https://www.twilio.com/docs/voice/twiml/sip",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-6D3F4A61AA3B"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T7 https://www.twilio.com/docs/voice/twiml/sip"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EVD-EA-220-URL-C082149D0D60",
      "evidence_class": "RESEARCH",
      "title": "T8",
      "href": "https://www.twilio.com/docs/voice/api/call-resource",
      "supports": [],
      "limit": "元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。",
      "origin_class": "SOURCE_PACKET_REFERENCE",
      "source_or_experiment_ids": [
        "SRC-EA-220-URL-C082149D0D60"
      ],
      "supporting_locators": [
        "SOURCES",
        "- T8 https://www.twilio.com/docs/voice/api/call-resource"
      ],
      "scope": "SOURCES",
      "provenance_status": "SOURCE_PACKET_REFERENCE_PROJECTED"
    },
    {
      "id": "EA-220-R11-RESEARCH",
      "evidence_class": "RESEARCH",
      "title": "EA-220 監査済みresearch / canonical revision binding",
      "supports": [
        "Twilioのunidirectional streamは音声を返せず、bidirectional Connect/Streamは後続TwiMLを接続中blockする。outbound audioはmulaw8000のraw byteをbase64で送り、file headerを含めない。Vonageのlinear PCM binary/control方式へそのまま転用しない。[T1,T2,T4,T6]\nmarkは再生完了時だけでなく、clearでbufferを破棄した場合にも返る。pending marksとclear履歴を照合し、未再生音声を聞かれた履歴と扱わない。[T2]\nprovider callback/handshake認証とcallerの業務認証は異なる。SIP/Call resourceのroutingと状態は実accountで検査する。[T3,T6–T8]"
      ],
      "limit": "canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。",
      "checked_at": "2026-10-04",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "EA-220-GAP-FIRST-20261004"
      ],
      "supporting_locators": [
        "EA-220-GAP-FIRST-20261004",
        "content/staging/EA-220.md"
      ],
      "scope": "監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。",
      "provenance_status": "AUDIT_PASS_CANONICAL_BINDING"
    },
    {
      "id": "EA-220-R11-WEB-READBACK",
      "evidence_class": "IMPL",
      "title": "EA-220 Web body identity / canonical readback",
      "supports": [
        "canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。"
      ],
      "limit": "body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。",
      "checked_at": "2026-10-04",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "WEBBODY-EA0220-R8-AA3E1D08"
      ],
      "supporting_locators": [
        "WEBBODY-EA0220-R8-AA3E1D08",
        "content/staging/EA-220.md",
        "EA-220-GAP-FIRST-20261004"
      ],
      "scope": "R9/R10 canonical readback後のProduction生成時body identity。",
      "provenance_status": "CANONICAL_READBACK_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "電話向けVoice Agentでは、番号・SIP・call leg/media stream、providerごとのcodec、実再生/破棄、認証、human handoffをAIモデルから分けて確認する。"
    },
    {
      "heading": "ESTABLISHED",
      "text": "Twilioのunidirectional streamは音声を返せず、bidirectional Connect/Streamは後続TwiMLを接続中blockする。outbound audioはmulaw8000のraw byteをbase64で送り、file headerを含めない。Vonageのlinear PCM binary/control方式へそのまま転用しない。[T1,T2,T4,T6]\nmarkは再生完了時だけでなく、clearでbufferを破棄した場合にも返る。pending marksとclear履歴を照合し、未再生音声を聞かれた履歴と扱わない。[T2]\nprovider callback/handshake認証とcallerの業務認証は異なる。SIP/Call resourceのroutingと状態は実accountで検査する。[T3,T6–T8]"
    },
    {
      "heading": "INFERENCE",
      "text": "call/leg/stream/epoch、実再生、取消、tool認可、人間引継ぎを結ぶ記録は組織側提案である。transfer先busyとtool成功後の切断を別に扱う。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "header・codec不一致、clear後のmark、buffer overflow、未知stream、sequence欠落、proxy URLでの誤signature、人間窓口不在、転送失敗、録音設定を試験する。[T2,T3,T5]"
    },
    {
      "heading": "AVAILABILITY_GATES",
      "text": "国・方向・番号/SIP資源・provider account/region、codec/rate、同時接続、human窓口、録音条件とACL、各legとAI/回線の費用上限を確認する。"
    },
    {
      "heading": "SECURITY_PRIVACY_AUDIT_OPERABILITY",
      "text": "production署名検証は公式helperと実public URLを使う。call接続だけでtoolを認可しない。録音・転写・metadataを個別保持し、成功済みside effectを復旧時に再実行しない。"
    },
    {
      "heading": "UNKNOWN_AND_STOP_CONDITION",
      "text": "実電話・SIP・transfer・録音・ASR/TTS・latency・料金は未実測。公開署名vectorとoffline byte/trace試験は本番接続の証拠ではない。"
    },
    {
      "heading": "SOURCES",
      "text": "- T1 https://www.twilio.com/docs/voice/media-streams\n- T2 https://www.twilio.com/docs/voice/media-streams/websocket-messages\n- T3 https://www.twilio.com/docs/usage/security\n- T4 https://www.twilio.com/docs/voice/twiml/stream\n- T5 https://www.twilio.com/docs/api/errors/31931\n- T6 https://developer.vonage.com/en/voice/voice-api/concepts/websockets\n- T7 https://www.twilio.com/docs/voice/twiml/sip\n- T8 https://www.twilio.com/docs/voice/api/call-resource\n\nEVIDENCE_AS_OF: 2026-10-04。"
    }
  ],
  "human_url": "/tools/ea-220-telephony-api-voice-agent",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-220-telephony-api-voice-agent",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-220-telephony-api-voice-agent"
}