Twilio:循环通过Simulring直到人类回答

时间:2017-05-22 23:30:47

标签: twilio twiml

我想让我的Twilio号码同时拨打我公司内部的多名异地技术人员,并且只将呼叫者连接到人(也就是说,阻止呼叫阻止语音邮件)。

我让Simulring工作得很好,但问题是当我的一个技术人员没有电池范围/电话关闭时,他的语音信箱立即回复,DIAL与所有其他技术人员断开连接(NUMBER名词)。 / p>

我的第一个想法是设置它,以便NUMBER名词转到另一个执行GATHER的TwiML Bin,请求他们按任意键接受呼叫(这保证它是人而不是VM)。这适用于人体检测,但是当达到语音邮件时,所有其他呼叫都被丢弃。

那么,在语音邮件失败后,如何继续重启Simulring,省略语音邮件的号码,以便它不会再次捕获呼叫?

This post正是我所需要的,但答案是理论上的,并没有提供解决方案。既然我正在尝试Devin的建议,我找不到真正做到的方法。

这是我最初的TwiML Bin:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial method="GET" action="/retry-simulring">
  <Number url='/human-check' method="GET">
    8885551111
  </Number>
  <Number url='/human-check' method="GET">
    8885551112
  </Number>
  </Dial>
  <Hangup></Hangup>
</Response>

这是/人检查TwiML Bin:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Gather numDigits="1" timeout="5" method="GET" action="/human-check-result">
    <Say voice="alice">You are receiving a work call, press any key to accept</Say>
  </Gather>
</Response>

如果GATHER失败,那么/ human-check-result只发送一个HANGUP,如果它通过则连接Tech和调用者。

我知道 findme Twimlet,但出于用户体验的原因,我希望同时调用所有技术人员。

感谢您的帮助......我花了一天的时间来试图解决这个问题,但看不到合适的解决方案。

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

首先,注意到您指的是引用我们旧的实验性答录机检测的答案,我们现在有一个新的enhanced Answering Machine Detection产品,您可能想尝试使用它。

但是如果你想继续使用<Gather>方法,那么你可以尝试以下方法。

当您从<Gather>获得结果时,您当前正在挂断电话。您可以重定向回同步<Dial>

,而不是这样做

那会很棒,除了它会再次拨打相同的号码。因此,您可以做的是将响应呼叫的号码/语音邮件存储在数据库中的呼叫sid中,它将是<Number> url的webhook中的To参数。然后,您可以再次重定向到同步,然后列出已经存储为当前呼叫SID的任何号码,并将其从您尝试呼叫的号码列表中删除。

我不知道如何给你一个这方面的例子,因为我不知道你的申请是什么。如果我能进一步帮助,请告诉我。