管理机器人的电话号码
本文介绍如何使用 Microsoft Graph 中的云通信 API 创建可通过电话号码访问的机器人。 创建机器人时,熟悉以下术语会很有帮助:
应用: 托管在 Azure 上的应用程序,也称为 机器人。
应用程序实例: 一个禁用的用户对象,可分配给机器人可以使用的电话号码。 这也称为 资源帐户。 这是将电话号码分配给机器人的唯一方法。
一个应用程序可以有多个应用程序实例,每个租户可以有多个应用程序实例,如下图所示。
先决条件:注册机器人
若要开始,请按照说明 注册呼叫机器人。 需要配置值(例如机器人 ID、Microsoft 应用 ID 和 Microsoft 应用密码)才能在代码中使用。
将以下权限添加到机器人。 租户管理员还需要同意以下权限:
- Calls.AccessMedia.All
- Calls.Initiate.All
- Calls.JoinGroupCall.All
- Calls.JoinGroupCallAsGuest.All
有关呼叫相关权限的详细信息,请参阅 权限参考。
向机器人分配电话号码
将电话号码分配给机器人涉及三个步骤:
- 创建应用程序实例。
- 将 Microsoft 365 许可证分配给应用程序实例。
- 仅 (租户管理员) 向应用程序实例分配电话号码。
创建应用程序实例
如果尚未安装,租户管理员需要安装 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>