Twilio:暂停来电

时间:2016-02-16 05:47:57

标签: javascript php twilio

在twilio中是否可以将呼叫者置于保持状态,然后座席可以呼叫某人进行验证。然后在验证代理后将返回到保持呼叫者。

谢谢,

2 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

我想你会找到你正在寻找的大部分信息here。但总的来说,使用REST api可以让用户开启/关闭并执行更多操作。

使用CallSid,您可以通过Rest API进行调用。有关详细信息,请查看Twilio change call state

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

然后,您可以使用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);
});

希望这有帮助

答案 1 :(得分:0)

这就是我所做的。

我在客户端有一个保持按钮。来电者来了,我接听了电话。呼叫者想要交谈以验证某些事情但代理人不知道任何事情。因此,经纪人告诉来电者他将被搁置。所以我点击了按钮。所以我做了什么,我得到了wakeid并将其发送到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;

来电暂停。我怎样才能再次找回他作为让他暂停的代理人。

非常感谢