检查 Lync Server 2013 中的语音规范化规则

 

上次修改的主题: 2014-05-20

验证计划

每月

测试工具

Windows PowerShell

所需的权限

使用 Lync Server Management Shell 在本地运行时,用户必须是 RTCUniversalServerAdmins 安全组的成员。

使用远程实例Windows PowerShell运行时,必须为用户分配有权运行Test-CsVoiceNormalizationRule cmdlet 的 RBAC 角色。 若要查看可以使用此 cmdlet 的所有 RBAC 角色的列表,请从Windows PowerShell提示符运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Test-CsVoiceNormalizationRule"}

说明

语音规范化规则用于将用户 (拨打的电话号码(例如,2065551219) 转换为 Lync Server (+12065551219) 使用的 E.164 格式)。 例如,如果用户习惯于拨打电话号码而不包含国家/地区代码或地区代码 (,例如,5551219) ,则必须有一个语音规范化规则,该规则可以将该号码转换为 E.164 格式:+12065551219。 如果没有这样的规则,用户将无法调用 555-1219。

Test-CsVoiceNormalizationRule cmdlet 验证指定的语音规范化规则是否可以成功转换指定的电话号码。 例如,此命令检查全局规范化规则 NoAreaCode 是否可以规范化和转换拨号字符串5551219。

Get-CsVoiceNormalizationRule -Identity "global/NoAreaCode" | Test-CsVoiceNormalizationRule -DialedNumber "5551219"

运行测试

若要运行Test-CsVoiceNormalizationRule cmdlet,必须先使用Get-CsVoiceNormalizationRule cmdlet 检索正在测试的规则的实例,然后通过管道将该实例传递给 Test-CsVoiceNormalizationRule。 与此类似的语法不起作用:

Test-CsVoiceNormalizationRule -DialedNumber “12065551219” – NormalizationRule “global/Prefix All”

请改用语法,如以下语法,它结合了Get-CsVoiceNormalizationRule和Test-CsVoiceNormalizationRule cmdlet:

Get-CsVoiceNormalizationRule -Identity“global/Prefix All”|Test-CsVoiceNormalizationRule -DialedNumber “12065551219”

注意

. 或者,还可以使用此方法检索规则的实例,然后针对指定的电话号码测试该规则:

$x = Get-CsVoiceNormalizationRule -Identity "global/Prefix All"

Test-CsVoiceNormalizationRule -DialedNumber "12065551219" -NormalizationRule $x

输入 DialedNumber 参数的值,与预期要拨号的值完全一样。 例如,如果指定的语音规范化规则应自动添加国家/地区代码 (值12065551219) 的初始 1,则应保留国家/地区代码:

-DialedNumber "2065551219"

如果规则配置正确,它将在将数字转换为 Lync Server 使用的 E.164 格式时自动添加国家/地区代码。

有关详细信息,请参阅Test-CsVoiceNormalizationRule cmdlet 的帮助文档。

确定成功或失败

如果指定的语音规范化规则可以翻译提供的号码,则翻译的数字将显示在屏幕上:

TranslatedNumber

----------------

+12065551219

如果测试失败,将返回一个空白的翻译编号:

TranslatedNumber

----------------

测试失败的原因

如果Test-CsVoiceNormalizationRule返回一个翻译的号码,这意味着指定的语音规范化规则无法将提供的电话号码转换为 Lync Server 使用的 E.164 格式。 若要验证这一点,请首先确保正确键入电话号码。 例如,你期望语音规范化规则在翻译类似于以下内容的数字时遇到问题:

-DialedNumber "1"

假设正确输入了号码,下一步应该是验证指定的规范化规则是否旨在处理该电话号码。 例如,一个规范化规则可能设计为处理格式12065551219,但第二个规则可能设计为处理数字2065551219。 (这是相同的电话号码,减去一开始的国家/地区代码 1。) 若要返回有关语音规范化规则的详细信息,请运行类似于以下内容的命令:

Get-CsVoiceNormalizationRule -Identity "global/Prefix All" | Format-List

若要返回有关所有语音规范化规则的详细信息,请改为运行以下命令:

Get-CsVoiceNormalizationRule | Format-List