You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twilio TaskRouter问题:无法将Reservation与呼叫建立连接

解决Laravel中Twilio TaskRouter坐席与客户呼叫连接失败问题

核心问题定位

Worker已被选中但呼叫未建立,问题集中在Task属性传递、Workflow回调响应、前端Reservation处理三个关键环节,以下是针对性修复方案:

1. 补全Task属性中的来电号码

原Webhook的Task属性未包含来电号码from,导致Workflow回调无法获取该参数,Twilio无法完成呼叫桥接。修改Webhook代码:

$response = new VoiceResponse();
// 从Twilio的Webhook请求中获取来电号码
$from = request()->input('From');
$taskAttributes = [
    'channel' => 'voice',
    'from' => $from, // 新增来电号码属性
];
$enqueue = $response->enqueue('WSDSupport',[
    'workflowSid' => $workflowSid,
    'action' => url('ivr/testQueue')
]);
$enqueue->task(json_encode($taskAttributes),['timeout' => 200]);
return response($response)->header('Content-Type', 'text/xml');

2. 修正Workflow回调的参数解析

确保正确解析Twilio传递的Task属性,返回符合要求的响应格式:

// 解析Twilio发送的TaskAttributes参数
$taskAttributes = json_decode(request()->input('TaskAttributes'), true);
return response()->json([
    "instruction" => "dequeue",
    "from" => $taskAttributes['from'],
    "post_work_activity_sid" => config('services.twilio')['postWorkActivitySid']
]);

3. 完善前端Reservation事件监听

仅调用reservation.accept()不足以确保呼叫连接,需添加成功事件监听,同时捕获异常:

taskRouterClient.on('reservation.created', function(reservation) {
    if (confirm('Incoming call. Accept?')) {
        reservation.accept()
            .then(() => {
                reservation.on('accepted', () => {
                    console.log('呼叫已成功连接');
                });
            })
            .catch(err => {
                console.error('接受预约失败:', err);
            });
    } else {
        reservation.reject();
    }
});

4. 关键配置检查

  • 确认Worker的Activity状态为可接听(如Available),Workflow匹配规则正确指向目标Worker
  • 检查Twilio控制台的TaskRouter日志,确认Workflow回调是否触发、是否有参数错误提示
  • 确保Webhook和Workflow回调URL为公网可访问地址(本地开发需用ngrok等工具暴露服务)
  • 验证enqueue的action路由(ivr/testQueue)返回有效TwiML,处理排队超时场景:
public function testQueue()
{
    $response = new VoiceResponse();
    $response->say('暂无空闲坐席,请稍后再拨。');
    return response($response)->header('Content-Type', 'text/xml');
}

内容的提问来源于stack exchange,提问作者Yasir Ijaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 03:16:15