首页 > 解决方案 > 如何重复输入 DTMF 的值

问题描述

我正在尝试编写一些 TwiML,其中用户将通过键盘输入电话号码,我想回复并重复他们输入的号码。

<Response>
    <Gather input="speech dtmf" finishOnKey="#" timeout="4" numDigits="5" action="https://handler.twilio.com/twiml/EHb45a578e1b6a7a33187bb7e72f721dd1" method="GET">
        <Say>Please enter your number</Say>     
   </Gather>
  <Say>You entered: {Digits}</Say>
</Response>

标签: twilio

解决方案


Twilio 开发人员布道者在这里。

使用时,<Gather>您将action属性设置为 URL。一旦<Gather>记录了用户的响应,它将向该 URL 发出新的 HTTP 请求,action并且不会继续当前的 TwiML。因此,在您的示例中,<Say>不会使用最后一个。

看起来您已将actionURL 设置为 TwiML Bin。使用 TwiML Bins,您可以根据传入的请求参数进行一些模板插值。包含用户按下的数字的参数将是Digits

因此,您需要的是一个新的 TwiML Bin,它只有<Say>您示例中的第二个,并使用该 TwiML Bin 作为actionURL。

<Response>
  <Say>You entered: {Digits}</Say>
</Response>

如果你想超越 TwiML Bins,那么你需要编写一个应用程序来接收来自 Twilio 的 webhook 请求,解析响应并读取Digits参数(或SpeechResult参数,因为你的input属性中也有“speech”)。


推荐阅读