背景
我正在尝试为我的twilio应用程序实现呼叫筛选-即一个人按一个键来接受一个电话。我在实践中看到了一些这样的例子(例如How to use twilio to guarantee a live answer or voicemail?),但是对于将一个呼叫转发给多个号码的情况,给出的答案使用循环法。在
问题
有没有办法让所有人同时打电话,第一个通过挑战的人发言,而其他所有电话都断开?在
为什么?
我之所以这么做,是因为来电者可能需要等待相当长的一段时间,如果呼叫只由循环中的最后一个人应答。在
Tags:
下面是TwiML:
这将一次拨打所有号码,当有人接听时,其他人的电话就会断开。在
Twilio福音传道者
当您接到您的第一个电话(我们称之为客户)时,使用
<Gather>
向他们询问一些信息,或者播放一些您认为最有效的音乐:然后,使用restapi对我们称之为代理的东西发起3个出站调用。你需要注意Twilio's rate limit。每一个调用都会有TwiML:
^{pr2}$现在,一旦其中一个代理按下一个键(当然您可能希望添加拒绝等选项),它们将被重定向到
action
URL。在您的服务器上,您需要用以下方式响应第一个代理:然后,您需要向restapi和change the customers inbound call(例如,他仍在听音乐)发出请求,并使用上面的TwiML将客户与代理放在同一个会议室中。在
当任何后续代理决定接受该调用时,它们将被重定向到
/accepted
URL,但由于您的应用程序已经知道客户已连接到另一个代理,所以您只需向他们播放一条消息,说明该呼叫已得到响应。在你可以用一些方法来扩展。例如,使用
<Queue>
TwiML动词可以更轻松地处理多个传入呼叫。在您可能还需要使用带有
<Number>
动词的url
属性的“whisper”来查看。这允许您添加一个只在代理端执行的额外TwiML文档。尽管您使用多个<Number>
动词,但只有第一个回答的代理才会听到耳语。在/whisper
TwiML可以包含一个<Gather>
,请求代理接受该调用。一旦呼叫到达TwimL文档的末尾,它将它们连接到呼叫的客户。否则,您可以使用<Hangup>
拒绝。在在所提供的链接上有很多Python代码。恐怕我不是一个很好的Python程序员,但我猜TwiML有帮助吗?在
祝你好运!在
相关问题 更多 >
编程相关推荐