1

我正在用 Twilio 制作一个非常简单的应用程序。一位客户拨打 Twilio 号码,然后 twilio 拨通了此人<Enqueue>。我将CallSid标识符存储在数据库中以备后用。当客户致电时,twilio 会使用 twilio-php sdk 再次致电另一个人。此人可以拒绝或接听电话。

这运行良好。

我的问题是:如果该人接听电话,我如何连接(以便他们可以一起交谈)这 2 个电话?可以用<Dial>动词和CallSid?

4

1 回答 1

2

Twilio 布道者在这里,

您可以使用<Dial><Queue>TwiML 动词来做到这一点。

当客户给您打电话时,您可能希望将他们与另一个人联系,我们将给代理打电话。因此,要将客户放入呼叫队列(听起来您已经开始工作了):

<Response>
  <Enqueue>some-queue-name</Enqueue>
</Response>

值得在 上设置一个waitUrl属性,<Enqueue>以便您可以获得状态消息或为呼叫者保留音乐。当您的代理接听电话时,您所需要做的就是使用<Dial>并将<Queue>它们连接在一起:

<Response>
  <Dial>
    <Queue>some-queue-name</Queue>
  </Dial>
</Response>

此时,客户正在与座席通话,通话已接通。

还值得补充的是,如果您保留REST API,CallSid您还可以使用 REST API 来更改实时通话。实际上,您指示 Twilio 开始执行不同的 TwiML。在 PHP 中:

<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "AC7957fb240ace4634d57f3888c4966461"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

// Get an object from its sid. If you do not have a sid,
// check out the list resource examples on this page
$call = $client->account->calls->get("CAe1644a7eed5088b159577c5802d8be38");
$call->update(array(
    "Url" => "http://demo.twilio.com/docs/voice.xml",
    "Method" => "POST"));
echo $call->to;

希望有帮助!

于 2014-01-13T18:32:47.310 回答