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

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

呼叫 SDK 和相应的服务器基础结构使用统一的框架来表示错误。 使用错误代码、子代码及其相应的结果类别,开发人员可以更轻松地理解这些错误,并找到有关其发生原因以及将来如何缓解的说明。 可将有关错误结果的详细信息视为:

代码建模为 3 位整数,指示客户端或服务器响应的响应状态。 它们分组为:

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

子代码定义为整数,其中每个数字表示特定于一组方案或特定方案结果的唯一原因
消息描述结果,并提供在结果失败时如何缓解问题的提示
ResultCategory - 指示错误的类型。 根据上下文,该值可以是 SuccessExpectedErrorUnexpectedClientErrorUnexpectedServerError

重要

本文中所述的功能目前以公共预览版提供。 此预览版在提供时没有附带服务级别协议,我们不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 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
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 门户提交支持请求。