You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

录制完成时Twilio未触发RecordingStatusCallback回调请求问题

Twilio录制状态回调未触发问题

Twilio通话日志显示已成功接收RecordingStatusCallback相关请求参数,但录制完成后,系统从未向指定的端点URL发起POST请求。我试过用自有服务器和公开模拟端点,结果都一样。

Twilio接收到的请求参数:

POST
Request URL
https://api.twilio.com/2010-04-01/Accounts/AC9ef59c28fad/Calls.json
ParametersShow Raw
Transcribe  "false"
Method  "POST"
RecordingStatusCallbackEvent    "completed"
RecordingStatusCallbackMethod   "POST"
RecordingStatusCallback "https://back.theurl.org/recording_status_callback"
AccountSid  "AC9939959c28fad"
Twiml   "<Response><Redirect method=\"POST\">https://back.theurl.org/call_amd_handle</Redirect></Response>"
StatusCallbackMethod    "POST"
AsyncAmd    "false"

创建呼叫的Python代码:

call = client_twilio.calls.create(
    twiml=f'<Response><Redirect method="POST">https://back.theurl.org/call_amd_handle</Redirect></Response>',
    machine_detection="Enable",
    to=call_input.call_to,
    from_=call_input.call_from,
    recording_status_callback='https://back.theurl.org/recording_status_callback',
    recording_status_callback_event='completed'
)

排查方向:

  • 检查录音是否实际启动:当前初始Twiml只是重定向到call_amd_handle,需要确认该端点返回的Twiml中是否包含<Record>指令。如果通话全程没有启动录音操作,Twilio自然不会触发录制状态回调。
  • 验证通话是否生成录音:登录Twilio控制台,查看对应通话的详情,确认是否存在关联的录音条目。无录音则无回调。
  • 检查端点可用性:确保回调端点公网可访问,且能正确接收POST请求并返回200 OK响应。可以用curl模拟请求测试:
    curl -X POST https://back.theurl.org/recording_status_callback
    
  • 查看Twilio错误日志:在Twilio控制台的「监控 > 调试工具 > 事件日志」中,搜索对应通话的SID,检查是否有回调发送失败的记录(如超时、SSL证书错误等)。
  • 确认参数优先级:如果重定向后的Twiml流程中设置了其他录音相关参数,可能会覆盖创建呼叫时的RecordingStatusCallback设置,需排查后续流程的配置。

内容的提问来源于stack exchange,提问作者kielerrr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:12:44