在 Teams 客户端的“呼叫”应用中,拨号盘使用户能够输入电话号码进行外部电话呼叫。 只要配置正确,具有Teams 电话许可证的用户可以使用拨号盘。
如果在设置Teams 电话时未完成所有步骤,则用户可能不会显示拨号盘。
要显示拨号盘,必须满足以下先决条件:
- 为用户分配了Teams 电话 (“MCOEV”) 许可证
- 用户在线驻留,而不是在本地Skype for Business
- 用户已启用企业语音
- 用户在 Teams 通话策略中启用了专用呼叫
本文提供了 PowerShell cmdlet,可用于验证拨号盘向用户显示所需的先决条件配置。
在大多数情况下,需要在 Get-CsOnlineUser cmdlet 的输出中查看各种属性。 示例假定$user是用户的 UPN (UserPrincipalName) 或 SIP 地址。
为用户分配了Teams 电话 (“MCOEV”) 许可证
在第一个验证检查中,你将验证用户是否分配了Teams 电话许可证。
在 PowerShell cmdlet 输出中,确保为用户分配的计划将 CapabilityStatus 属性设置为 Enabled,并将 Capability 设置为 MCOEV (MCOEV 指示Teams 电话许可证) 。 你可能会看到 MCOEV、MCOEV1 等。 只要功能以 MCOEV 开头,所有功能都是可以接受的。
若要检查是否正确设置了属性,请使用以下命令:
(Get-CsOnlineUser -Identity $user).AssignedPlan
输出将如下所示。 只需检查 CapabilityStatus 和 Capability 属性:
AssignedTimestamp Capability CapabilityStatus ServiceInstance ServicePlanId
----------------- ---------- ---------------- --------------- -------------
07-02-2020 12:28:48 MCOEV Enabled MicrosoftCommunicationsOnline/NOAM-4A-S7 4828c8ec-dc2e-4779-b502-...
07-02-2020 12:28:48 Teams Enabled TeamspaceAPI/NA001 57ff2da0-773e-42df-b2af-...
若要详细了解Teams 电话许可证,请参阅Teams 电话许可。
用户在线驻留,而不是在本地Skype for Business
为确保用户联机且不在本地Skype for Business,RegistrarPool 不得为 null,并且 HostingProvider 必须包含以“sipfed.online”开头的值。若要检查值,请使用以下命令:
Get-CsOnlineUser -Identity $user|Select RegistrarPool, HostingProvider
输出应类似于:
RegistrarPool HostingProvider
------------- ---------------
sippoolbn10M02.infra.lync.com sipfed.online.lync.com
用户已启用企业语音
验证此步骤的先决条件是确保用户分配有Teams 电话许可证。 将Teams 电话许可证分配给用户会打开一个入口,以便将用户帐户配置为“启用企业语音”。
如果许可证和 M365 电话系统应用已分配给用户,但他们仍然看不到其拨号盘,则“启用企业语音”状态可能会设置为 false。
若要更新用户帐户,使其企业语音已启用状态设置为 true,请在 Teams 管理中心或 PowerShell 中检查其状态。
- 在 Teams 管理中心,转到 “用户>管理用户 ”,然后选择要编辑的用户。 在“帐户”选项卡“>分配的电话号码”下,将企业语音转到“开”,然后选择“保存”。
- 对于 PowerShell,请使用 Set-CsPhoneNumberAssignment cmdlet 并将
-EnterpriseVoiceEnabled
参数设置为$true
。
若要检查用户是否已启用企业语音,请使用以下 PowerShell 命令:
Get-CsOnlineUser -Identity $user|Select EnterpriseVoiceEnabled
输出应如下所示:
EnterpriseVoiceEnabled
----------------------
True
注意
向许可用户分配电话号码时,“启用企业语音”将自动设置为 True。 如果分配了电话号码并且值为 False,则必须使用 TAC 或 PowerShell cmdlet 手动将值设置为 True。
用户在 Teams 通话策略中启用了专用呼叫
在 PowerShell 中,用户的有效 TeamsCallingPolicy 必须将 AllowPrivateCalling 设置为 true。 除非分配自定义策略,否则用户会自动继承全局调用策略,该策略默认将 AllowPrivateCallingPolicy 设置为 true。
在 Teams 管理中心中,呼叫策略设置指示为 进行私人呼叫。
使用 PowerShell,若要获取用户的 TeamsCallingPolicy,并检查 AllowPrivateCalling 设置为 true,请使用以下命令:
if (($p=Get-CsUserPolicyAssignment -Identity $user -PolicyType TeamsCallingPolicy) -eq $null) {Get-CsTeamsCallingPolicy -Identity Global} else {Get-CsTeamsCallingPolicy -Identity $p.PolicyName}
输出应如下所示:
Identity : Global
Description :
AllowPrivateCalling : True
AllowWebPSTNCalling : True
AllowVoicemail : UserOverride
AllowCallGroups : True
AllowDelegation : True
AllowCallForwardingToUser : True
AllowCallForwardingToPhone : True
PreventTollBypass : False
BusyOnBusyEnabledType : Disabled
MusicOnHoldEnabledType : Enabled
其他说明
进行上述任何配置更改后,可能需要重启 Teams 客户端。
如果最近更新了上述任何条件,可能需要等待几个小时,客户端才能收到新设置。
如果仍然看不到拨号盘,请使用以下命令检查预配错误:
Get-CsOnlineUser -Identity $user|Select UserValidationErrors
如果时间已超过 24 小时,但仍遇到问题,请联系支持人员。