如何使用 Twilio 连接 2 个匿名呼入呼叫者

How to connect 2 anonymous inbound callers with Twilio

我在 SO 上阅读了一些类似的帖子,但是回复没有解释 如何,他们只解释了 Twilio 是可能的。如果 Twilio 布道者能给我一些具体的指导,我将不胜感激。

想法是 (调用方 A) 调用 (Twilio 号码)。 Twilio 会存储来电者 A 的号码,直到接到第二个来电者。

一旦 (来电者 B) 调用相同的 (Twilio 号码),他将连接到来电者 A。

这是随机的,同时处理很多请求。来电者 A 和来电者 B 接通后,他们的号码将从存储中删除,因此其他人都不会与他们接通。

冲洗重复。

此处为 Twilio 开发人员布道师。

您可以使用 Enqueue and <Queue>. First you need to create your queue using the REST API 执行此操作。这可以提前完成。

我将在此处使用 Ruby 作为示例,但是您可以在我们的文档中查看其他语言的情况。

require "twilio-ruby"
client = Twilio::REST::Client.new(ENV["TWILIO_ACCOUNT_SID"], ENV["TWILIO_AUTH_TOKEN"])
queue = client.queues.create(:friendly_name => "call_roulette")
puts queue.sid

您需要保存 Queue Sid 和友好名称,稍后您将使用它们连接到队列。

然后,当有人打电话时,您需要检查队列中是否有人在等待。如果有则连接两个呼叫者,如果没有则将那个呼叫者放入队列并等待另一个呼叫。

调用时,Twilio 将向您在 Twilio console 中提供的 URL 发送 HTTP 请求。您需要回复正确的 根据以上条件

此示例使用 Sinatra 作为 Web 框架。

require "twilio-ruby"
require "sinatra"

client = Twilio::REST::Client.new(ENV["TWILIO_ACCOUNT_SID"], ENV["TWILIO_AUTH_TOKEN"])

post "/call" do
  queue = client.queues.get(QUEUE_SID)
  if queue.current_size == 0
    twiml = "<Response><Enqueue>#{QUEUE_FRIENDLY_NAME}</Enqueue></Response>"
  else
    twiml = "<Response><Dial><Queue>#{QUEUE_FRIENDLY_NAME}</Queue></Dial></Response>"
  end
  return twiml
end

当队列为空时,我们使用Enqueue将呼叫者放入队列中,当队列中有人时,我们使用Dial和Queue拨打队列中的人。

如果有帮助请告诉我。