Skype Academy presents Tenant Dial Plans (Preview) Summary

So recently Tenant Dial Plans came into Preview in Skype for Business Online and Microsoft published a Skype Academy presents video on Skype Operation frameworks in their technical product training. Below is a summary and the key points i found on watching the video below.

This has for me been a long awaited feature where we can now have custom dial plans as we can do with on premises Skype for Business and Lync Server deployments. Previously SfB Online users have had dial plans assigned automatically by Microsoft which are not customisable and for basic dialling such as calling local, domestic and internationally numbers, no custom normalisation was possible which with users moving from old PBX where this was possible was being seen as a step back and being a potentially roadblock to moving to SfB Online.

What are dial plans ?

A dial plan is a named set of normalization rules that translate dialled telephone numbers by a user into E.164 (Recommended) or can be other number formats but i would always stick to E.164.

Dial Plans themselves are made up of one or more normalization rules which define how phone numbers are translated into an alternate format. Dial Plans can be assigned at given levels for on premises these can be global, site, pool and user. Looks like Online is different with merged dial plans so take note of this.

For example a user will have a dialplan and in that dial plan will be a number of normalization rules that are in affect in the SfB client when a user dials. If a user dials 01782 123456 for UK landline now SfB Online already will normalize this to +441782123456 with the default UK dial plan. Tenant Dial plans for allows SfB Online users to have more flexibility and they can define custom dial plans with custom normalization for extension dialling or local number dialling etc. I feel a very awaited feature !

Link to Video from Skype academy here

Lets go!


Great use of a scenario using Garth who plays a part throughout the video.


Garth works for Contoso

Contoso move from PBX to SfB Online

Garth comes into the Office Monday morning, signs into SfB client and dials 5551234 as he did previously with his PBX desk phone last week.


SfB Client ahs incorrectly normalized this Sad smile

Gareth hits enter and dials and it fails

Garth listens to Diagnostic announcement service which lets him know they have dialled a number incorrectly.


Garth dialled correctly as he was used to with his PBX but the number was normalized incorrectly, a user wouldn’t and shouldn’t have to know about really as its done for them in the background.

Summed up below Garth is SAD and he wished he could dial number like he used to. He’s moved from old legacy PBX phone to SfB and he cant dial like he used which gives a poor user experience from day one Sad smile


SO we need to make Garth happy again Smile here comes Tenant Dial Plans !! Wohoo !


3 Simple things to take away for this session.

Tenant Dial Plans creates support for tenant based custom dial plans in Sfb Online, these rules and dial plans, create custom normalization rules and applicable to specific USER or ENTIRE tenant.

Custom Dial Plans are still in PREVIEW and subject to change as noted below so set expectations on custom dial plans from day one with users if you are using them during the preview. This training is Feb 2017 and current at this time only.

Any Issue please log in Office 365 support portal.


Sign up for Tenant Dial Plans here and requirements to join the preview are below as well.


Tenant Dial Plans and SOF

Break into Plan, Deliver and Operations Phases of SOF.


Plan Phase

What are Tenant Dial Plans??

Based on overwhelming customer feedback, single county specific dial plans are not enough and customers want dial plan customisation that they have or had with on premise deployment for SfB Server in SfB Online. End user experience was impacted when migrated, users felt they had lost out on functionality by moving from PBX to Cloud PBX which isnt good.



  • LIMIT of 25 Normalization rules per dial plan – Key for planning !
  • Applies to Cloud PBX and Hybrid users using CCE and dial out for Cloud PSTN Conferencing !
  • No changes in routing / PSTN usages

Before Tenant Dial Plans

Very basic normalisation rules

Dial plans has always existed but were basic


Now there are two types of dial plans

  • Service – Always existed and has always been applied – CAN NOT be changed
  • Tenant – with two subset types. Default applied to all Office 365 tenants.

Tenant dial plans can be scoped in two different ways:

  • Tenant – Global – applies to all users in tenant
  • Tenant – User – applies to specific subset of users who have been granted this.


How these Dial Plans now work together


Dial plan scope / Hierarchy

Key Point – Hierarchy of Dial Plans works differently to Lync / SfB Server on premises ! Global Site Pool and User, you would apply the lowest level.

