你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

对通话 SDK、通话自动化 SDK、PSTN、聊天 SDK 和短信 SDK 的通话结束响应代码进行故障排除

本文介绍如何对通话 SDK、通话自动化和 PSTN 通话的通话结束响应代码进行故障排除。

故障排除提示

进行故障排除时,请考虑以下提示:

  • 应用程序未收到 IncomingCall Event Grid 事件:确保在创建事件订阅时应用程序终结点已通过事件网格进行验证。 如果验证成功,事件订阅的预配状态将被标记为成功。
  • 对于错误 The field CallbackUri is invalid:通话自动化不支持 HTTP 终结点。 请确保提供的回调 URL 支持 HTTPS。
  • PlayAudio 操作不播放任何内容:音频文件目前仅支持 Wave 文件 (.wav) 格式。 Wave 文件中的音频内容必须是单声道、16 位采样,采样率为 16,000 (16 KHz)。
  • PSTN 终结点上的操作不起作用:对于针对电话号码执行的 CreateCallTransferAddParticipantRedirect,需要在操作请求中设置 SourceCallerId。 除非使用的是直接路由,否则源调用方 ID 必须是通信服务资源拥有的电话号码,这样操作才能成功。

有关产品小组跟踪的问题的详细信息,请参阅已知问题

注意

下表中列出的“消息类别”和“结果类别”均为公共预览版。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

了解呼叫代码和子代码错误

错误代码、子代码和相应的结果类别可帮助开发人员识别和诊断错误。 呼叫结束后,这些错误代码通过 call.callEndReason 属性公开。

错误代码详细信息包括:

代码 - 是表示客户端或服务器响应状态的 3 位整数。 代码类别:

  • 成功响应 (200-299)
  • 客户端错误 (400-499)
  • 服务器错误 (500-599)
  • 全局错误 (600-699)

子代码 - 定义为整数,其中每个数字表示特定于一组方案或特定方案结果的唯一原因

消息 - 描述结果,并提供在结果失败时如何缓解问题的提示

ResultCategory - 指示错误的类型。 根据上下文,该值可以是 SuccessExpectedErrorUnexpectedClientErrorUnexpectedServerError

Azure 通信服务呼叫 SDK 客户端错误代码和子代码

对于客户端错误,如果 resultCategories 属性为 ExpectedError,则从 SDK 的角度看,该错误是意料之中的。 此类错误通常在前提条件失败时(例如在应用传递的参数不正确时,或者当前系统状态不允许 API 调用时)遇到。 应用程序应检查错误原因以及调用 API 的逻辑。

子代码 代码 消息 结果类别 Advice
40101 408 无法创建 CallAgent。 请重试。如果问题仍然存在,请收集浏览器控制台日志和 .HAR 文件,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
40104 408 无法创建 CallAgent。 请重试。如果问题仍然存在,请收集浏览器控制台日志和 .HAR 文件,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
40114 408 无法连接到 Azure 通信服务基础结构。 请重试并检查浏览器的网络请求。 如果请求总是失败,请收集浏览器控制台日志和 .HAR 文件,然后联系 Azure 通信服务支持部门。 UnexpectedClientError 有关详细信息,请参阅网络要求
40115 412 无法创建 CallAgent,无法初始化与 Azure 通信服务基础结构的连接。 请重试并检查浏览器的网络请求。 如果请求总是失败,请收集浏览器控制台日志和 .HAR 文件,然后联系 Azure 通信服务支持部门。 UnexpectedClientError 有关详细信息,请参阅网络要求
40216 500 无法创建 CallAgent。 请重试。如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
40228 409 无法创建 CallAgent,与此标识关联的 CallAgent 实例已存在。 释放现有的 CallAgent,或创建一个具有不同标识的新 CallAgent。 ExpectedError
40230 409 无法创建 TeamsCallAgent,与此标识关联的 TeamsCallAgent 实例已存在。 先释放现有的 TeamsCallAgent,然后再创建新的 TeamsCallAgent。 ExpectedError
40606 405 无法枚举扬声器,不支持在 Android Chrome、iOS Safari 和 macOS Safari 上枚举/选择扬声器。 ExpectedError Android Chrome、iOS Safari 和 macOS Safari 都不支持扬声器枚举/选择项。 操作系统会自动选择扬声器(输出设备)。

