如何使用Twilio连接2个呼叫

时间:2012-12-17 16:35:39

标签: php twilio

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

运行良好。

我的问题是:如果这个人接受电话我怎么可以连接(这样他们可以一起说话)这两个电话? 可以使用<Dial>动词和CallSid吗?

1 个答案:

答案 0 :(得分:2)

Twilio Evangelist在这里,

您可以使用<Dial><Queue> TwiML动词执行此操作。

当客户给您打电话时,您可能希望将他们连接到我们称之为座席的其他人。因此,将客户置于呼叫队列中(听起来你已经开始工作):

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

值得在<Enqueue>上设置waitUrl属性,以便您可以拥有状态消息或为来电者保留音乐。当您的座席接受来电时,您只需使用<Dial><Queue>将它们连接在一起:

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

此时客户正在与座席通话,并且呼叫已连接。

还值得补充的是,如果你保留CallSid,你也可以use the REST API to make changes to a live call。实际上,您指示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;

希望有所帮助!