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

求助:Twilio Connect动词无法触发Twilio Function内的WebSocket连接

问题:Twilio Function使用标签无法触发WebSocket连接到ngrok端点

我通过Twilio Function提供Connect动词,代码如下:

exports.handler = function(context, event, callback) {

  const openFile = Runtime.getAssets()['/connectTwiml'].open;

  const twiml = openFile();
  console.log("Responding with Twiml:");
  console.log(twiml);
  return callback(null, twiml);
};

资产文件/connectTwiml的内容:

<?xml version="1.0" encoding="UTF-8" ?>
<Response>
  <Connect>
    <Stream url="wss://<ngrok Url>>">
    </Stream>
  </Connect>
</Response>

用<Say>标签时来电能正常工作,说明Function可正常触发且Twiml解析正确,但切换到<Connect>标签后,始终无法触发WebSocket连接到我的ngrok端点。有人遇到过这类问题吗?


排查建议:

  • 修正URL格式:你提供的Twiml里Stream标签的url属性末尾多了一个>,写成了wss://<ngrok Url>>,这会导致地址无效,先把多余符号删掉,替换成实际的ngrok转发地址(比如wss://abc123.ngrok.io)。
  • 确认ngrok状态:检查ngrok终端的Forwarding输出,确保服务在正常运行,地址没有变动。
  • 测试WebSocket端点:用wscat这类工具手动连接你的WebSocket服务,验证端点是否能正常响应,比如执行wscat -c wss://你的ngrok地址,看是否能成功建立连接。
  • 查看Twilio日志:去Twilio控制台的「Monitor > Logs > Programmable Voice」里找具体错误日志,Twilio会明确记录连接失败的原因,比如URL无效、超时、端点无响应等。
  • 检查账号权限:确认你的Twilio账号已启用Programmable Voice的Stream功能,没有权限限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:23:07