Python 使用呼叫屏蔽将传入呼叫转发到多个号码,无需循环

Python 使用呼叫屏蔽将传入呼叫转发到多个号码,无需循环,python,twilio,twilio-twiml,Python,Twilio,Twilio Twiml,背景 我正在尝试为我的twilio应用程序实施呼叫屏蔽-即,一个人按下一个键接受呼叫。我在实践中看到了几个例子(例如),但是对于将呼叫转发到多个号码的情况,给出的答案使用循环方法 问题 有没有办法让每个人同时打电话,第一个通过挑战的人讲话,其他所有电话都断开 为什么? 我之所以这样做,是因为如果呼叫只由循环赛中最后一个人接听,则来电者可能需要等待很长时间。以下是TwiML: <?xml version="1.0" encoding="UTF-8"?> <Response>

背景

我正在尝试为我的twilio应用程序实施呼叫屏蔽-即,一个人按下一个键接受呼叫。我在实践中看到了几个例子(例如),但是对于将呼叫转发到多个号码的情况,给出的答案使用循环方法

问题

有没有办法让每个人同时打电话,第一个通过挑战的人讲话,其他所有电话都断开

为什么?

我之所以这样做,是因为如果呼叫只由循环赛中最后一个人接听,则来电者可能需要等待很长时间。

以下是TwiML:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial>
    <Number>415-123-4567</Number>
    <Number>415-321-7654</Number>
    <Number>415-456-7890</Number>
  </Dial>
</Response>

415-123-4567
415-321-7654
415-456-7890

这将一次拨打所有号码,当其中一人接听时,其他人的电话将被中断。

这里的Twilio福音传道者

当您接到第一个电话(我们称之为客户)时,请使用
向他们询问一些信息,或播放一些音乐,您认为最好的方式是:

<Response>
  <Play loop="0">/my_music.mp3</Play>
</Response>
然后,您需要向restapi和(例如,他仍在听音乐)发出请求,并使用上述TwiML将客户放入与代理相同的会议室

当任何后续代理决定接受呼叫时,它们将重定向到
/accepted
URL,但由于您的应用程序已经知道客户已连接到另一个代理,因此您可以向它们播放一条消息,说明呼叫已被响应

您可以通过多种方式对此进行扩展。例如,使用
TwiML动词可以更轻松地处理多个来电

您可能还希望使用带有
动词的
url
属性的“耳语”进行查看。这允许您添加一个额外的TwiML文档,该文档只能在代理端执行。尽管您使用了多个
动词,但只有第一个回答的代理才会听到耳语

<Response>
  <Dial>
    <Number url="/whisper">+AGENTNUMBER</Number>
  </Dial>
</Response>

+代理商编号
/whisper
TwiML可以包含一个请求代理接受呼叫的
。一旦呼叫到达TwimL文档的末尾,它就会将它们连接到呼叫客户。否则,您可以使用
拒绝

在所提供的链接中,大部分内容都有Python代码。恐怕我不太擅长Python编码,但我猜TwiML会有帮助吗


祝你好运

谢谢你的回复。问题的关键部分是电话筛选。您给出的twiml只需拨打多个号码并连接到第一个要回答的号码……这很酷。谢谢@JimP,但是如果他们中的一个接受了,你如何连接到会议线路?你真幸运,这么多免费的名声!)
<Response>
  <Dial>
    <Conference>some-unique-room-name</Conference>
  </Dial>
</Response>
<Response>
  <Dial>
    <Number url="/whisper">+AGENTNUMBER</Number>
  </Dial>
</Response>