Twilio:将呼叫者置于保持状态

Twilio: Put caller on hold

本文关键字:于保持 状态 呼叫者 Twilio      更新时间:2023-09-26
是否可以

在 twilio 中将呼叫者置于保持状态,然后代理可以呼叫某人以验证某些内容。然后,在验证后,代理将返回保留呼叫者。

谢谢

Twilio开发者布道者在这里。

我想你会在这里找到你正在寻找的大部分信息。但总而言之,使用 REST API,您可以让用户保持/关闭并执行更多操作。

使用 CallSid,您可以通过 Rest API 对调用执行任何操作。查看 Twilio 更改调用状态以获取更多信息。

您可以等待代理按 Hold(或您选择的任何按钮,具体取决于您使用的体验 - VOIP 或 PSTN(,然后可以使用 REST API 更新该呼叫,例如使用谓词将其发送到队列。

然后,您可以使用 CallSid 检索呼叫以更新它并将其发送回代理。

下面是如何将正在运行的调用重定向到将返回消息的其他 URL 的示例。 您可以将该 URL 更改为服务器上的任何内容。

var accountSid = '{{ account_sif }}';
var authToken = "{{ auth_token }}";
var client = require('twilio')(accountSid, authToken);
client.calls({{ call_sid }}).update({
    url: "https://demo.twilio.com/docs/voice.xml",
    method: "POST"
}, function(err, call) {
    console.log(call.to);
});

希望这有帮助

这就是

我所做的。

我在客户端有一个保持按钮。一个来电者进来了,我接听了电话。呼叫者想要交谈以验证某些内容,但代理什么都不知道。所以特工告诉来电者,他将被搁置。所以我点击了按钮按住。所以我所做的,我得到callid并将其发送到php服务器端。

客户端

jQuery.ajax({
                    url: "<?php echo base_url();>agent/call_controls/redirect_to_hold",
                    type: 'POST',
                    data:{'CallSid':child_callsid},
                    dataType: 'json',
                    success:function(data)
                    {
                        console.log(data);
                    }
                });

PHP 服务器端

$client = new Services_Twilio($account_sid, $auth_token);
    $call = $client->account->calls->get($_POST["CallSid"]);
    $call->update(array(
        "Url" => HTTP_BASE_URL."agent/call_controls/forward_hold",
        "Method" => "POST"
    ));

然后我将其重定向到保留网址。

$response = new Services_Twilio_Twiml;
    $response->say("You are put on hold");
    $response->play("https://api.twilio.com/cowbell.mp3", array('loop' => 100));
    print $response;

呼叫者现在处于保持状态。我怎么能再次找回他作为搁置他的代理人。

谢谢