我已经通过TaskRouter路由到座席的Twilio呼叫(任务,预约已经创建,座席接受了呼叫),现在座席需要Hold,unhold功能进行相同的Twilio呼叫。 有人可以为此提供最佳实践吗? 我们可以通过对Workflow进行调用来实现这一点吗?如果是,那么我们应该如何将同一个调用重定向到同一个代理以获取非保持功能?
如果有人提供了代码段,请告诉我们。我正在使用PHP
答案 0 :(得分:0)
您可以通过以下几种方式处理这一方法,但基本流程是:
首先,向Twilio提供一些TwiML,将呼叫置于" hold"然后 当您准备就绪时,请使用呼叫的CallSid和REST API redirect the live call。
<?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 = "YOUR_ACCOUNT_SID";
$token = "YOUR_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("CALL_SID");
$call->update(array(
"Url" => "http://demo.twilio.com/docs/voice.xml",
"Method" => "POST"
));
echo $call->to;
实际处理&#34; hold&#34;您可以在猜测时使用<Enqueue>
verb,将呼叫置于呼叫队列中。然后,当您准备好时,将该呼叫重定向到队列之外,以获得新体验。
或者您可以使用<Play>
并将loop
属性设置为零,这会告诉Twilio无限循环音频。再次,当您准备好移除保留时,重定向呼叫。