Exchange UM Architecture
This blog post is talking about Exchange UM architecture and components. We will be exploring how Exchange UM dial plan links everything and helps in call routing. I will start by talking about the main components of Exchange unified messaging, and then go deep and explain in great details each of its components. Finally, we will talk about call routing and how things happen behind the scenes. In other blog posts, I will be talking about Exchange UM voice mail, and how call routing.
We will start by listing the Exchange UM components are:
- UM Dial Plans
- UM Messaging Policies.
- UM IP Gateways / UM Hunt Groups.
- UM Auto Attendants
What is Exchange UM Dial Plan?
Exchange UM Dial plan is the main and most important component in Exchange UM infrastructure. It is used extensively inside Exchange unified messaging and understanding Exchange dial plans will make it easy for you to figure out how everything works, and how call routing happens behind the scenes.
Exchange UM dial plan acts from one side like telephony dial plans. They are used in unified messaging to make sure that user telephone extensions are unique. You cannot have two similar extensions in the same dial plan, but you can if they are in different dial plans.
Moreover, Exchange UM dial plan controls the length of user extension, so you can say that extensions belonging to a specific dial plan should have four digits. So, if my extension is 1222, then John from the NYC office could have the same extension, if he is in different dial plan.
If you have Skype for Business infrastructure, you would usually match the Skype dial plans with Exchange unified messaging dial plans, but this is not required.Like in Skype for Business dial plans, if everyone is hosted in the same Skype dial plan, then the extension number (1222) for example, cannot be assigned to two different persons. But if we have a Skype dial plan for London office and another one for NYC office, then John in London office can have the extension 1222, while Kate from NYC office can have the same extension 1222.
Think about it like the DNS system. Inside the same DNS domain, you cannot have two entities with the same name, but if they are in different DNS domains, then this is possible. In other words, you cannot have two machines called Server1.contoso.com, but if they belong to different DNS domains, then one machine can have the name Server1.contoso.com while the other can have something like Server2.fabrikan.com.
An Exchange UM dial plan and Skype for Business dial plan are different, but logically related. The best way to think about this, that if you already invested time planning your Skype for Business dial plans, then it makes sense to create Exchange UM dial plans the same way you did in Skype for Business. Read more to learn when you should create different set of dial plans for Exchange UM.
Planning your Exchange UM dial plans
The most important piece in Exchange UM architecture is the Exchange UM dial plan. Understanding Exchange UM architecture will help you plan a head and avoid common mistakes.I know someone who is planning dial plans for Skype and Exchange UM, and his company has 4 different offices. He wants people to have 4 digits extension numbers, and the same extension can be used in each office. So, for example the extension 1222 can be assigned to a person in LON office and NYC office.What he did, is creating one dial plan for Skype and one for Exchange UM. For each Office, he assigned a prefix like 801 to indicate LON office, and 802 to indicate NYC office.
He simply makes his one fat dial plan configured as 7 digits extension. So, a person in NYC can have extension 802 1222, while a person in LON will have an extension 801 1222. Both persons have the 1222 extension, and by extending the length of the dial plan digits from 4 to 7, he solves the problem of extension uniqueness across offices.This might look smart, but there are many reasons why it is better not to go with this approach and allocate a separate dial plan per office for example.
There are many settings attached to the Exchange dial plans in Exchange UM, and by putting everyone in one big dial plan, you lose the luxury of assigning different Exchange UM settings per office (like default language for greeting, dialing habits, and more).
Let us get back to the case where you have one big Exchange UM dial plan and the default language assigned in that dial plan is English. Now imagine in France office someone is leaving voice message in French, and Exchange UM tries to generate voice mail preview (speech to text). If the Exchange UM dial plan default language is English, trying to handle French voice mail to English words would be interesting.
Note: If the Exchange UM dial plan number of digits is = X, then Exchange will try to take the last X digits from the user’s phone number and will assume that this is his extension. For example, my phone attribute is +9626 5525222 x 1222, So Exchange UM will try to take the last X digits and put it as my extension, unless we manually assign the extension number for the user during his UM provisioning. Saying that, it makes sense to make the number of digits as 4 and not 7, since the last 7 digits of my phone number does not read 801 1222.
In Exchange UM architecture, the Exchange UM dial plan is the unit of applying policies, so we can say, “prevent people to make outgoing calls to people outside this dial plan”. You know, one feature of Exchange UM is giving users the ability to dial out, like for example, play my voice message on my phone.
Moreover, Exchange UM dial plan is also used for routing calls between Skype and Exchange UM, because UM servers are linked to dial plans. Suppose the case where Skype servers wants to leave a voice mail for user John Smith, Skype will try to locate the dial plan for John, and see which UM servers are serving that dial plan, and then open SIP Invite to one of those UM servers serving that dial plan. Without dial plans, there is no way Skype would know how to route calls.
Also, the Exchange UM dial plan is where you define the outlook voice access number so that users in that dial plan can call that number, and access their email and voice messages.There are so much to configure through dial plans, but the most important piece of information, is how dial plans are used to route voice messages between Skype and Exchange. It is the way Skype would know where to deliver the voice message.
Tip: UM Dial Plan name should not contain spaces, and you cannot rename an Exchange UM dial plan, even if the wizard allows this. You should delete and re-create the dial plan all over if you want to rename it.
In previous Exchange UM architecture, UM Dial Plans were associated with Exchange UM servers, but with Exchange 2013 and above, any Exchange UM server can accept a call from any defined UM IP gateway. Also, previously Lync/Skype dial plans were supposed to match the names of Exchange UM dial plans, but this not a requirement anymore with Exchange 2013 and above.
UM Messaging Policies
Another component and essential part of Exchange UM architecture is the UM Messaging Policy. UM messaging policy is the container that links a user to a dial plan. When you provision a user in Exchange UM, you will be prompted to enter a UM Messaging Policy, and not a dial plan.
A dial plan in the other hand, is linked to a UM messaging policy, so that by assigning a user to a UM messaging policy, he will be assigned to a dial plan.
UM messaging policy is a place where many policy controls can be defined, like PIN length and settings. PIN is used mainly when accessing Outlook Voice Access or OVA. PIN is becoming like your credential, because knowing the user’s PIN and his extension, then you can authenticate to OVA and access the user’s mailbox.
UM IP Gateways / UM Hunt Groups
UM Hunt Groups are not used anymore and are not a key part of the Exchange UM architecture anymore. They are just there for backward compatibility. UM IP Gateway is away to make Exchange UM aware of IP gateways that can be used when dialing out. Those are mainly the Skype servers if you have Skype for Business implementation.
Again, let us remember that Exchange UM can dial out. For example when you want to read your voice mail and you do not have computer speakers, so you can Play on Phone and ask Exchange to call you mobile, and read the voice message for you. To do that, Exchange UM needs to know where to route the outbound calls.
UM IP Gateways are attached to the UM dial plans, so that we can in away link specific users to specific gateways. Say for example people in UK are configured with a specific UM dial plan, and you want them only to use UK gateways for dialing out. This can be done by configuring that UM dial plan with only UK gateway.
Usually we do not create UM IP gateways manually, but we use an Exchange script called EXUcUtil.ps1 to do that for us. It will discover all Skype servers and configure them as IP gateways in Exchange UM.
UM Auto Attendants
This is interesting piece in the Exchange UM architecture, as it is a complete solution by itself. We can configure different auto attendants with different greeting and languages and route a DID number to those auto attendants per region. So for example you can call +9626123456 and this number will be routed to Exchange UM Jordan Auto Attendant, play some greetings, and then we will do what we call branches, like press 1 to go to operator, or just dial the extension number if you know it.
Exchange automated attendant objects are stored under CN=UM AutoAttendant Container, CN=orgName, CN=Microsoft Exchange, CN Services. Also Dial plans are stored here.
How everything work together?
The heart of everything in the Exchange UM architecture is the UM Dial Plan. This UM Dial plan has nothing to do with Skype dial plan. Names even can be different.
UM Dial Plan is the unit of applying policy and routing calls. It links everything together. When you enable mailbox user for Exchange UM, you will be prompted to what UM Mailbox Policy you want to assign him, so end users are assigned a UM Mailbox Policy and not a dial plan directly.
Each UM Mailbox Policy is linked to a Dial Plan. Dial Plan can have many UM Mailbox Policies attached to it, but a UM Mailbox Policy can only be attached to one Dial Plan.
So why UM Dial Plan can have more than UM Mailbox Policy? Suppose you have LOC801 dial plan for NYC office, and you want part of the users to be able to dial out via UM while others cannot.
You create two UM mailbox policies, one that can dial out and one that cannot, but both are within the same UM Dial Plan. That is why users are assigned to UM Mailbox Policy when enabling someone for UM, and to not to a UM Dial Plan.
A good example of dialing out, is that you have configured Call Answering Rules in your OWA, so that when someone reaches your voice mail, you can give him the option “for urgent matters to press 1” and then let UM to dial out your mobile number.
Dial Plan also is attached to one or many Exchange UM Servers. This makes Skype servers know where to route the calls. Say that Skype wants to leave a voice mail to Bob, and the want to locate a UM server, to deliver that voice mail. Skype servers will check the UM Dial Plan that Bob is assigned to from Bob AD object, then it reads the UM Dial plan definition from AD Configuration Partition, and then will list all UM servers attached to that Dial Plan, and it will pick one and route the call to it.
Also, this makes things interesting for load balancing, say you have 12 UM servers and two UM dial plans, you can attach 6 UM servers to each dial plan, thus load balancing the traffic between the UM servers.
Unified Messaging hunt groups act as a connection or link between the Unified Messaging IP gateway and the Unified Messaging dial plan. Therefore, a single Unified Messaging hunt group must be associated with at least one Unified Messaging IP gateway and one Unified Messaging dial plan. This is needed when there is a need to dial out like for example when you use the Play on Phone for the voice mails you receive.
We talked about Exchange UM components, and Exchange UM architecture in great details here. Exchange UM is a rich product, as it offers Exchange UM voice mail, Outlook voice access, Auto-attendant and more features.
- Exchange UM TechNet Reference.