0

我正在与 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

感谢你们!

4

2 回答 2

2

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

这听起来像是我们的TaskRouter API的一个很好的用例。TaskRouter 允许您将传入呼叫放入队列中,该队列将使用工作流将这些呼叫分配给可用的代理。

这篇博客文章展示了如何使用 TaskRouter 构建基于优先级的排队系统,但如果您只是在优先级到达之前跟进它,那么您将拥有一个队列,其中会自动分配座席来电。

让我知道这是否有帮助。

于 2015-07-10T10:13:11.050 回答
1

我看到的场景是这样的:

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

为此,我会:

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