我正在使用Twilio制作一个非常简单的应用程序。
客户拨打Twilio号码,twilio将此人<Enqueue>
。
我将CallSid
标识符存储在数据库中供以后使用。
当客户打电话时,twilio用twilio-php sdk再打电话给另一个人。此人可以拒绝接受电话。
运行良好。
我的问题是:如果这个人接受电话我怎么可以连接(这样他们可以一起说话)这两个电话?
可以使用<Dial>
动词和CallSid
吗?
答案 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;
希望有所帮助!