详细了解设备管理以及如何以最佳方式缓解这些问题。
40613 400 无法获得麦克风和/或相机使用许可。被拒绝或失败。 确保在浏览器设置和 OS 设置中允许这些权限。 ExpectedError 详细了解如何以最佳方式处理设备权限
40614 500 无法请求设备权限。确保在浏览器设置和 OS 设置中允许这些权限,然后重试。 如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError 详细了解如何以最佳方式处理设备权限
41006 400 接听来电失败,未处于“响铃”状态。 订阅 CallAgent 的 incomingCall 事件以接听来电。 ExpectedError 请参阅以下文章以确定问题的根本原因
- 接听来电
- 订阅 SDK 事件
41007 400 拒接来电失败,未处于“响铃”状态。 订阅 CallAgent 的 incomingCall 事件以拒绝来电。 ExpectedError 请参阅以下文章以确定问题的根本原因
- 接听来电
- 订阅 SDK 事件
41015 500 无法将麦克风静音。 请重试。如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
41016 400 无法将麦克风取消静音。 请重试。如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
41025 400 无法启动视频,LocalVideoStream 实例无效或为空。 传入 LocalVideoStream 实例。 ExpectedError 确保传入的用于启动视频的对象是 LocalVideoStream 的实例。
使用 VideoDeviceInfo 对象或 MediaStream 对象构造 LocalVideoStream

请参阅以下文章以确定问题的根本原因:
- 使用相机进行通话
- 在通话时开始发送和停止发送本地视频
- 访问原始视频
41027 400 无法启动视频,视频已启动。 ExpectedError 有用的链接:
- 使用相机进行通话
- 在通话时开始发送和停止发送本地视频
41030 400 无法停止视频,视频已停止。 ExpectedError 有用的链接:
- 使用相机进行通话
- 在通话时开始发送和停止发送本地视频
41032 400 无法停止视频,参数无效。 当前未发送用作输入的 LocalVideoStream。 ExpectedError 通话中发送的 LocalVideoStream 存储在 Call.localVideoStreams[] 数组中,其类型为 VideoRawMedia
请参阅以下文章以确定问题的根本原因:
- 使用相机进行通话
- 在通话时开始发送和停止发送本地视频
- 访问原始视频
41033 500 无法保持通话。 请重试。如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
41034 500 无法恢复通话。 请重试。如果问题仍然存在,请收集浏览器控制台日志,然后联系 Azure 通信服务支持部门。 UnexpectedClientError
41035 400 无法启动屏幕共享,屏幕共享已启动。 ExpectedError 详细了解如何在通话时启动和停止屏幕共享
41041 400 无法停止屏幕共享,屏幕共享已停止。 ExpectedError 详细了解如何在通话时启动和停止屏幕共享
41048 410 在通话建立过程中无法启动视频。 确保在浏览器设置和 OS 设置中允许视频权限,并确保相机设备没有被其他进程使用。 UnexpectedClientError 相机设备可能在系统中被禁用。
- 另一个进程正在使用相机。
41056 412 无法启动或加入通话,未为此 Azure 通信服务资源启用 Teams Enterprise 语音策略。 按照在线教程来启用它。 ExpectedError 请参阅如何为用户启用在线企业语音和电话系统语音邮件,以启用 Teams Enterprise 语音策略
41071 412 无法启动屏幕共享,通话未处于“已连接”状态。 订阅通话的 statteChanged 事件,以了解通话何时处于已连接状态。 ExpectedError 有用的链接:
- 检查通话属性
- 订阅 SDK 事件
41073 412 无法获取或设置自定义 MediaStream,Azure 通信服务当前禁用此功能。 ExpectedError
43000 412 无法启动视频,视频设备正在被另一个进程/应用程序使用。 请停止在其他进程/应用程序中使用相机,然后重试。 ExpectedError 详细了解如何以最佳方式处理其他进程正在使用的相机
43001 403 无法启动视频,未被授予使用所选视频设备的权限。 确保在浏览器设置和系统设置中允许视频设备权限。 ExpectedError 确保在浏览器设置和设备系统设置中允许相机权限。
确保设备系统设置中未禁用相机。
在 macOS 上,确保系统设置允许屏幕录制。

有用的链接:
- 请求设备权限-
macOS 上的屏幕共享权限
- 在 macOS 和 iOS 的 Safari 上枚举或访问设备
43002 500 无法启动视频,出现未知错误。 重试。 如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError
43004 400 无法切换视频设备,输入无效。 输入必须是 VideoDeviceInfo 类型。 ExpectedError 使用设备管理器获取 VideoDeviceInfo 对象列表,然后使用 VideoDeviceInfo 对象来切换源。

详细了解如何在通话时开始发送和停止发送本地视频
43005 400 无法切换视频设备,不能切换到同一视频设备,该设备已选中。 ExpectedError
43013 412 无法启动视频,未找到视频设备。 确保视频设备已插入并已在系统设置中启用。 ExpectedError 确保设备上已连接并安装了相机。
43014 412 无法启动视频,请求媒体流时出错。 请重试。如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError
43015 412 无法启动视频,媒体流请求超时。在浏览器提示访问相机时允许相应权限,然后重试。 ExpectedError 如果用户未根据浏览器的权限提示采取操作来允许访问相机,则可能会发生此错误。
43016 412 无法启动视频,权限被系统拒绝。 确保在浏览器设置和系统设置中允许视频设备权限。 ExpectedError - 确保在浏览器设置和设备系统设置中允许相机权限。
- 确保设备系统设置中未禁用相机。
- 在 macOS 上,确保系统设置允许屏幕录制。

