你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
排除 Azure 通信服务 PSTN 通话失败的故障
排查 Azure 通信服务 PSTN 通话失败问题时,建议启用日志记录。 然后,可以使用 ResultCategories
、ParticipantEndReason
和 ParticipantEndSubCode
值来确定单个通话结束的原因以及系统是否检测到任何故障。
使用 ResultCategories 排查失败问题
ResultCategories
数组是通话摘要日志架构的属性。 它包含描述通话结束方式的一般原因列表:
Success
Failure
UnexpectedClientError
UnexpectedServerError
此信息有助于确定通话结束,但未生成详细错误日志的原因。
使用 ParticipantEndReason 和 ParticipantEndSubCode 排查失败问题
如果在对 PSTN 通话进行故障排除时 ResultCategories
中的详细信息级别不够,则可以使用 ParticipantEndReason
和 ParticipantEndSubCode
来更详细地了解通话结束的原因。 ParticipantEndReason
和 ParticipantEndSubCode
也是通话摘要日志架构的属性。
ParticipantEndReason
ParticipantEndReason
是显示常规通话状态的三位数代码。 此代码解释了通话结束的原因,并按类别对失败进行分组。 例如,ParticipantEndReason 404
表示找不到呼叫方或被呼叫者。 ParticipantEndReason 500
表示发生服务错误。
此代码基于会话初始协议 (SIP) 响应代码。 有关详细信息,请参阅 Wikipedia 的 SIP 响应代码列表。
ParticipantEndSubCode
ParticipantEndSubCode
是一个更具体的响应代码,长度通常为 6 位。 它更详细地解释了通话存在问题的原因。
排查 Azure 通信服务 PSTN 通话问题的关键因素在于确定呼叫的最终 SIP 响应代码是来自 Microsoft 进程还是来自用户/运营商的会话边界控制器 (SBC)。 确定代码来源的一个简单方法是查看 ParticipantEndSubCode
响应。
如果 ParticipantEndSubCode
值以 560
开头,则它指示用户/运营商的 SBC 生成了响应代码。 在这种情况下,应检查 SBC 配置。
例如,如果 ParticipantEndSubCode
值为 560403
,则表示 SBC 生成了最终响应代码,并且代码为 403
。 在这种情况下,应使用 SBC 日志开始对通话进行故障排除。
对于不以 560
开头的 ParticipantEndSubCode
响应,最终相应代码则是由 Microsoft 生成的。
相关内容
- 有关常规故障排除信息,请参阅排除 Azure 通信服务中的故障。
- 有关常见错误代码和建议操作的详细信息,请参阅排查通话 SDK、通话自动化 SDK 和 PSTN 通话的通话结束响应代码问题。