Twilio:在模拟中循环,直到人类回答

Twilio:在模拟中循环,直到人类回答,twilio,twilio-twiml,Twilio,Twilio Twiml,我想让我的Twilio号码同时拨打公司内的多个非现场技术人员,并且只将呼叫者连接到一个人(也就是阻止语音邮件接听电话) 我的模拟功能运行得很好,但问题是当我的一名技术人员超出手机范围/手机关机时,他的语音信箱立即应答,拨号盘与所有其他技术人员断开连接(数字名词) 我的第一个想法是设置它,使数字名词进入另一个TwiML容器,该容器执行聚集,请求它们按任意键接受呼叫(这保证它是人而不是虚拟机)。这对于人的检测是有效的,但当语音邮件到达时,所有其他呼叫都会被丢弃 那么,在语音邮件收集失败后,如何继续重

我想让我的Twilio号码同时拨打公司内的多个非现场技术人员,并且只将呼叫者连接到一个人(也就是阻止语音邮件接听电话)

我的模拟功能运行得很好,但问题是当我的一名技术人员超出手机范围/手机关机时,他的语音信箱立即应答,拨号盘与所有其他技术人员断开连接(数字名词)

我的第一个想法是设置它,使数字名词进入另一个TwiML容器,该容器执行聚集,请求它们按任意键接受呼叫(这保证它是人而不是虚拟机)。这对于人的检测是有效的,但当语音邮件到达时,所有其他呼叫都会被丢弃

那么,在语音邮件收集失败后,如何继续重新启动模拟,并忽略语音邮件的号码,使其不再捕获呼叫

参考资料正是我需要的,但答案是理论性的,没有提供解决方案。现在我在尝试Devin的建议,我找不到一个真正的方法

这是我最初的TwiML邮箱:

<?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>
<?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>

8885551111
8885551112
这是/human check 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>
<?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>

如果您接到工作电话,请按任意键接受
如果采集失败,则/human检查结果只发送一个挂断,如果通过,则连接技术人员和调用方

我知道findmeTwimlet,但出于用户体验的原因,我希望所有技术人员都能同时接到电话


谢谢你的帮助。。。我花了一天的大部分时间试图解决这个问题,却看不到合适的解决方案。

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

首先,注意到您指出的答案引用了我们以前的实验性答录机检测,我们现在有了一个新产品,您可能想尝试一下

但是,如果您想继续使用该方法,那么您可以尝试以下方法

当您从
中获得结果时,您当前正在挂断电话。不必这样做,您可以重定向回模拟

那太好了,不过它会再拨同一个号码。因此,您可以将应答呼叫的号码/语音邮件根据呼叫sid存储在数据库中,它将是webhook中的
To
参数。然后,您可以再次重定向到模拟,然后列出存储为已尝试当前呼叫SID的任何号码,并将其从尝试呼叫的号码列表中删除

我不知道如何给你们一个这样的例子,因为我不知道你们的应用程序是用什么写的。如果我能提供进一步的帮助,请告诉我