UCPrimer
  • Tech Blog
  • About UCPrimer.com

Office365 Skype for Business Tenant Dial Plans

4/30/2017

0 Comments

 
Just recently Microsoft made generally available Skype for Business Online Tenant Dial Plans for organizations on Office365. This new capability, which has been in preview for several months, has been a top feature request among organizations who have moved their PSTN calling capability to CloudPBX in Skype for Business Online. In my previous articles I wrote about Deploying Polycom phones for Cloud PBX with on-premise PSTN Connectivity  as well as Cloud Connector Edition (CCE) 1.4.1 Deployment Walkthru Part 1 which are related topics. In this post, I will walk through creating Tenant Dial Pans in CloudPBX and how to use them with Polycom VVX family of qualified IP phones using our test lab environment with an Office365 E5 subscription,
What are Tenant Dial Plans and why do I need one?
Just to recap, dial plan is essentially a collection of digit manipulation (aka normalization) rules that translate dialled numbers into an alternate format (typically E.164) for purposes of call authorization and call routing. Each normalization rule defines a specific number matching pattern and translates the dialled digits based on a regular expression rule. Different dial plans can be assigned different users so that calls can be authorized and routed correctly. In Skype for Business on-premise, a dial plan is used in conjunction with Voice Routes and PSTN Usages in order to determine what calls a user is allowed to make and how to route that call out to the PSTN. Voice routes associate a set of dialled digit matching patterns to set of PSTN Usages and PSTN Trunks. PSTN Trunks define a specific PSTN gateway with a Mediation Server pool. However, prior to the general availability of Tenant Dial Plans  in Skype for Business Online, CloudPBX users were limited to the default country dial plan that was assigned automatically based on the users' location. This default country dial plan was fixed and any necessary number manipulation had to be performed by the PSTN Gateway or IP-PBX that is connected to a CloudConnector (CCE) instance or by an on-premise Skype for Business pool in a hybrid configuration. Below is an example of the default country dial plan for a CCE users based on a Singapore SG tenant:
Picture
With the introduction of Skype for Business Online Tenant Dial Plans, users can now be assigned two types of dial plans – service scoped and tenant scoped. The service scoped dial plan is essentially the same as the default country plan mentioned above and cannot be changed. However we can now create tenant scoped dial plans which augment the service country dial plan. Users can now be provisioned with an “effective dial plan” which is a combination of the service country dial plan and the appropriately scoped tenant dial plan. Therefore, it's not necessary to define normalization rules in tenant dial plans that already exist in the service country dial plan.

Tenant dial plans can be further broken into two scopes - tenant scope or user scope. If a tenant defines and assigns a user scoped dial plan, then that user will be provisioned with an effective dial plan of the user’s service country dial plan and the assigned user dial plan. If a tenant defines a tenant scoped dial plan, then that user will be provisioned with an effective dial plan of the user’s service country dial plan and the tenant dial plan. If both a tenant scoped dial plan and user scoped dial plan is defined, the user scoped dial plan takes precedence. To understand more about tenant dial plans and scopes, refer to https://support.office.com/en-us/article/What-are-PSTN-Calling-dial-plans-2f0cfb59-1ca1-4e31-84ce-09d0b1a7ce1b?ui=en-US&rs=en-US&ad=US
Existing Lab Environment
Before proceeding to create and assign tenant dial plans in our tenant, its worthwhile to look at the existing lab environment and how the Polycom VVX phones configured. Our lab environment is a hybrid setup with on-premise PSTN connectivity via a existing Skype for Business FE Pool configured with split-domain with a Office365 E5 tenant. The walkthrough for setting up this environment was already covered in the previous blog post http://www.ucprimer.com/tech-blog/deploying-polycom-phones-for-cloud-pbx-with-on-premise-pstn-connectivity-part-1. The Polycom VVX phone is already signed into an account homed with Skype for Business Online. With regards to dial plans, this environment is configured to use on-premise dial plan by way of setting the parameter using the cmdlet set-cstenanthybridconfiguration -UseOnPremDialPlan $true as shown below
Picture
This allows the VVX phone to receive the dial plan and associated normalization rules defined on the on-premise Skype for Business FE Pool. Currently there are just 2 rules :
  • Match any 4 digit number starting with 3 and add prefix +656445:  ^(3\d{3})$ ---> +656445$1
  • Match any 4 digit number and add prefix +656389:  ^(\d{4})$ ----> +656389$1
