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

Azure Communication Service中redirectCall功能故障求助

Azure Communication Service redirectCall 出现“line busy”问题的排查方案

核心问题定位

你遇到的“线路忙”提示,通常和redirectCall参数配置错误、ACS号码权限或目标号状态有关,以下是针对性的排查和修复步骤:

排查修复步骤

1. 强制使用ACS归属号码作为sourceCallIdNumber

sourceCallIdNumber必须是你的ACS资源下已验证的PSTN号码,不能使用外部来电号码。即使你尝试过修改,再次确认:

  • 该号码已在Azure门户的ACS资源中完成验证并关联
  • 号码状态正常,无呼出限制

修改代码中的callerIdNumber为你的ACS号码:

const callerIdNumber = { phoneNumber: "+你的ACS验证号码" }; // 替换为实际ACS号码

2. 完善错误捕获,获取具体错误信息

你的代码未对redirectCall做错误处理,无法得知API返回的具体错误原因。添加try-catch块捕获详细错误:

if (req.body[0].eventType && req.body[0].eventType === 'Microsoft.Communication.IncomingCall') {
  const incomingCallContext = req.body[0].data.incomingCallContext;
  console.log('来电号码:', req.body[0].data.from.phoneNumber.value)
  console.log('呼叫上下文:', incomingCallContext)

  const target = {
      targetParticipant: { phoneNumber: "+1xxxxxxxxxx" }, 
      sourceCallIdNumber: { phoneNumber: "+你的ACS验证号码" }, // 明确指定ACS号码
  };

  try {
    await client.redirectCall(incomingCallContext, target);
    res.status(200).json([]);
  } catch (error) {
    console.error('重定向失败详情:', error);
    res.status(500).json({ error: '重定向失败', errorDetails: error.message });
  }
}

通过控制台日志查看错误代码(如403权限不足、400参数错误),能快速定位根因。

3. 验证目标号码状态

  • 确保目标号码是可正常接听的PSTN号码,无呼叫转移、停机、占线等情况
  • 目标号码必须严格遵循E.164格式,无空格、括号等特殊字符

4. 检查ACS资源权限

  • 确认ACS资源已启用PSTN呼叫功能,并在Azure门户中检查是否有额度限制或服务异常
  • 确认你的连接字符串拥有足够的权限(至少包含CallAutomation相关操作权限)

5. 确认incomingCallContext的完整性

确保从Microsoft.Communication.IncomingCall事件中获取的incomingCallContext是完整的原始值,未被修改或截断。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:32:33