Twilio/TwiML上的交互式语音菜单

Twilio/TwiML上的交互式语音菜单,twilio,voice,twilio-twiml,Twilio,Voice,Twilio Twiml,我需要一个互动菜单与TwiML一起使用,并有一些问题: 我可以用TwiML来完成吗?还是需要一个带有表单处理的服务器端安装 我基本上需要接听一个电话,询问用户几个选项(按1表示yada yada,按2表示诸如此类),然后根据响应需要拨打一个或另一个号码。有点像一个互动的总机 上述情况是否可能?有没有迹象表明我会怎么做 这里是Twilio开发者福音传道者 您无法使用静态TwiML生成交互式菜单,您需要能够对所做的选择做出反应并且需要服务器端组件的东西 谢天谢地,你在这里有一些选择 正如Alex在评

我需要一个互动菜单与TwiML一起使用,并有一些问题:

  • 我可以用TwiML来完成吗?还是需要一个带有表单处理的服务器端安装
  • 我基本上需要接听一个电话,询问用户几个选项(按1表示yada yada,按2表示诸如此类),然后根据响应需要拨打一个或另一个号码。有点像一个互动的总机

  • 上述情况是否可能?有没有迹象表明我会怎么做

    这里是Twilio开发者福音传道者

    您无法使用静态TwiML生成交互式菜单,您需要能够对所做的选择做出反应并且需要服务器端组件的东西

    谢天谢地,你在这里有一些选择

    正如Alex在评论中指出的,是Twilio的可视化生成器,它允许您创建这样的流,并将服务器端组件留给Twilio。有一个和,它向您展示了如何使用Studio构建IVR

    另一方面,如果您乐于编写代码来创建这种类型的东西,但不希望托管它,那么可能就是您想要的。Twilio函数是用于运行代码的无服务器环境。您可以使用TwiML Bin编写初始TwiML,因为它可以是静态TwiML,类似于以下内容,用于收集用户输入:

    <Response>
      <Gather action="FUNCTION_URL" numDigits="1">
        <Say>Welcome to my menu, please press 1 for sales or 2 for support</Say>
      </Gather>
    </Response>
    
    还有一个指南更深入地介绍了


    让我知道这是否有帮助。

    看看Twilio Studio有趣的。。我来看看!最后,我在一个nginx实例上粘贴了一段难看的代码,并在我看到这篇文章之前让它开始工作。但是我更喜欢Twilio函数的想法,我会尝试!太棒了,希望一切顺利!
    exports.handler = function(context, event, callback) {
      const twiml = new Twilio.twiml.VoiceResponse();
      if (event.Digits === '1') {
        twiml.dial(SALES_NUMBER);
      } else if (event.Digits === '2') {
        twiml.dial(SUPPORT_NUMBER);
      } else {
        const gather = twiml.gather({ action: 'FUNCTION_URL', numDigits: '1' })
        gather.say('That was not an option, please dial 1 for sales and 2 for support')
      }
      callback(null, twiml);
    }