管理机器人的电话号码

本文介绍如何使用 Microsoft Graph 中的云通信 API 创建可通过电话号码访问的机器人。 创建机器人时,熟悉以下术语会很有帮助:

  • 应用: 托管在 Azure 上的应用程序,也称为 机器人

  • 应用程序实例: 一个禁用的用户对象,可分配给机器人可以使用的电话号码。 这也称为 资源帐户。 这是将电话号码分配给机器人的唯一方法。

一个应用程序可以有多个应用程序实例,每个租户可以有多个应用程序实例,如下图所示。

显示包含一个或多个应用程序实例的租户的电话号码的图像

先决条件:注册机器人

若要开始,请按照说明 注册呼叫机器人。 需要配置值(例如机器人 ID、Microsoft 应用 ID 和 Microsoft 应用密码)才能在代码中使用。

将以下权限添加到机器人。 租户管理员还需要同意以下权限:

  • Calls.AccessMedia.All
  • Calls.Initiate.All
  • Calls.JoinGroupCall.All
  • Calls.JoinGroupCallAsGuest.All

有关呼叫相关权限的详细信息,请参阅 权限参考

向机器人分配电话号码

将电话号码分配给机器人涉及三个步骤:

  1. 创建应用程序实例。
  2. 将 Microsoft 365 许可证分配给应用程序实例。
  3. 仅 (租户管理员) 向应用程序实例分配电话号码。

创建应用程序实例

如果尚未安装,租户管理员需要安装 PowerShell 的 Teams 模块 。 在运行 cmdlet 之前,租户管理员必须使用其凭据登录。

若要创建新的应用程序实例,租户管理员将运行以下 cmdlet:

PS C:\> New-CsOnlineApplicationInstance -UserPrincipalName <user@contoso.com> -ApplicationId <app_id> -DisplayName <bot_display_name>

有关详细信息,请参阅 New-CsOnlineApplicationInstance

将 Microsoft 365 许可证分配给应用程序实例

将虚拟用户许可证分配给应用程序实例。 有关详细信息,请参阅 电话系统虚拟用户许可证

将调用计划分配给应用程序实例。 有关详细信息,请参阅 Microsoft 365 的通话套餐

仅向应用程序实例分配电话号码 (租户管理员)

在进行组织用户拨打和接听电话的设置之前,必须先为用户获取电话号码。 有关详细信息,请参阅 获取用户的电话号码

若要将电话号码分配给应用程序实例,租户管理员使用以下 cmdlet 分配服务电话号码 (+11D 格式) :

PS C:\> Set-CsPhoneNumberAssignment -Identity <user@contoso.com> -PhoneNumber <phone_number> -PhoneNumberType <type>

有关详细信息,请参阅 Set-CsPhoneNumberAssignment

取消分配机器人电话号码

使用以下 cmdlet 取消分配电话号码:

PS C:\> Remove-CsPhoneNumberAssignment -Identity <user@contoso.com> -PhoneNumber <phone_number> -PhoneNumberType <type>

更新机器人电话号码

取消分配号码后,可以使用以下 cmdlet 为机器人分配不同的编号:

PS C:\> Set-CsPhoneNumberAssignment -Identity <user@contoso.com> -PhoneNumber <phone_number> -PhoneNumberType <type>