Check voice normalization rules in Lync Server 2013

Lync Server 2013

Letztes Änderungsdatum des Themas: 2015-03-09


Verification schedule


Testing tool

Windows PowerShell

Permissions required

When run locally using the Lync Server-Verwaltungsshell, users must be members of the RTCUniversalServerAdmins security group.

When run using a remote instance of Windows PowerShell, users must be assigned an RBAC role that has permission to run the Test-CsVoiceNormalizationRule cmdlet. To see a list of all RBAC roles that can use this cmdlet, run the following command from the Windows PowerShell prompt:

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

Voice normalization rules are used to convert a phone number dialed by a user (for example, 2065551219) to the E.164 format that is used by Lync Server (+12065551219). For example, if users are in the habit of dialing a phone number without including the country code or the area code (e.g., 5551219) then you must have a voice normalization rule that can convert that number to the E.164 format: +12065551219. Without such a rule, the user won't be able to call 555-1219.

The Test-CsVoiceNormalizationRule cmdlet verifies that a specified voice normalization rule can successfully convert a specified phone number. For example, this command checks whether the global normalization rule NoAreaCode can normalize and convert the dial string 5551219.

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

To run the Test-CsVoiceNormalizationRule cmdlet, you must first use the Get-CsVoiceNormalizationRule cmdlet to retrieve an instance of the rule being tested, and then pipe that instance to Test-CsVoiceNormalizationRule. Syntax similar to this won't work:

Test-CsVoiceNormalizationRule -DialedNumber "12065551219" –NormalizationRule "global/Prefix All"

Instead, use syntax such as the following, which combines both the Get-CsVoiceNormalizationRule and the Test-CsVoiceNormalizationRule cmdlets:

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

. Or, you can also use this approach to retrieve an instance of a rule and then test that rule against a specified phone number:

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

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

Enter the value for the DialedNumber parameter exactly as you expect that number to be dialed. For example, if the specified voice normalization rule is supposed to automatically add the country code (the initial 1 in the value 12065551219) then you should leave off the country code:

-DialedNumber "2065551219"

If the rule is configured correctly, it will automatically add the country code when translating the number to the E.164 format that is used by Lync Server.

For more information, see the Help documentation for the Test-CsVoiceNormalizationRule cmdlet.

If the specified voice normalization rule can translate the supplied number then the translated number will be displayed on-screen:




If the test fails then a blank translated number will be returned:



If the Test-CsVoiceNormalizationRule does return a translated number that means that the specified voice normalization rule was unable to translate the supplied telephone number into the E.164 format that is used by Lync Server. To verify that, first make sure that you typed the telephone number in correctly. For example, you would expect your voice normalization rule to have problems translating a number similar to this:

-DialedNumber "1"

Assuming the number was entered correctly, your next step should be to verify that the specified normalization rule is designed to handle that phone number. For example, one normalization rule might be designed to handle the format 12065551219, but a second rule might be designed to handle the number 2065551219. (That’s the same phone number, minus the country code 1 at the very beginning.) To return detailed information about a voice normalization rule, run a command similar to this:

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

To return detailed information about all the voice normalization rules, run this command instead:

Get-CsVoiceNormalizationRule | Format-List