如何在呼叫任何人之前创建 Twilio 会议?

How to Create Twilio Conference Before Calling Anyone?

我正在寻找一种在将任何人添加到该会议之前在 Twilio 系统中生成会议资源的方法。

official recommended way to start a Conference is by returning TwilXML in response to a Twilio callback. This can either be done in response to someone calling a Twilio number or, in a somewhat indirect way, by making a call and returning TwilXML 一旦他们接听,就会将此人连接到会议。所有修改会议的 API 都使用 ConferenceSID 作为句柄来决定要更改的会议。这两种方法的问题在于,在您收到回调之前,它们不会给您 ConferenceSID

不幸回调do not contain any identifying information about who generated them。他们确实有一个 ConferenceSID(标识会议)和一个 CallSID(唯一标识将呼叫者连接到会议的呼叫)。当您收到第一个回调时,似乎无法匹配这些标识符中的任何一个。如果你开启多个会议,得到两个不同ConferenceSIDs和不同CallSIDs的回调,不方便区分哪个会议产生哪个回调

这就是创建会议资源然后使用多功能 add participant 调用最简单的原因。这将通过从 ConferenceSID 开始并从那里开始来简化使用会议的整个后端流程。

P.s。为了阻止其他建议 - 有很多方法可以解决这个问题。您可以为不同的会议指定不同的回调地址。您可以为不同的参与者指定不同的 friendlyNames,您可以在后端进行匹配。完全可以使用,但我想要一些更干净的东西,这需要在任何人被调用之前召开会议。

这里是 Twilio 开发人员布道者。

无法从 API 创建 conference resource。您只能通过使用 <Dial><Conference> TwiML 将呼叫者定向到那里来做到这一点。


此外,当您说“当您收到第一个回调时,似乎无法匹配这些标识符中的任何一个”,我不太明白。你想匹配什么?您可以使用 CallSid 查询加入会议的呼叫者的 From 号码。您还会在回调中收到 FriendlyName,这是您在 TwiML <Conference>Friendly Name</Conference> 中设置的名称,您可以选择它来帮助确定哪个会议是哪个会议。

这有什么帮助吗?