1

所以我的通话应用程序具有“响铃组”功能。这个想法是某些号码应该将呼叫分散到多个响铃组成员。Twilio 有一篇文章在这里描述了这个过程:

https://www.twilio.com/blog/2009/05/dialing-multiple-numbers-simultaneously-with-twilio.html

我想做类似的事情。遍历我可用的响铃组成员并对dial.number他们每个人执行一次。这将为他们中的每一个创建一个新的呼叫,该呼叫命中我们的常规来电 webhook。效果很好,除非没有人接听电话,否则电话将被发送到随机成员的语音信箱。

我想了几个可能解决这个问题的策略,但没有一个很有效:

  1. 管理超时。将振铃组的拨号超时设置为短于我们的来电 webhook 的超时。我的想法是这可能会跳过对来电的后续操作并转到响铃组的后续操作 - 这是一个响铃组语音信箱。但在这种情况下,在响铃组拨号上设置超时不会做任何事情。只有传入呼叫 webhook 的超时受到尊重。
  2. 传递一些上下文。如果我可以通过该dial.number方法从响铃组呼叫传递额外的参数,那么我可以在来电 webhook 中识别出这是来自响铃组并采取相应的行动。但显然你不能传递自定义参数。似乎我唯一可以更改的是 callerId - 我可以用它来指示响铃组号码,但随后我失去了呼叫来自谁的上下文。
  3. 附加一个 status_callback。dial.number我可以在 ring 组中放一个 status_callback 。一旦发起呼叫,它会通过 CallSid 向我发布。我可以使用这个 sid 来查看我的来电控制器创建的呼叫并链接 sid,从而识别哪些呼叫来自振铃组。不幸的是,我在振铃组的 status_callback 上获得的 CallSiddial.number与我的应用收到的任何其他 sid 都不匹配。来电 webhook 上的 sid 是不同的 - 如果我将它分散给多个成员,有趣的是,每个来电 webhook 都会获得不同的 sid。我最初认为,由于只有一条腿连接到来电,所以它们都会共享同一个 sid ......

我想知道是否有人有其他想法?

4

0 回答 0