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

Teams 互操作性

Azure 通信服务可用于构建自定义应用程序和体验,支持通过语音、视频、聊天和屏幕共享与 Microsoft Teams 用户进行交互。 通信服务 UI 库提供可定制的、可用于生产的 UI 组件,这些组件可以轻松添加到这些应用程序中。 以下视频演示了 Teams 互操作性的一些功能:


注意

请完成此简短调查,与我们分享有关 Azure 通信服务的想法和反馈。

用户标识模型

Azure 通信服务支持两种类型的 Teams 互操作性,具体取决于用户的标识:

  • 外部用户 你可以控制用户身份验证,并且自定义应用程序的用户无需拥有 Microsoft Entra 标识或 Teams 许可证。 此模型允许你为非 Teams 用户构建自定义应用程序,以便与 Teams 用户进行连接和通信。
  • Teams 用户. Microsoft Entra ID 控制用户身份验证,你的自定义应用程序的用户必须拥有 Teams 许可证。 此模型允许你为 Teams 用户构建自定义应用程序,以实现现有 Teams 客户端无法实现的专业工作流或体验。

应用程序可以同时实现这两种身份验证模型,并让用户选择身份验证。 下表比较了这两个模型:

功能 外部用户 Teams 用户
目标用户库 客户 企业
标识提供者 任意 Microsoft Entra ID
显示名称 带有后缀“(External)”的任何名称 Microsoft Entra 用户的属性“显示名称”的值
身份验证和授权 自定义* Microsoft Entra ID 和自定义*
可通过以下方式通话 通信服务通话 SDK 通信服务通话 SDK
可通过以下方式聊天 通信服务聊天 SDK 图形 API
加入 Teams 会议
以 Teams 用户身份拨打和接听呼叫
PSTN 支持 Teams 会议中不支持通信服务用户 Microsoft Teams 电话、通话套餐、直接路由、接线员连接

* 发布访问令牌的服务器逻辑可以对请求执行任何自定义身份验证和授权。

外部用户

自带标识 (BYOI) 身份验证模型让你可以为外部用户构建自定义应用程序,以便与 Teams 用户进行连接和通信。 你可以控制用户身份验证,并且自定义应用程序的用户无需拥有 Microsoft Entra 标识或 Teams 许可证。 第一种方案使应用程序的用户能够使用外部帐户加入 Microsoft Teams 会议,类似于使用 Teams Web 应用程序加入会议的匿名用户。 这非常适用于将员工(熟悉 Teams)和外部用户(使用自定义应用程序)合并到会议体验中的企业对使用者应用程序。 将来,我们计划实施更多方案,包括直接呼叫和聊天,使应用程序能够在 Teams 会议上下文之外启动与 Teams 用户的呼叫和聊天。

有关详细信息,请参阅加入 Teams 会议

目前,Teams 用户无法加入使用 Azure 通信服务呼叫 SDK 发起的呼叫。

Teams 用户

开发人员可以使用具有 Teams 标识的通信服务调用 SDK 为 Teams 用户构建自定义应用程序。 自定义应用程序可以为 Teams 用户启用专门的工作流,例如管理传入和传出电话呼叫,或将 Teams 呼叫体验引入标准 Teams 客户端不支持的设备。 Microsoft Entra 会对 Teams 用户进行身份验证,有关该用户的所有属性和详细信息都绑定到其 Microsoft Entra 帐户。

当通信服务终结点使用 Teams 标识连接到 Teams 会议或 Teams 呼叫时,该终结点将被视为具有 Teams 客户端的 Teams 用户。 体验由分配给组织内外用户的策略驱动。 Teams 用户可以加入 Teams 会议、向其他 Teams 用户发出呼叫、接收来自电话号码的呼叫,还可以将正在进行的呼叫转移到 Teams 呼叫队列。