有用的链接:
- 请求设备权限
-macOS 上的屏幕共享权限
- 在 macOS 和 iOS 的 Safari 上枚举或访问设备
43017 412 无法启动视频,流不受支持。 请重试。如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError
43018 412 无法启动视频,无法设置约束。 请重试。如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError 详细了解如何设置视频约束
43019 412 无法启动视频,未选择任何设备。 确保传递使用 VideoDeviceInfo 构造的 LocalVideoStream 并重试。 如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError 有用的链接:
- 使用相机进行通话
- 在通话时开始发送和停止发送本地视频
43200 412 无法呈现视频流,该流不可用。 订阅流的 isAvailable 属性,这样就会在远程参与者打开视频并且流可用于呈现时收到通知。 ExpectedError 有用的链接:
- 呈现远程参与者视频/屏幕共享流
- 向应用添加 1:1 视频通话
- 订阅 SDK 事件
43202 404 无法呈现视频流,该流不再可用。 远程参与者关闭了其视频。 ExpectedError 远程参与者在尝试为其视频创建视图时关闭了视频。
43203 408 无法呈现视频流,等待视频帧时呈现超时。 请重试。如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError
43204 500 无法呈现视频流,无法订阅 Azure 通信服务基础结构上的视频。 请重试。如果仍存在问题,请联系 Azure 通信服务支持部门。 UnexpectedClientError
43209 405 无法呈现视频流,VideoStreamRenderer 在初始化过程中被释放。 ExpectedError
43210 400 无法释放 VideoStreamRenderer,因为它已释放。 ExpectedError
43220 400 无法创建视图,已达到最大活动 RemoteVideoStream 视图数。 你可以释放一个旧的,以便创建一个新的。 ExpectedError 详细了解如何正确支持最佳数量的传入视频流
480 未注册远程客户端终结点。 确保远程终结点可用。
481 无法处理传入呼叫。 通过 Azure 门户提交支持请求。
487 呼叫被取消、本地被拒绝,由于终结点不匹配问题而结束,或无法生成媒体产品/服务。 预期行为。
490、491、496、497、498 本地终结点网络问题。 检查网络。
503、504 通信服务基础结构错误。 通过 Azure 门户提交支持请求。
600 到处都忙。 成功联系到参与者,但返回忙音。 预期行为。
603 全局呼叫被远程通信服务参与者拒绝。 预期行为。
604 任何位置都不存在。 请求的 URI 不存在。 预期行为。
606 不可接受。 已成功联系到参与者,但参与者无法支持所描述的会话。 预期行为。

了解呼叫代码和子代码错误

错误代码、子代码和相应的结果类别可帮助开发人员识别和诊断错误。 呼叫结束后,这些错误代码通过 call.callEndReason 属性公开。

错误代码详细信息包括:

代码 - 是表示客户端或服务器响应状态的 3 位整数。 代码类别:

  • 成功响应 (200-299)
  • 客户端错误 (400-499)
  • 服务器错误 (500-599)
  • 全局错误 (600-699)

子代码 - 定义为整数,其中每个数字表示特定于一组方案或特定方案结果的唯一原因

消息 - 描述结果,并提供在结果失败时如何缓解问题的提示

ResultCategory - 指示错误的类型。 根据上下文,该值可以是 SuccessExpectedErrorUnexpectedClientErrorUnexpectedServerError

呼叫结束通话代码和子代码

呼叫结束的原因有不同的解释。 这些是呼叫结束代码和子代码的含义,显示呼叫如何结束。

子代码 代码 消息 结果类别 Advice
0 0 本地参与者成功结束呼叫。 Success
0 487 由于呼叫方取消了呼叫,呼叫成功结束。 Success
0 603 由于被叫方拒绝,呼叫成功结束。 成功 通话结束,因为目标用户通过客户端 SDK、呼叫自动化、Graph、PSTN 或 Teams 拒绝功能拒绝了该通话。
7 496 由于客户端突然失去网络连接,通话结束,尽管重试多次,仍无法连接 ExpectedError 浏览器处于脱机状态或存在网络问题。 检查浏览器的网络连接,然后重试。
3100 410 由于客户端出现意外的网络问题,无法建立通话,请检查客户端的网络并重试。 UnxpectedClientError 检查网络配置,确保符合 Azure 通信呼叫网络要求
3101 410 由于客户端出现意外的网络问题,通话中断,请检查客户端的网络并重试。 UnxpectedClientError 检查网络配置,确保符合 Azure 通信呼叫网络要求
3111 410 通话建立失败,连接通话时无法处理媒体请求。 UnxpectedClientError 重试。 如果问题仍然存在,请收集通话信息客户端日志浏览器控制台日志并联系 Azure 通信服务支持。
3112 410 由于客户端出现网络配置问题,无法建立通话,请检查客户端的网络配置并重试。 ExpectedError 此处了解有关以 3112 的子代码结尾的调用的更多详细信息。
4097 0 会议组织者结束了所有用户的呼叫。 成功
4502 490 由于出现网络连接问题,通话失败,浏览器无法完成网络 HTTP 请求。 UnexpectedClientError 客户端未能完成 HTTP 请求和响应。 重试。 如果问题仍然存在,请收集通话信息客户端日志浏览器控制台日志并联系 Azure 通信服务支持。
4506 408 呼叫已超时。检查被叫方是否收到并接受了呼叫。 UnexpectedClientError 重试。 如果问题仍然存在,请收集通话信息客户端日志浏览器控制台日志并联系 Azure 通信服务支持。
4507 495 由于应用程序未提供有效的 Azure 通信服务令牌,呼叫结束。 UnexpectedClientError 确保应用程序正确实现令牌刷新机制。
4521 0 通话已结束,因为用户突然与通话断开连接。 这可能是由于用户关闭了托管通话的应用程序造成的,例如用户在没有正确挂断的情况下关闭浏览器标签页,从而终止了应用程序。 ExpectedError
5000 0 此参与者的通话已结束。 另一参与者已从对话中删除了该参与者。 成功
5003 0 呼叫成功结束,因为所有被叫方终结点都拒绝了呼叫。 成功
5300 0 该参与者的呼叫已结束,因为另一参与者已从对话中删除了该参与者。 成功 由于另一位参与者将其移除,该参与者的通话已结束,此操作可能是由另一个客户端、呼叫自动化 API 或图形 API 执行的。
5,317 0 由于参与者角色更新,系统已删除目标参与者。 ExpectedError
5828 403 用户不在受邀者列表中,因此无权加入会议室会议。 UnexpectedClientError
5829 403 不允许在会议室会议的结束时间之后或开始时间之前加入会议。 UnexpectedClientError
5830 403 仅允许通信服务用户加入会议室会议。 ExpectedError
7000 0 Azure 通信服务呼叫自动化 API 或服务器机器人已结束呼叫。 成功 ACS 呼叫自动化 API 或 Graph 机器人已结束呼叫。
10003 487 已取消对此用户端点的呼叫,因为另有一个端点在其他地方接受了该呼叫。 成功 向目标用户发起呼叫(开始呼叫、添加参与者、转接)后,因为目标用户同时拥有多个活动端点,用户在其中一个端点上接受了呼叫。 这是正常行为,只有一个端点可以接受并连接到呼叫。 所有其他端点都会收到子代码 10003 以表明该呼叫已被接受。
10004 487 由于目标用户未及时接受或拒绝,呼叫因超时而被取消。 确保用户看到通知,和/或应用程序可以自动处理并尝试再次发起该呼叫。 ExpectedError 由于目标用户没有接受或拒绝,通话在预定的时间(通常为 2 分钟)后被取消。
10009 401 未经身份验证的标识。 - 确保 Azure 通信服务令牌有效且未过期。 UnexpectedClientError
10024 487 通话已成功结束。 所有被叫方终结点都拒绝了通话。 成功 尝试再次呼叫。
10037 480 目标用户没有在 ACS 注册任何端点。 确保目标用户至少有一个活动端点并且处于联机状态。 ExpectedError 如果目标用户正在使用 Azure 通信服务呼叫 SDK,请确保该 SDK 在其客户端应用程序中成功初始化。 如果目标用户是 Teams 用户,请确保其客户端处于联机状态。 确保目标用户的标识符(CommunicationUserIdentifier、MicrosoftTeamsUserIdentifier 或 MicrosoftTeamsBotIdentifier)正确。 如果图形 API user 将属性 department 设置为 Microsoft Communication Application Instance,则应指定 MicrosoftTeamsBotIdentifier
10057 408 通话失败,被叫方未能完成通话设置,很可能是被叫方断开了网络或突然终止了应用程序。 确保客户端已连接且可用。 ExpectedError
10076 480 目标用户已注册,但在呼叫时未处于联机状态。 确保目标用户至少有一个活动端点并且处于联机状态。 ExpectedError 如果目标用户正在使用 Azure 通信服务呼叫 SDK,请确保该 SDK 在其客户端应用程序中成功初始化并且其端点处于联机状态。 如果目标用户是 Teams 用户,请确保其客户端处于联机状态。
10077 480 目标用户已注册 ACS 和/或推送通知,但在呼叫时未处于联机状态。 确保目标用户至少有一个活动端点并且处于联机状态。 ExpectedError 如果目标用户正在使用 Azure 通信服务呼叫 SDK,请确保该 SDK 在其客户端应用程序中成功初始化并且其端点处于联机状态。 如果应用程序利用推送通知,请确保其配置正确。 如果目标用户是 Teams 用户,请确保其客户端处于联机状态。
10078 480 远程客户端端点未注册或无法访问。 确保远程客户端终结点成功将网络请求发送到 Azure 通信服务。 ExpectedError - 如果目标用户正在使用 Azure 通信服务呼叫 SDK,请确保该 SDK 在其客户端应用程序中成功初始化并且其端点处于联机状态。 如果应用程序利用推送通知,请确保其配置正确。
- 如果目标用户是 Teams 用户,请确保其客户端处于联机状态。
301004 410 由于在呼叫设置期间无法与 Azure 通信服务基础结构建立媒体连接,Azure 通信服务基础结构将参与者从呼叫中移除。 检查用户的网络配置,包括本地网络、防火墙、VPN 配置,然后重试。 UnexpectedClientError 确保正确配置了用户的网络,请按照“网络建议”公共文档中的说明进行操作。
301005 410 由于与同一基础结构的媒体连接断开,Azure 通信服务基础结构从通话中删除了参与者。 如果参与者突然退出通话或断开网络连接,通常会发生这种情况。 参与者如果想要继续通话,可以重新进行连接。 UnexpectedClientError 请确保在受支持的环境中使用最新的 SDK。
540000 0 本地 PSTN 呼叫者成功结束呼叫。 成功
510403 403 通话已结束,之前被标记为骚扰电话,现已被阻止。 ExpectedError - 确保通信服务令牌有效且未过期。
- 确保在通话选项中传入 AlternateId
540487 487 由于呼叫方取消了呼叫,呼叫成功结束。 成功
560000 0 远程 PSTN 参与者成功结束呼叫。 成功 可能的原因:
- 用户结束了呼叫。
- 媒体代理结束了通话。
560486 486 由于远程 PSTN 参与者繁忙,呼叫结束。 被呼号码占线或存在技术问题。 成功 - 对于直接路由呼叫,请检查会话边界控制日志和设置以及超时配置。 可能的原因:被呼号码正在接听电话或存在技术问题。
404 找不到呼叫。 确保要呼叫的电话(或要加入的电话)存在。
408 呼叫控制器超时。 等待来自用户终结点的协议消息时呼叫控制器超时。 确保客户端已连接且可用。
410 本地媒体堆栈或媒体基础结构错误。 请确保在受支持的环境中使用最新的 SDK。
430 无法将消息传递到客户端应用程序。 请确保客户端应用程序正在运行而且可用。
480 未注册远程客户端终结点。 确保远程终结点可用。
481 无法处理传入呼叫。 通过 Azure 门户提交支持请求。
490、491、496、497、498 本地终结点网络问题。 检查网络配置,确保符合 Azure 通信呼叫网络要求
500、503、504 通信服务基础结构错误。 通过 Azure 门户提交支持请求。

了解调用代码和子代码

何时收到错误代码?

调用自动化的错误代码可以作为 API 调用的同步响应或通过提供的回调 URI 进行异步响应。 在同步情况下,如果进行了 API 调用且该调用不被接受,ACS 将提供错误代码,描述 API 调用被拒绝的原因。 在异步情况下,如果发出 API 调用并接受,但仍出错,则同时收到回调事件和错误代码。 调用失败的常见回调事件的示例是每当调用断开连接时显示的 callDisconnected 事件。 收到 callDisconnected 事件后,该给定调用将不再有回调事件。 有关呼叫信号回调事件的列表,请参阅(本页面),有关媒体操作的回调事件列表,请参阅(本页面)。

错误代码语法

错误代码、子代码和相应的结果类别可帮助开发人员识别和诊断错误。 错误代码详细信息包括:

代码 - 是表示客户端或服务器响应状态的 3 位整数。 代码类别:

  • 成功响应 (200-299)
  • 客户端错误 (400-499)
  • 服务器错误 (500-599)
  • 全局错误 (600-699)

子代码 - 定义为整数,其中每个数字表示特定于一组方案或特定方案结果的唯一原因

消息 - 描述结果,并提供在结果失败时如何缓解问题的提示

除了代码和子代码,还可以在调用日志中找到更详细的故障排除信息。 若要详细了解如何启用和访问通话日志,请参阅本页面以获取详细的指导。

调用自动化 SDK 错误代码

下表包含最常见的代码和子代码。 如果错误不在此表中,请参阅通用代码和子代码,获取有关特定方案的详细信息。

最常见的通话自动化错误代码

代码 子代码 说明 缓解操作
404 8522 指示找不到资源的通用错误代码。 资源可以包括通话和参与者。 仔细检查通话状态:通话可能已结束,或者参与者已离开通话。
400 8523 一个通用错误代码,指示请求正文中的内容无效。 检查以确保所有参数都有效。 请参阅错误消息来确定哪个参数引发了错误。
400 8501 操作不支持的通话未建立 通话未处于活动状态时激活了与错误消息关联的操作。 确保在通话断开连接后不会启动新的通话操作。 如果通话接近通话断开连接的时间,则此错误也可能是由于通话处于活动状态时调用的操作。
400 8500 媒体模式无效 检查媒体操作的状态,查看其中任何一个操作是否已处于活动状态,或者目标参与者是否已在媒体操作中。 如果有活动的媒体操作,请等待操作完成,然后重试。
400 8559 操作不支持 仅允许一个拨号应用 重复的开始记录请求、已启动或正在进行录制。 仔细检查录制状态,以确保在提交新的开始记录通话之前处于非活动状态。
400 8528 操作不支持的通话终止 通话终止时激活了与错误消息关联的操作。 确保在通话终止后不会启动新的通话操作。 如果通话接近通话终止的时间,则此错误也可能是由于通话处于活动状态时调用的操作。
409 8519 冲突 检查以确保未对同一资源并行执行多个操作。 请参阅错误消息,确定哪些两个操作存在冲突。
403 7507 通话源标识无效 来自授权令牌的应用程序标识与通话源中的应用程序标识不匹配。 检查以确保使用 ACS 资源中的连接字符串,来电 Webhook 已在其中配置(电话号码必须由应答呼叫的同一 ACS 资源拥有)。
403 7504 应用程序权限不足 用于权限不足的通用代码,检查有关资源缺少权限的上下文的错误消息。
400 8585 当前通话状态中操作无效 呼叫未建立或已断开连接:在重试媒体操作之前等待建立通话。
405 8520 目前不支持的功能 预期错误:当前不支持工作流。 查看我们的发布博客,了解是否有启用了这些功能的更新 SDK。 有关不支持的工作流列表,请参阅“通话自动化已知限制”页。
412 8583 前置条件失败 参考本页面,列出了不兼容的媒体操作,以确保你未运行或排队不兼容的操作。
400 8567 未启用 ACS 资源服务主体 Azure 认知服务资源未正确配置。 有关设置 Azure 认知服务资源的指南,请参阅本
405 8522 缺少配置 检查错误消息,了解需要建立配置的更多上下文。 调用 AnswerCall API 时,需要执行此配置。

通用错误代码

2xx 代码

2xx 代码表示成功的响应。 成功响应的子代码将为 0。

4xx 代码

4xx 代码表示客户端错误。

状态代码 说明
400 错误的请求
401 未授权
403 禁止
404 未找到
405 不允许的方法
406 不可接受
408 已超时
409 Conflict
412 前置条件失败
413 请求实体太大
426 需要升级
429 请求太多
481 事务不存在
487 已取消

5xx 代码

5xx 代码表示服务器错误。

状态代码 说明
500 内部服务器错误
501 未实现
502 网关错误
503 服务不可用
504 网关超时

6xx 代码

6xx 代码表示全局错误。

状态代码 说明
603 已拒绝

通用子代码

子代码 说明
0 成功
7000 常规
7500 不支持的 AAD 标识
7501 无效的令牌
7502 未启用访问权限
7504 应用程序权限不足
7505 企业租户不匹配
7506 不受信任的证书
7507 通话源标识无效
7508 不支持的 ACS 标识
7509 HMAC 验证错误
7510 托管标识验证错误
7600 未启用资源访问权限
7601 ACS 源标识无效
7602 ACS 目标标识无效
7603 ACS 标识无效
7604 未经授权的 Teams 互操作方案
7605 未经授权的 Teams 记录互操作方案
7606 认知操作的未经授权的 ACS 资源
8500 媒体模式无效
8501 未建立通话
8502 我的参与者 ID 不可用
8503 调用媒体状态音频非活动状态
8504 媒体流不可用
8505 具有替换项的多个参与者
8506 不合规记录通话
8508 操作已取消
8509 达到最大静音超时
8510 达到初始静音超时
8511 播放提示失败
8512 播放蜂鸣声失败
8513 媒体接收超时
8514 检测到停止音调
8515 达到最大记录持续时间
8516 通话受限
8517 通话租户 ID 不匹配
8518 通话异常
8519 冲突
8520 未实现
8521 跃点过多
8522 未找到
8523 参数无效
8524 合规性记录的参与者计数无效
8525 非记录方
8526 联接令牌无效
8527 联接 URL 无效
8528 通话已终止
8529 已达到通话限制的每月限制
8530 已达到通话限制的活动通话限制
8531 接收的最大位数
8532 已达到输入的最大间隔时间
8,533 Dtmf 选项匹配
8534 输入的音调不正确
8535 文件格式无效
8536 文件下载失败
8537 已达到保持连接超时
8538 被叫方拒绝
8539 被叫方忙
8,540 被叫方到处都忙
8541 被叫方离线
8542 通话已取消
8543 通话不存在
8544 被叫方无法接通电话
8545 语音选项匹配
8546 被叫方发送无效请求
8547 语音选项不匹配
8548 通话不是群组通话
8549 重定目标对话创建失败
8550 重定目标媒体协商失败
8551 不支持重定目标
8552 无法删除组织者
8553 重复记录
8554 参与者退出会议音频混合
8555 已进行重定目标
8556 CR 呼叫不支持的操作
8557 格式类型错误
8558 参与者缺席
8559 重复单拨号
8560 由于已锁定会议,已阻止加入对话
8561 无效的加入会议 ID
8562 不支持录制模式
8563 无法识别语音
8564 语音服务连接错误
8565 认知服务错误
8566 不允许取消静音操作
8567 未启用 ACS 资源服务主体
8568 认知服务请求的托管标识失败
8571 记录操作冲突
8569 语音已识别
8570 认知服务语音识别错误
8572 播放服务关闭
8573 不允许暂停恢复方法
8578 听录失败
8579 听录已取消
8580 听录服务关闭
8581 流 URL 无效
8582 播放源文本或 Ssml 空
8583 前置条件失败
8585 当前通话状态中操作无效
8586 机器人未确认来电
8587 来电未及时接听
8588 记录已完成和媒体接收超时
8589 记录限制
8594 更新会议状态失败
8603 媒体流式处理失败
8604 媒体流式处理已取消
8605 不支持听录自定义语音模型
8,606 通信标识符创建失败
8607 传输操作冲突
8608 记录参与者客户端错误
8609 来自机器人的无效联接响应
8610 通知时没有来自机器人的响应
8613 已达到呼叫限制实时辅助字幕限制
9001 基础服务中的未知错误
9002 基础服务中的超时错误
9003 操作取消错误
9998 严重错误
9999 未知

包含 ParticipantEndReason 的 PSTN 通话响应代码

本部分提供针对 ParticipantEndReasonParticipantEndSubCode 响应代码的各种组合的故障排除信息。 对于本部分中的表,ParticipantEndReason = 代码ParticipantEndSubCode = 子代码

ParticipantEndReason 0

响应 ParticipantEndReason 的值为 0 通常表示正常通话清除,会标记完成时无错误的通话。

SubCode 代码 消息 结果类别 Advice
0 0 本地参与者成功结束呼叫。 成功
560000 0 正常 PSTN 通话结束:
- 用户结束了呼叫。
- 媒体代理结束了通话。
成功
540000 0 正常 PSTN 通话结束:
- 用户结束了呼叫。
- 媒体代理结束了通话。
成功

ParticipantEndReason 4xx

响应 ParticipantEndReason 的值为 4xx 表示通话未接通。

SubCode 代码 消息 结果类别 Advice
510403 403 通话被阻止:
- 未为通话提供备用 ID。
- 用户会话边界控制器 (SBC) 不允许使用电话号码。
- 有关备用 ID 的详细信息,请参阅管理通话
- 确保指定了有效的备用 ID。 它必须是属于你正在使用的资源的电话号码。
- 验证你是否拥有用于拨打电话的资源。
- 对于直接路由通话,请验证会话边界控制器禁止该通话的原因。
560403 403 - 通话被禁止。
- 通话被取消。
- 通话被拒绝。
请确保拨打的电话号码格式正确且有效。 有关支持的号码格式的详细信息,请参阅 https://en.wikipedia.org/wiki/E.164
511532 403 未找到资源 SIP 中继配置。 请在 Azure 门户中检查直接路由设置。 有关详细信息,请参阅直接路由预配
560404 404 - 找不到电话号码。
- 未将电话号码分配给任何目标。
- 会话边界控制器不允许使用电话号码。
- 请确保该电话号码属于你正在使用的资源,并且你拥有该资源。
- 请验证你呼叫的号码是否存在以及是否分配给有效目标。
511404 404 - 找不到电话号码。
- 未找到在通话中使用的资源。
- 请确保使用的电话号码属于你正在使用的资源,并且你拥有该资源。
- 请验证你呼叫的号码是否存在以及是否分配给有效目标。
- 请确保用于通话的资源没有被删除或禁用。
- 请确保 Azure 订阅未被删除或禁用。
560408 408 被叫方在规定时段内未响应通话建立消息。 - 请仔细检查被叫方为何没有进行响应。
- 对于直接路由通话,请检查会话边界控制 (SBC) 日志和设置以及超时配置。
500001 408 用户网关超时
Azure 通信服务在指定的时间限制内未收到来自客户端的响应,因此终止了请求。
- 请仔细检查被叫方为何没有进行响应。
- 对于直接路由通话,请检查 SBC 日志和设置以及超时配置。
531004 410 交互式连接建立 (ICE) 检查失败。 - 无法建立媒体路径。 可能是因错误的网络配置造成的。 请验证网络配置,以确保所需 IP 地址和端口没有被阻止。 请阅读 https://www.rfc-editor.org/rfc/rfc5245#section-7 中的准则。
- 对于直接路由通话,请检查 SBC 日志和设置中的 ICE 配置和配置文件。 请联系 SBC 供应商以获取配置帮助。 有关详细信息,请参阅针对 Azure 通信服务直接路由认证的会话边界控制器列表
560480 480 - 没有来自被调用用户的应答。
- 被调用用户暂时无法接通。
- 请仔细检查被叫方为何没有进行响应。
- 如果被叫方暂时无法接通,请稍后重试通话。
- 对于直接路由通话,请检查 SBC 日志和设置以及超时配置。
560484 484 - 被叫方地址不完整或无效。
- 被叫方号码格式不完整或无效。
- 在某些情况下,可以忽略这些失败,因为用户拨打了无效的号码。
- 请确保电话号码的格式正确。 有关详细信息,请参阅 https://en.wikipedia.org/wiki/E.164
- 对于直接路由,SBC 可能会因为呼叫转移场景中缺少配置而导致这些失败。
60486 486 被叫号码正忙 - 所呼叫的号码可能已连接至现有通话,或者存在技术问题。
- 对于直接路由通话,请检查 SBC 日志和设置以及超时配置。
540487 487 呼叫方终止了通话请求。 请重试通话。
560487 497 - 呼叫方终止了通话请求。
- 以正常通话清除的方式终止了请求。
请重试通话。

ParticipantEndReason 5xx

响应 ParticipantEndReason 的值为 5xx 表示由于完成连接所需的软件或硬件组件出现问题,导致通话失败。

SubCode 代码 消息 结果类别 Advice
560500 500 通话中涉及的服务之一发生了内部服务器错误。 - 请重试通话。 如果问题仍然存在,请联系电信提供商或 Microsoft 支持部门。
- 对于直接路由通话,请检查 SBC 日志和设置以及超时配置,查看是否是 SBC 导致了失败。
560503 503 - 通话失败是因为通话中涉及的服务之一发生了内部服务器错误。
- 用于建立通话的网络出现故障。
- 通话中涉及的服务之一出现了暂时故障。
- 请检查网络和路由配置是否存在问题。 验证网络防火墙规则是否正确。
- 请重试通话。 如果问题仍然存在,请联系电信提供商或 Microsoft 支持部门。
- 对于直接路由通话,请检查 SBC 日志和设置以及超时配置,查看是否是 SBC 导致了失败。

ParticipantEndReason 603

响应 ParticipantEndReason 的值为 603 表示通话被拒绝,未进行连接。

SubCode 代码 消息 结果类别 Advice
560603 603 - 接收方拒绝通话。
- 由于检测到欺诈,通话被拒绝。
- 如果被接收方拒绝,请重试通话。
- 请确保没有超出 Azure 通信服务电话号码允许的最大并发通话数。 有关详细信息,请参阅 PSTN 通话限制

聊天 SDK 错误代码

聊天 SDK 使用以下错误代码,你可以通过这些错误代码来排查聊天问题。 错误代码通过错误响应中的 error.code 属性公开。

代码 消息 Advice
401 未授权 请确保通信服务令牌有效且未过期。
403 已禁止 确保请求的发起方有权访问该资源。
429 请求太多 确保客户端应用程序以用户友好的方式处理此方案。 如果此错误持续存在,请提交支持请求。
503 服务不可用 通过 Azure 门户提交支持请求。

SMS 错误代码

短信 SDK 使用以下错误代码,你可以通过这些错误代码来排查短信问题。 错误代码通过短信发送报告中的 DeliveryStatusDetails 字段公开。

代码 消息 Advice
2000 消息已成功发送。
4000 因检测到欺诈,消息被拒绝。 请确保不超过你的号码所允许的最大消息数。
4001 因源/发送号码格式无效,消息被拒绝 请确保接收号码采用 E.164 格式,发送号码采用 E.164 或短代码格式。
4002 因目标/接收号码格式无效,消息被拒绝。 请确保接收号码采用 E.164 格式
4003 因目标不受支持,消息发送失败。 请检查尝试发送到的目标是否受支持。
4004 因目标/接收号码不存在,消息发送失败。 请确保要发送到的接收号码有效。
4005 消息被目标运营商阻止。
4006 无法接通目标/接收号码。 请尝试稍后重新发送消息。
4007 目标/接收号码已选择不接收你的消息。 将目标/接收号码标记为已选择不接收,以便不再试图向该号码发送消息。
4008 已超出配置文件允许的最大消息数。 请确保不超过你的号码所允许的最大消息数,或使用队列对消息进行批处理。
4009 消息被 Microsoft 权利系统拒绝。 这最常发生在检测到欺诈活动的情况下。 请联系支持部门以了解更多详细信息。
4010 由于未验证免费号码,消息被阻止。 查看未经验证的发送限制并尽快提交免费验证。
5000 消息发送失败。 请联系 Microsoft 支持团队以了解更多详细信息。 通过 Azure 门户提交支持请求。
5001 因应用程序/系统暂时不可用,消息发送失败。
5002 运营商不支持送达报告 这最常发生在运营商不支持送达报告的情况下。 由于消息可能已送达,因此不需要执行任何操作。
9999 因未知错误/故障,消息发送失败。 请尝试重新发送消息。