我们正在使用Gather
命令(https://www.twilio.com/docs/api/twiml/gather)向用户询问问题。我们不使用自动语音邮件检测,因为2秒延迟会使我们的产品更糟糕。
无意中有些用户挂断而不是选择1或2,有些用户有语音邮件。我们需要检测 - 是否是Gather
的超时选项挂断(因此很可能是语音邮件),或者是用户触发的挂断。
是否可以这样做?
答案 0 :(得分:2)
Twilio开发者传道者在这里。
虽然挂断在调用状态中看起来不会有所不同,但您可以使用<Gather>
属性为您解决此问题。
当您通过<Gather>
并且超时触发时,TwiML将继续。然后,您可以<Redirect>
到另一个记录<Gather>
超时然后挂起的端点。类似的东西:
<Response>
<Gather timeout="10" numDigits="1">
<Say>Enter 1 for this or 2 for that</Say>
</Gather>
<Redirect>http://example.com/gather_timeout</Redirect>
</Response>
然后重定向可能会运行一些代码,然后挂起。
<?php
// Record the CallSid and that it was a Gather timeout
?>
<Response>
<Hangup/>
</Response>