Exchange UM Architecture Part 1 of 2



This article is about exploring what are the main components of Exchange Unified Messaging platform (UM) and how call routing and voice mail features really work behind the scenes.

 Exchange UM Components

  1. UM Dial Plans
  2. UM Messaging Policies
  3. UM IP Gateways / UM Hunt Groups
  4. UM Auto Attendants

 What is Exchange Dial Plan?

Dial plans is the main and most important component in Exchange UM infrastructure. It has any usages, so will try to list them here.

UM dial plans 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.

UM dial plans controls the length of user extension, in our case the extension length is four digits. Going back to the previous point, my extension can be 1222, and another one say in Dubai could have the same extension, if he is located in different dial plan. This is why we are designing UM dial plans to match Skype/Lync dial plans. So we have a UM dial plan called LOC801 for GSO and a Skype dial plan called LOC801 for GSO. We also have UM dial plan called LOC803 for DXB, and Skype dial plan called LOC803 for DXB. If we did not do that, and we have just one UM dial plan for the whole network, then my extension number (1222) cannot be assigned to anyone else in the whole network.

So why 4 digits and not 7 digits like 801 1222? If we make it 7 digits then we can put the whole company in one big fat dial plan and no way we would have collisions in extension because we are adding the 80X prefix to indicate the region. There are two reasons for that:

  • If the 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 +96265515111 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.
  • Second part, if we put all people in the same dial plan, then we loose customizations needed for each office, like default language for greeting, dialing habits, and more. So suppose we have one big dial plan and the default language 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). Assuming that the dial plan default language is English, trying to handle French voice mail to English words would be really interesting.

So UM dial plans defines number of extensions, and provides the ability for two people to have same extensions if they are in different dial plans.

Dial plans are unit of applying policy, 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, dial plans are mainly used for routing calls, 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 located 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.

This article is now hosted on my new blog platform here:

Exchange UM architecture and Exchange UM dial plan

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s