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

多Twilio Flow通用来电黑名单拦截功能故障求助

多Twilio Flow通用来电黑名单拦截功能问题

我需要创建一个可用于多个Twilio Flow的来电黑名单拦截功能,为所有号码提供拦截服务,但实现过程中遇到了一系列问题:

  • 参考Twilio官方文档实现时,非黑名单号码会被重定向至固定URL,无法返回对应号码所属的Flow
  • 尝试Stack Overflow上的空对象返回方案后,黑名单号码仍能接入Flow并转至语音信箱,无法被直接拒接并返回“号码已停用”提示

初始实现代码

exports.handler = function(context, event, callback) {
  // List all blocked phone numbers in quotes and E.164 formatting, separated by a comma
  let numberBlock = event.block || [ "\+19709892022", "\+11234567896" ];
  let twiml = new Twilio.twiml.VoiceResponse();
  let blocked = true;
  if (numberBlock.length > 0) {
    if (numberBlock.indexOf(event.From) === -1) {
      blocked = false;
    }
  }
  if (blocked) {
    twiml.reject();
    callback(null, twiml);
  }
  else {
    // if the caller's number is not blocked, return an empty JavaScript object
    callback(null, {});
  }
};

初始Flow设置:将该函数作为来电触发后的第一步操作,后续连接至语音信箱分支。


修改后的代码与问题

按建议调整函数与Flow逻辑后,出现新问题:黑名单号码被错误导向“hello”分支而非“goodbye”分支。

修改后的代码:

exports.handler = function(context, event, callback) {
  // List all blocked phone numbers in quotes and E.164 formatting, separated by a comma
  let numberBlock =["\+17171234567"];
  let blocked = true;
  if (numberBlock.length > 0) {
    if (numberBlock.indexOf(event.From) === -1) {
      blocked = false;
    }
  }
  if (blocked) {
    callback(null, "blocked");
  }
  else {
    callback(null, "accepted");
  }
};

修改后的Flow设置:添加了函数返回值的分支判断,配置“accepted”对应“hello”分支,“blocked”对应“goodbye”分支。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:17:49