# Telephony API × Voice Agent

CURRENT_STATUS: CURRENT
OBSERVATION: SPEC_ONLY
FRESHNESS: CURRENT
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-220-telephony-api-voice-agent
CLAIM_IDS: none
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
OPS_IDS: none

## Summary
電話向けVoice Agentでは、番号・SIP・call leg/media stream、providerごとのcodec、実再生/破棄、認証、human handoffをAIモデルから分けて確認する。

## Current judgment
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]
markは再生完了時だけでなく、clearでbufferを破棄した場合にも返る。pending marksとclear履歴を照合し、未再生音声を聞かれた履歴と扱わない。[T2]
provider callback/handshake認証とcallerの業務認証は異なる。SIP/Call resourceのroutingと状態は実accountで検査する。[T3,T6–T8]

## Scope
Telephony API × Voice Agent

## Confirmed
- 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]
markは再生完了時だけでなく、clearでbufferを破棄した場合にも返る。pending marksとclear履歴を照合し、未再生音声を聞かれた履歴と扱わない。[T2]
provider callback/handshake認証とcallerの業務認証は異なる。SIP/Call resourceのroutingと状態は実accountで検査する。[T3,T6–T8]

## UNKNOWN
- EA-220-UNKNOWN-01: 実電話・SIP・transfer・録音・ASR/TTS・latency・料金は未実測。公開署名vectorとoffline byte/trace試験は本番接続の証拠ではない。

## Evidence
- EVD-EA-220-URL-45F01E9B0D17 (RESEARCH): T1 — https://www.twilio.com/docs/voice/media-streams
- EVD-EA-220-URL-0E7313761FA7 (RESEARCH): T2 — https://www.twilio.com/docs/voice/media-streams/websocket-messages
- EVD-EA-220-URL-5DAF72930570 (RESEARCH): T3 — https://www.twilio.com/docs/usage/security
- EVD-EA-220-URL-5A0B950E3BCB (RESEARCH): T4 — https://www.twilio.com/docs/voice/twiml/stream
- EVD-EA-220-URL-8EB0C92C494A (RESEARCH): T5 — https://www.twilio.com/docs/api/errors/31931
- EVD-EA-220-URL-CFB1DB0CE038 (RESEARCH): T6 — https://developer.vonage.com/en/voice/voice-api/concepts/websockets
- EVD-EA-220-URL-6D3F4A61AA3B (RESEARCH): T7 — https://www.twilio.com/docs/voice/twiml/sip
- EVD-EA-220-URL-C082149D0D60 (RESEARCH): T8 — https://www.twilio.com/docs/voice/api/call-resource
- EA-220-R11-RESEARCH (RESEARCH): EA-220 監査済みresearch / canonical revision binding
- EA-220-R11-WEB-READBACK (IMPL): EA-220 Web body identity / canonical readback

## Failure / limits
header・codec不一致、clear後のmark、buffer overflow、未知stream、sequence欠落、proxy URLでの誤signature、人間窓口不在、転送失敗、録音設定を試験する。[T2,T3,T5]
## Failure / limits
実電話・SIP・transfer・録音・ASR/TTS・latency・料金は未実測。公開署名vectorとoffline byte/trace試験は本番接続の証拠ではない。
## Practice
call/leg/stream/epoch、実再生、取消、tool認可、人間引継ぎを結ぶ記録は組織側提案である。transfer先busyとtool成功後の切断を別に扱う。
## Practice
国・方向・番号/SIP資源・provider account/region、codec/rate、同時接続、human窓口、録音条件とACL、各legとAI/回線の費用上限を確認する。
## Practice
production署名検証は公式helperと実public URLを使う。call接続だけでtoolを認可しない。録音・転写・metadataを個別保持し、成功済みside effectを復旧時に再実行しない。
## PUBLIC_CLAIM
電話向けVoice Agentでは、番号・SIP・call leg/media stream、providerごとのcodec、実再生/破棄、認証、human handoffをAIモデルから分けて確認する。

## ESTABLISHED
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]
markは再生完了時だけでなく、clearでbufferを破棄した場合にも返る。pending marksとclear履歴を照合し、未再生音声を聞かれた履歴と扱わない。[T2]
provider callback/handshake認証とcallerの業務認証は異なる。SIP/Call resourceのroutingと状態は実accountで検査する。[T3,T6–T8]

## INFERENCE
call/leg/stream/epoch、実再生、取消、tool認可、人間引継ぎを結ぶ記録は組織側提案である。transfer先busyとtool成功後の切断を別に扱う。

## FAILURE_ENVELOPE
header・codec不一致、clear後のmark、buffer overflow、未知stream、sequence欠落、proxy URLでの誤signature、人間窓口不在、転送失敗、録音設定を試験する。[T2,T3,T5]

## AVAILABILITY_GATES
国・方向・番号/SIP資源・provider account/region、codec/rate、同時接続、human窓口、録音条件とACL、各legとAI/回線の費用上限を確認する。

## SECURITY_PRIVACY_AUDIT_OPERABILITY
production署名検証は公式helperと実public URLを使う。call接続だけでtoolを認可しない。録音・転写・metadataを個別保持し、成功済みside effectを復旧時に再実行しない。

## UNKNOWN_AND_STOP_CONDITION
実電話・SIP・transfer・録音・ASR/TTS・latency・料金は未実測。公開署名vectorとoffline byte/trace試験は本番接続の証拠ではない。

## SOURCES
- T1 https://www.twilio.com/docs/voice/media-streams
- T2 https://www.twilio.com/docs/voice/media-streams/websocket-messages
- T3 https://www.twilio.com/docs/usage/security
- T4 https://www.twilio.com/docs/voice/twiml/stream
- T5 https://www.twilio.com/docs/api/errors/31931
- T6 https://developer.vonage.com/en/voice/voice-api/concepts/websockets
- T7 https://www.twilio.com/docs/voice/twiml/sip
- T8 https://www.twilio.com/docs/voice/api/call-resource

EVIDENCE_AS_OF: 2026-10-04。

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.