【问题标题】:place incoming call in queue and call agents with twilio将来电置于队列中并使用 twilio 呼叫代理
【发布时间】:2020-03-20 03:46:06
【问题描述】:

您好,我正在使用 Twilio,我想将调用者放在队列中。然后按顺序呼叫所有座席,如果座席拿起电话,我想将他与排队的呼叫者联系起来。

这是我目前所拥有的,但是当我打电话时,我会听到代理语音邮件。没有等待的音乐。

<?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say>Please wait while we connect you to the next available agent.</Say>
        <Enqueue>support</Enqueue>
        <Dial timeout="15" url="/call-queue">+100000000</Dial>
        <Dial timeout="15" url="/call-queue">+100000001</Dial>
        <Dial timeout="15" url="/call-queue">+100000002</Dial>
    </Response>

/call-queue 的响应是

<?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Dial>
            <Queue>support</Queue>
        </Dial>
    </Response>

我的目标是让来电者在音乐中排队等候,直到一名座席接听电话。

有什么想法吗?这是正确的方法吗?谢谢!

更新:

调用者像这样被添加到调用中

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Please wait while we connect you with the next agent.</Say>
    <Enqueue>support</Enqueue>
</Response>

然后我进行 REST 调用来调用代理

twilio.calls
    .create({
        url: "example.com/call-queue",
        from: myTwilioNumber,
        to: agentNumber
    })
    .then(call => console.log("twilio call sid", call.sid))
    .catch(error => console.log("twilio call error", error));

example.com/call-queue 只返回

<Dial><Queue>support</Queue></Dial>

【问题讨论】:

    标签: twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    这不是您想要的方法。跟随&lt;Enqueue&gt;&lt;Dial&gt; 只会将呼叫者排队,并且在呼叫者再次离开队列之前不应进入下一个&lt;Dial&gt;

    由于您有多个代理,您可能需要查看TaskRouter 来实现此目的。使用 TaskRouter,您可以将传入呼叫排队,然后您定义的工作流将尝试拨打您的代理。您的座席还可以选择接受来电或将其发送回队列。 TaskRouter 呼叫路由也对已经在呼叫而不试图路由到他们的代理很敏感。

    查看queueing Twilio calls with TaskRouter 上的文档以了解更多信息。

    【讨论】:

    • 你好!这是有道理的..没有taskrouter的任何其他方式来实现这一点?问题是它需要在 twilio 中输入数据,我会动态地执行此操作。像..如果你打电话给数字1,你将有一个可能的代理列表,数字2。另一个可能的代理列表,但我会有很多......并且在taskrouter上进行配置会很痛苦。再次感谢!
    • 是的,您可以使用常规的&lt;Enqueue&gt;REST API to make calls 给您的代理。在需要编写的代码量与在 TaskRouter 中配置工作流所需的代码量之间需要权衡。
    • 我明白了。但是有没有办法按顺序对 client.calls.create 做呢?我不想同时给所有代理打电话。如果电话无人接听,请移至下一个。
    • 是的,您需要设置接收the status callback webhook,一旦呼叫结束就会触发,呼叫状态作为请求正文中的CallStatus 参数发送。您可以将该状态发送至see whether the call was answered or was busy or wasn't answered,然后触发新呼叫。
    • 嘿@philnash 我仍在为此苦苦挣扎:我正在做 support 将呼叫者放在队列中,我正在做 twilio.calls.create({ url: domain/call-queue}, ...) 来调用代理(domain/call-queue 只返回 support 但调用者得到的邮箱代理。代理甚至没有接到电话直接进入语音信箱,因为未接来电。不知道我做错了什么。(原始问题已更新,因为这里很难阅读)再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多