Forum Discussion
mmartin1935
Dec 06, 2023Copper Contributor
Dialing by Extension
I'm having trouble finding an answer on this. I know this question has been asked before, but lots of things I'm seeing are pointing to Skype Business or users coming from Skype to Teams Phone, etc.....
- Dec 08, 2023How many people are you talking about having extensions and numbers different than their DID?
You could create a number normalization rule that normalizes 4 digits to the full phone number, you'd just end up with 1 rule for each person that has a different DID/extension.
New-CsVoiceNormalizationRule -Name BobsExt -Description "Bob's Extension to DID" -Pattern '^1122$' -Translation '+15555555555;ext=1122'
New-CsVoiceNormalizationRule -Name SarahsExt -Description "Sarah's Extension to DID" -Pattern '^2211$' -Translation '+15555554242;ext=2211'
If you put the numbers in a spreadsheet/csv it wouldn't be hard to use some PowerShell to loop through the list and then push it into Teams.
Another option, though not sure if it's available yet, is Teams Private Numbers. Assign a static phone number with the extension as a private number, then your normalization rule is simplified:
New-CsVoiceNormalizationRule -Name ExtensionMatch -Description "Extension Normalization" -Pattern '^(\d{4})$' -Translation '+15555555555;ext=$1'
mmartin1935
Dec 07, 2023Copper Contributor
HelloBenTeoh Thanks for the reply. Unfortunately the user's DID numbers and their extensions are completely unrelated... Since we're bringing in these extensions from our original Cisco phone system, then Zoom and now Teams. Some of the higher-ups still like to dial by extensions, which is why we're attempting to get this working.
I noticed in the normalization rules, when you choose advanced. You have the ability to use a REGEX. I'm guessing there's no way to somehow use a REGEX to match the "ext=xxxx" portion of the TelephoneNumber attribute?
So if that's not possible. Is the ONLY way you can direct dial an extension is if you can somehow match that to a portion of the user's full DID telephone number? Otherwise, it needs to be an Auto-Attendant?
Thanks Again,
Matt
I noticed in the normalization rules, when you choose advanced. You have the ability to use a REGEX. I'm guessing there's no way to somehow use a REGEX to match the "ext=xxxx" portion of the TelephoneNumber attribute?
So if that's not possible. Is the ONLY way you can direct dial an extension is if you can somehow match that to a portion of the user's full DID telephone number? Otherwise, it needs to be an Auto-Attendant?
Thanks Again,
Matt
jangliss
Dec 08, 2023Iron Contributor
How many people are you talking about having extensions and numbers different than their DID?
You could create a number normalization rule that normalizes 4 digits to the full phone number, you'd just end up with 1 rule for each person that has a different DID/extension.
New-CsVoiceNormalizationRule -Name BobsExt -Description "Bob's Extension to DID" -Pattern '^1122$' -Translation '+15555555555;ext=1122'
New-CsVoiceNormalizationRule -Name SarahsExt -Description "Sarah's Extension to DID" -Pattern '^2211$' -Translation '+15555554242;ext=2211'
If you put the numbers in a spreadsheet/csv it wouldn't be hard to use some PowerShell to loop through the list and then push it into Teams.
Another option, though not sure if it's available yet, is Teams Private Numbers. Assign a static phone number with the extension as a private number, then your normalization rule is simplified:
New-CsVoiceNormalizationRule -Name ExtensionMatch -Description "Extension Normalization" -Pattern '^(\d{4})$' -Translation '+15555555555;ext=$1'
You could create a number normalization rule that normalizes 4 digits to the full phone number, you'd just end up with 1 rule for each person that has a different DID/extension.
New-CsVoiceNormalizationRule -Name BobsExt -Description "Bob's Extension to DID" -Pattern '^1122$' -Translation '+15555555555;ext=1122'
New-CsVoiceNormalizationRule -Name SarahsExt -Description "Sarah's Extension to DID" -Pattern '^2211$' -Translation '+15555554242;ext=2211'
If you put the numbers in a spreadsheet/csv it wouldn't be hard to use some PowerShell to loop through the list and then push it into Teams.
Another option, though not sure if it's available yet, is Teams Private Numbers. Assign a static phone number with the extension as a private number, then your normalization rule is simplified:
New-CsVoiceNormalizationRule -Name ExtensionMatch -Description "Extension Normalization" -Pattern '^(\d{4})$' -Translation '+15555555555;ext=$1'
- mmartin1935Dec 08, 2023Copper ContributorThanks for the reply!
Yea, this could probably be the most feasible option since I am able to script it out with Powershell.
Do we know if there's a limit on total number of Normalization Rules?
Could there be any drawbacks to having 150 or so Normalization Rules?
Thanks Again,
Matt- DeletedDec 09, 2023
Hello mmartin1935
Microsoft now enforces the rule that there can be no more than 50 normalization rules in a given dial plan.
Reference article: https://learn.microsoft.com/en-us/microsoftteams/what-are-dial-plans#:~:text=Microsoft%20now%20enforces%20the%20rule,in%20a%20given%20dial%20plan.If I have answered your question, please mark your post as Solved
If you like my response, please give it a Like
Appreciate your Kudos! Proud to contribute! 🙂
- mmartin1935Dec 12, 2023Copper ContributorThanks for the reply. Hmm that's unfortunate. But, we have a few locations, only one of which would put us over 50 normalization's in order to include everyone... So I think for that location, if I only included the ones that this is important to them, then I think we should be ok.
I also created an Auto-Attendant that will do dial-by-extension. So I think that should cover the rest of the people. For this AA. I modified the dial plan so that if you dial a "9" it'll reach this AA and people can then dial the extension + # and get transferred to the correct user.
If I wanted to assign an Extension to an Auto-Attendant or a Call Queue, I would just configure the Resource Account user's "TelephoneNumber" the same way I would a regular User, i.e. "+15551234567;ext=3000"
Thanks Again,
Matt