Teams 用户会针对客户端应用程序中的 Microsoft Entra ID 进行身份验证。 然后,开发人员通过通信服务标识 SDK,将来自 Microsoft Entra ID 的身份验证令牌交换为访问令牌。 此交换会在 Microsoft Entra ID 与通信服务之间创建连接。 建议在后端服务中实现令牌交换,因为 Azure 通信服务的凭据会对交换请求签名。 在后端服务中,可以要求任何其他身份验证。

Teams 会议和呼叫体验

用户可以通过多种方式加入 Teams 会议:

  • 以经过身份验证的 Teams 用户身份,通过 Teams 客户端加入。 这包括桌面、移动设备和 Web Teams 客户端。
  • 以未经身份验证的匿名用户身份,通过 Teams 客户端加入。
  • 以外部用户身份(使用自带标识身份验证模型),通过通信服务应用程序加入。
  • 以 Teams 用户身份(使用 Teams 标识身份验证模型),通过通信服务应用程序。

Azure 通信服务中的多个互操作性方案的概述

使用 Teams 身份验证模型,通信服务应用程序允许 Teams 用户加入与使用 Teams 客户端的其他 Teams 用户的通话:Azure 通信服务中的互操作性方案概述

隐私

通过 Azure 通信服务与 Microsoft Teams 之间的互操作性,应用程序和用户可以参与 Teams 调用、会议和聊天。 你需要负责确保,在 Teams 调用或会议中启用录制或听录时,要通知应用程序的用户。

Microsoft 会通过 Azure 通信服务 API 向你指示录制或听录已开始,你必须在应用程序的用户界面中向用户实时传达这一事实。 你同意赔偿 Microsoft 因自己未能遵守此义务而产生的所有费用和损失。

定价

Azure 通信服务 API 和 SDK 的所有使用情况都会递增 Azure 通信服务计费表。 与 Microsoft Teams 交互(例如使用 Teams 分配的号码加入会议或发起电话呼叫)会递增这些计量。 但是,Teams 互操作性功能本身没有额外费用,且 BYOI 和 Microsoft 365 身份验证选项之间没有价格差异。

如果 Azure 应用程序有一个用户与 Microsoft Teams 用户在会议中用时 10 分钟,那么这两个用户总共消耗了 20 分钟的通话时间。 通过自定义应用程序以及使用 Azure API 和 SDK 进行的 10 分钟会计入你的资源。 但是,最终用户在本机 Teams 应用程序中使用的 10 分钟由适用的 Teams 许可证涵盖,并且不由 Azure 计费。

商标和品牌指南

在广告或促销材料中使用 Microsoft Teams 商标或产品徽标时,第三方必须遵循“Microsoft 商标和品牌指南”。 一般来说,只要客户和公众不会误认为 Microsoft 与你的产品或服务有关联或认可你的产品或服务,就可以使用文字标记来如实传达有关你的产品或服务的信息。 但是,未经明确许可,不得使用我们的徽标、应用程序、产品图标、插图、照片、视频和设计。 若要获取有关品牌打造的更多详细信息,请参阅“Microsoft 商标和品牌指南”。

只有经过认证的 Teams 合作伙伴才允许第三方使用 Microsoft Teams 品牌。 在未与 Microsoft 签订许可协议或未获得认证的情况下,你的应用程序或产品中的所有内容(包括开发者名称、应用程序名称、徽标、描述、屏幕截图和其他应用程序附带内容)都必须是(公司名称)独有的,并且不含 Microsoft 的品牌资产。 唯一的例外是,可以在有关其应用程序的文本描述中如实说明你的应用程序是否与 Microsoft 产品或服务兼容或互操作。

例如:

“(公司名称)(应用程序名称)与 Microsoft Teams 集成”

政府云中的 Teams (GCC)

Azure 通信服务互操作性与目前使用 Microsoft 365 政府云 (GCC) 的 Teams 部署不兼容。

后续步骤

查找外部用户互操作性的更多详细信息:

查找 Teams 用户互操作性的更多详细信息: