使用多个代理Twilio管理呼叫

时间:2015-07-10 07:44:29

标签: ruby-on-rails ruby twilio inbound

我正在与Twilio合作制作和接听电话。所以,想象一下你想打个电话,另一方面我们有3个代理接听电话,有三个twilio号码。我想只向其中一个代理(随机)显示入站呼叫。

我不确定是否要实现这种行为我应该使用其中一个代理的不同或不同来生成不同的响应。

例如:

response = Twilio::TwiML::Response.new do |r|
  # Should be your Twilio Number or a verified Caller ID
  r.Dial :callerId => caller_id do |d|
      d.Client <custom_client_name>
  end

response = Twilio::TwiML::Response.new do |r|
  # Should be your Twilio Number or a verified Caller ID
  r.Dial :callerId => caller_id do |d|
      d.Number <custom_client_number>
  end

谢谢你们!

2 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

对于我们的TaskRouter API来说,这听起来是一个非常好的用例。 TaskRouter允许您将传入呼叫放入队列,该队列将使用工作流将这些呼叫分配给代理(如果可用)。

此博文显示如何build a priority based queueing system using TaskRouter,但如果您只是按照优先级到达之前的那一点,那么您将拥有一个队列,其中代理会自动分配来电。

让我知道这是否有帮助。

答案 1 :(得分:1)

我认为这个场景是这样的:

                         /- agent 1
client    -> pick random |- agent 2
(make call)              \- agent 3

为此我会:

  1. 独立于Twilio跟踪代理商的可用性。例如。每当座席开始通话时,您在后端将其标记为通话,当通话结束时,您再次标记座席
  2. 如果在客户端请求新呼叫时命中语音端点,则查询可用代理并随机选择一个。然后返回必要的TwiML来拨打该代理。您还可以设置会议以获得更大的灵活性(例如,在通话期间切换座席)。
  3. 如果没有可用的代理,请返回带有<say>动词的TwiML,让客户知道没有代理可用。