Twilio Twiml使用收集,说和重定向问题

问题描述

我试图遍历a并给客户5秒钟,然后再次重复提示,等待5秒钟,然后重定向到我的错误处理程序。在文档中尚不清楚如何执行此操作。

我发现的是对当前当前URL执行“ then”的解决方案,但这只会不断循环,而不是我们想要的。我们需要在n次之后停止。

{{1}}

解决方法

如果您打算使用Twilio Studio,则有一个示例,该示例将Set Variable Widget与Liquid Syntax一起用作计数器来增加计数器,否则您将需要维护自己的计数器,并使用URL查询参数附加到您的重定向URL。请参见下面的Twilio Function代码。

Set Variables

exports.handler = function(context,event,callback) {
  
  let twiml = new Twilio.twiml.VoiceResponse();
  let counter = event.count || 0;
  
  if (counter < 3) {
    counter ++;
    let gather = twiml.gather({action: `https://anonymous-1234.twil.io/gatherLoopCheck`,input: ' dtmf',timeout: 3,numDigits: 1})
    .say("Please enter a digit");
    twiml.redirect(`https://anonymous-1234.twil.io/gatherLoopCheck?count=${counter}`);
  return callback(null,twiml);
  } else {
    twiml.say("You've reached the limit!");
    return callback(null,twiml);
  }
};