Twilio 将传入呼叫添加到队列并呼叫座席



我在使用 PHP/laravel 处理传入呼叫的情况下运行过,所以当客户端调用公司号码时,响应是这样的:

public function respondToUser()
{
$response = new Twiml();
$audio_file_path = trans('ivr_file_paths.welcome');
$response->play($audio_file_path);
$response->redirect('/ivr/call/enqueue', ['method' => 'POST']);
return $response;
}

但是我接下来要实现的是将来电放入队列,然后在操作员(仅一个接线员/座席(繁忙时在后台运行音乐,如果没有,则连接到他。

这就是现在的样子

public function enqueueCall(Request $request)
{
$please_wait_audio_file = trans('paths.please_wait');

$please_wait_audio_file = trans('ivr_file_paths.please_wait');
$response = new Twiml();
$dial = $response->dial();
$dial->number('+number');
$response->enqueue('support', ['waitUrl' => $please_wait_audio_file]);
Log::info($response);
echo $response;
}

我知道现在没有队列,但这种方法只是结束了通话。

有什么建议吗?谢谢!

Twilio开发者布道者在这里。

我建议您首先查看<Enqueue>TwiML 动词,该动词将呼叫者排队,然后查看<Queue>,您可以在<Dial>内使用它来将下一个用户从队列中弹出并与他们交谈。

如果您需要比这更复杂的东西,请开始阅读TaskRouter。

编辑一些示例代码:

将呼叫者排队并拨打您的座席。

public function enqueueCall(Request $request)
{
// build up the TwiML
$please_wait_audio_file = trans('ivr_file_paths.please_wait');
$response = new Twiml();
$response->enqueue('support', ['waitUrl' => $please_wait_audio_file]);
// make the call to your agent
$client = new Client($yourTwilioAccountSid, $yourTwilioAuthToken);
$call = $client->calls->create(
$yourAgentNumber,
$yourTwilioNumber,
array("url" => "http://example.com/ivr/call/queue")
);
Log::info($response);
echo $response;
}

当座席连接时,拨打队列:

public function dialQueue(Request $request)
{
$response = new Twiml();
$dial = $response->dial();
$dial->queue('support');
echo $response;
}

最新更新