If you are migrating or have migrated your existing phone system to Skype for Business Online, usually you will start using the Skype for Business client to make and receive calls from your internal users simply by typing their name or SIP address into the search bar. However, some customers still have a front desk receptionist using a more traditional phone, like a Polycom VVX unit, and prefer to direct dial users.
It is now possible in Skype for Business online to implement a tenant dial plan and normalization rules to allow users to use 4- or 5-digit dialing. In this article, I’ll detail how to get connected to the Skype for Business Online PowerShell and then how to setup your dial plan and normalization rules.
In overview, the steps you’ll be taking are first, creating a new Tenant Dial plan, then creating normalization rules to assign to that plan. Once you assign your normalization rules, you can then assign the Tenant Dial plan to a user and test functionality. Before you proceed, make sure you plan out your rules for the numbers assigned to your organization, or example if you have multiple exchanges, you may have to use 5-digit dialing instead of 4-digit if the 6th digit is the same. You may have 25 normalization rules per Dial plan.
Step 1: To connect to Skype for Business Online PowerShell, you’ll need to install the module first from Microsoft.
Open PowerShell or PowerShell ISE as an administrator and use these commands to connect to your tenant:
Import-Module SkypeOnlineConnector
$userCredential = Get-Credential
$sfbSession = New-CsOnlineSession -Credential $userCredential
Import-PSSession $sfbSession
When you enter the $userCredtial command, you’ll be prompted for your tenant global administrator user information.
Step 2: Once you have the PowerShell connection established, you’ll need to start by creating the dial plan.
New-CsTenantDialPlan -identity US-Ext-1 -Description “US Extension Dialing”If your organization has multiple locations, it will be helpful to name this dial plan based on the sub region for each office. You will then be able to assign the region-specific dial plan to those users.
Step 3: Next, you’ll need to create the normalization rules for your extensions.
For this example, we’ll be doing 5-digit dialing. You can reference the syntax for other rules using this link.
$NR1=New-CsVoiceNormalizationRule -identity Global/US-EXT-1 -description “US Extension 555389xxxx Dialing” -pattern ‘^8(\d{5})$’ -Translation ‘+1555389$1’ -InMemory -IsInternalExtension $True
$NR2=New-CsVoiceNormalizationRule -identity Global/US-EXT-2 -description “US Extension 555657xxxx Dialing” -pattern ‘^5(\d{5})$’ -Translation ‘+1555657$1’ -InMemory -IsInternalExtension $True
Step 4: Now we can add these rules to the dial plan.
Set-CsTenantDialPlan -identity US-Ext-1 -normalizationrules @{Add=$NR1,$NR2}
Note that sometimes there is a bit of a delay before the rules actually start taking effect. Just be patient.
Step 5: Now you’ll need to add a user to the dial plan:
Grant-CsTenantDialPlan -identity user@domain.com -policyname US-Ext-1
Step 6: Now you can run another command to verify the plan assigned correctly
get-csonlineuser -identity user@domain.com| fl *dial*
If you see that the ‘TenantDialPlan” is listed as “US-Ext-1”, you know the dial plan has assigned successfully. Also note that you may have to wait a few minutes before the plan assignment is actually implemented.
Step 7 You can now test the rules to see if they are working correctly:
get-cseffectivetenantdialplan -identity user@domain.com | test-cseffectivetenantdialplan -dialednumber 51212
The expected translated number (in our example) should be +15556571212. If you only see a translation of +51212, you will need to wait longer for the rules to take effect.
Joe Hanning, Senior Infrastructure Engineer
PEI is a Microsoft Gold Communications partner. Use our Skype for Business Managed Services and IT Support to simplify application management while increasing performance.