which are shown in the diagram below:
Picture
This allows the phone to receive the dialplan during login as can be seen in the phone log:
Picture
For this to work properly we set the phone to use local digit map via the parameter:
  • reg.1.applyServerDigitMapLocally = 1
The normalization rules will be applied locally on the phone as digitmaps which can be seen in the phone status menu:
Picture
Create Tenant Dial Plan with Normalization Rules
So now we can proceed to create the Tenant Dial Plan using remote Powershell into our tenant. First we create a new tenant dial plan:
  • New-CsTenantDialPlan -Identity UCPTenantDP
Next we create a new 7-digit normalization rule and add it to the newly created dial plan:
  • $nr7 = New-CsVoiceNormalizationRule -Parent Global -name SG7Digit -Description "SG 7digit TenantDP" -Pattern '^(\d{7})$' -Translation '+656$1' -IsInternalExtension $false -InMemory
  • Set-CsTenantDialPlan -Identity UCPTenantDP -NormalizationRules @{Add=$nr7}
We confirm the normalization rule is added to the dial plan by retrieving the dial plan again:
  • get-CsTenantDialPlan -identity UCPTenantDP
We then assign the Dial Plan to the account that our VVX phone is using:
  • Grant-CsTenantDialPlan -Identity vvx@ucprimer.com -PolicyNAme UCPTenantDP
Finally we get the effective dial plan for the account which is basically the new tenant dial plan plus the country service dial plan:
  • Get-CsEffectiveTenantDialPlan -Identity vvx@ucprimer.com
All these cmdlets are shown below:
Picture
We also change the tenant hybrid configuration to not use the on-premise dial plan by running the cmdlet:
  • set-CsTenantHybridConfiguration -UseOnPremDialPlan $false

Now that the tenant dial plan has been created, we restart the VVX phones so that in-band provisioning can occur and the phone will get the latest normalization rules from the server. This can be seen in the phone status screen on the web browser admin interface as shown below with the 7Digit normalization rule that we created along with the rules from the default service country dial plan:
Picture
Dialling a 7 digit number on the phone now results in a final dial string with '+656' pre-pended.
0 Comments

Your comment will be posted after it is approved.


Leave a Reply.

    Picture
    Picture

    Important Links

    Microsoft Teams Docs
    Microsoft Learn

    ​Microsoft MVP Blogs

    Michael Tressler’s Blog
    Michael’s MTR Quick Tip Videos
    Jimmy Vaughan’s Blog
    Jeff Schertz
    Adam Jacobs
    James Cussen
    ​Damien Margaritis

    Archives

    September 2022
    August 2022
    March 2022
    February 2022
    January 2022
    December 2021
    November 2021
    October 2021
    September 2021
    August 2021
    June 2021
    April 2021
    March 2021
    December 2020
    October 2020
    September 2020
    August 2020
    April 2020
    March 2020
    February 2020
    January 2020
    December 2019
    November 2019
    October 2019
    September 2019
    August 2019
    July 2019
    March 2019
    November 2018
    October 2018
    September 2018
    August 2018
    June 2018
    March 2018
    February 2018
    January 2018
    December 2017
    November 2017
    August 2017
    July 2017
    April 2017
    March 2017
    February 2017
    January 2017
    November 2016
    October 2016
    September 2016
    August 2016
    July 2016
    June 2016
    May 2016
    April 2016
    March 2016
    January 2016
    November 2015
    October 2015
    September 2015
    August 2015
    July 2015
    June 2015
    May 2015
    April 2015
    March 2015
    February 2015
    January 2015
    December 2014
    November 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    April 2014
    March 2014
    February 2014
    January 2014
    December 2013
    November 2013
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    November 2012
    September 2012
    August 2012

    Categories

    All
    Edge
    Exchange 2013
    Hybrid
    Lpe
    Lync 2010
    Lync 2013
    Mobility
    Oauth
    Office365
    Polycom
    Ucs

    RSS Feed

    This website uses marketing and tracking technologies. Opting out of this will opt you out of all cookies, except for those needed to run the website. Note that some products may not work as well without tracking cookies.

    Opt Out of Cookies