php - Twilio 任务路由器无法正常用于会议
问题描述
在分配回调端点中,我使用指令 => '会议' 将所有来电转换为会议:
return response()->json(array('instruction' => 'conference', 'call_sid' => $attributes->call_sid, 'from' => $attributes->to, 'timeout' => strval($timeout),
'url' => secure_url('/agent-answer?ReservationSid=' . $reservationSid)));
但是现在,任务路由器无法将呼叫路由到不同的工作人员,如果一个工作人员没有收到呼叫,那么呼叫弹出窗口就会消失并且屏幕会变黑。其他工人都没有接到电话。
如果我使用 'instruction' => 'call' 那么一切正常。但我需要使用会议来处理一些其他功能,比如现场收听。
如何通过在分配回调端点中使用 'instruction' => 'conference' 来解决上述问题。
感谢您提前提供任何帮助。
解决方案
从一开始就将所有来电转换为会议:如果你们在分配回调端点中使用命令指令 => 'conference',那么它会给出其他问题,例如任务路由器无法将任务路由到多个工作人员等。所以,另一种方式如下:
在分配回调端点和座席应答方法中设置指令=>'call',需要修改传入的客户呼叫会议并将任务的预订状态更改为完成,如下所示:
修改客户电话会议并在座席应答方法中将预订设置为接受:
$this->client->calls($callSid)
->update(array(
'method' => "POST",
"url" => secure_url('/call/modify-customer-call-to-conference?endConferenceOnExit=false&conferenceId=' . $taskSid),
)
);
$this->client->taskrouter
->workspaces($this->workspaceSid)
->tasks($taskSid)
->reservations($reservationSid)
->update(['reservationStatus' => 'accepted']);
推荐阅读
- python - 使用 Selenium 和 Python 开发测试报告的最佳方法
- git - 如何配置 GitHub 以正确使用 SSH?
- swift - 如何让我的球在加时赛中逐渐增加速度?
- azure - Azure 事件中心 - 在发送事件之前对用户进行身份验证
- python-3.x - 在我的 webapp 中显示一些数据库列是否安全?
- scala - Spark 分区 Hive 表
- c - 使用atoi将字符串索引转换为数组索引
- css - 在选择器之前使用 CSS 时的填充
- node.js - 如何使用 http-proxy-middleware 代理到许多不同的目标?
- 2sxc - 是否可能有一个字段依赖于其他字段?