我想拨打多个号码并连接到第一个应答的号码。另外,一旦有人接听,其他号码就应该停止响铃。
我知道这里描述的解决方案:https://www.twilio.com/blog/2009/05/dialing-multiple-numbers-simultaneously-with-twilio.html
基本上由一个
Dial
动词和多个 Number
组成:
<Response>
<Dial action="/handleDialStatus.php" method="GET">
<Number>877-555-1212</Number>
<Number>877-999-1234</Number>
<Number>877-123-4567</Number>
</Dial>
</Response>
但正如他们所说:
如果拨打的电话自动转到语音信箱或 自动应答系统,很可能会接听电话 其中一台机器的速度比任何人都能回答得更快。
这对我来说是个大问题,他们没有提供解决方案!
我实施了呼叫筛选,如此处所述。这个想法是要求被叫者在连接到呼叫者之前按任意键以避免应答机。
然而,一旦某个号码的筛选过程开始,其他电话就停止响铃!基本上它的行为就像被调用者已经连接一样,所以它根本不能解决问题。
还有其他解决办法吗?
这里是 Twilio 开发者布道者。
与其尝试通过存在您描述的问题的
<Dial>
连接到每个调用者,为什么不通过 REST API 单独进行和控制每个调用。
这样,您就可以为您想要拨打的每个号码创建一个呼叫。然后,当电话接听时,提出呼叫筛选质询,如果呼叫成功,则将其连接到原始呼叫并取消您拨打的所有其他呼叫。
这里的缺点是,您需要为每个呼叫注册回调事件,以便您可以判断是否没有成功应答,然后在之后对原始呼叫执行某些操作。
请告诉我这是否有帮助。
关于存储 SID 并根据 philnash 描述的状态处理未答复的解决方案肯定适用于理想世界,但不适用于现实生活。我只需要处理这种情况,这就是我的做法:
通过 API 创建 2 个以上的拨出呼叫,为了克服语音邮件问题,我添加了一个带有耳语的收集选项,如果该人不按任何键(很可能是语音邮件),则不会连接呼叫,如果第一次没有呼叫步骤将应答并按键,转到步骤 2,其中将触发另一组具有相同收集选项的 2 个以上呼叫,然后如果未应答,或已应答但未按下按键,则转至语音邮件。 最初,按照本线程中的建议,我专注于根据 SID 和 CallStatus 杀死未应答的呼叫,但不幸的是,电话线具有随机行为,同时触发的相同电话将开始在不同电话上彼此之间出现很大的延迟/运营商,因此我不能真正依赖 CallStatus。 经过多次尝试后,我只是使用了一个肮脏的解决方案,即在第一次调用结束后创建一个空的 txt 文件,并会触发 StatusCallBack url(所有触发的调用共享相同的 url),如果该文件存在,则不会再运行该文件相同的 url 会扰乱终止/保持呼叫。 可能有一种更优雅的方法来实现这一点,但对于我的用例来说,这被证明是最好的解决方案。
你能弄清楚这一点吗? 我已经尝试同样的事情一个多星期了。还是没能解决。 您能给我推荐任何有帮助的文章吗?
非常感谢