If you applied pool level and site to a user then the Pool level would apply, site is ignored completely.


For Tenant Dial plans these are merged together to come up with affective dial plans. Three different categories

1 – No tenant global plans , no user dial plan – only dial plan dialled is service country dial plan

2 – Tenant global , no user level dial plan – Merge Service level and tenant global

3 – Tenant user dial plan – ignore tenant global dial plan and merge tenant user and service country

Found this information as well taken from here

The following is the inheritance model of dial plans in Skype for Business Online.

How dial plans are inherited in Skype for Business Online.

The following are the possible effective dial plans:

Service Country If no tenant scoped dial plan is defined and no tenant user scoped dial plan is assigned to the provisioned user – the user will receive an effective dial plan mapped to the service country associated with their Office 365 Usage Location.

Tenant Global – Service Country If a tenant user dial plan is defined but not assigned to a user – the provisioned user will receive an effective dial plan consisting of a merged tenant dial plan and the service country dial plan associated with their Office 365 Usage Location.

Tenant User – Service Country If a tenant user dial plan is defined and assigned to a user – the provisioned user will receive an effective dial plan consisting of the merged tenant user dial plan and the service country dial plan associated with their Office 365 Usage Location.

Planning Steps


First off Are custom rules required ? Majority of cases this will be required as Service Country as very basic.

  • Can you use tenant global dial plan for all users and keep it simple or do you need user specific ?

No details on creating number plans recommends to look online for other content, ill added some references at the bottom of this post.

Recommendation to maintain consistency on tenant dial plan names !! Key to have a naming standard makes it easier for admins! Same with on premises. Keep it simple !

Also checkout Skype optimizer for all your Dial Plan needs and Tenant Dial plans are coming here to Smile


Have on premise deployed already then check what’s in place and also check if these are actually required or not ? Only use what you need ?

Export from on premises and import to SfB Online

Migration from legacy PBX have a look at old system and add to file to import


Tenant Dial Plans are cmdlet only (Make sure you know how to connect to your Tenant Via PowerShell) Link here

Enable UI in couple of months

Not currently supported with current Cloud PBX Certified IP Phones ! No support was required when qualifying IP Phones as tenant dial plans didn’t exist. This is being looked at in the future.

Working with Tenant Dial Plans


Table displaying scenario and cmdlets to use.

Note – using variables in the cmdlets

7 digits dialled and append +142 infront (Goes back to Garth)

Using Get-csEffectiveTenantDialPlan is a good way to check merged dial plans for users and also testing your rules using –dialledNumber

UseOnPremDialPlan must be set to False if you want Cloud PBX users to use Tenant Dial Plans.

For the PowerShell cmdlets and scripts head over to here for examples from Microsoft you can copy and paste Smile and also details on how to connect via PowerShell to your tenant which is key as there is currently no GUI for tenant dial plans.

In action – Back to Garth




Garth is happy and his normalization is fixed Smile 

Changing Tenant Dial Plan


First we look at deleting a dial plan using remove-cstenantdialplan specify the identity and apply force. Forces removal even if assigned to users. without –force you will have to ungrant it from users first (Recommended way) try not to use –force if possible.


Create input CSV, example above shows example CSV file for importing.

Use CSV in script below


There’s also an example for exporting on premises here which instead of using a CSV it uses XML. Again before exporting and just importing please review if all normalization are actually required ? also remember the 25 normalization rule limit in online as well.


Operate SOF Phase

Some useful troubleshooting information.


What to look for when troubleshooting

Run cmdlet – Get-cseffectivetenantdialplan

Open Client log file with Snooper > Search for LocationProfileDescription


Before – He was assigned Service / Country Dial plan for region

After – Dial Plan has been assigned. Effective dial plan that is combined with Service and Tenant Global. The numbers don’t match as they are merged but the start of the dial plan string is the same.




Key parts for me were

  • Merged dial plans – this is something to remember
  • Limit of 25 normalization rule per dial plan
  • New cmdlets – Using get-cseffectivedialplan is great for troubleshooting
  • No Dial plan UI currently
  • IP Phone doesn’t support tenant dial plans
  • Dial plan naming is as key online as well as on premise


More Details


Create and Manage

Skype Optimizer – Tenant Dial Plans coming soon


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.