More on Lync Inbound Normalization

A question arose from an earlier blog post around inbound normalization which I thought I would respond with a much larger post rather than just a comment.

For a great in-depth look at normalization rules check out this blog post by Jon from Time2Market here. Also the TechNet guide can be found here.For this post I am just focusing on inbound normalization configuration.

There are three options for inbound normalization in regards to granularity. Either Global, Site and Pool can be selected when creating a new dial plan. Two important points about granularity:

1 .Dial plans are not additive and neither are the normalization rules. So what I am trying to say is that inbound normalization will only happen against one dial plan and with that…

2. The most granular is the dial plan that will be used for inbound normalization. So if you create a gateway dial plan it will be used and a site or Global dial plan will be ignored for inbound normalization. Same can be said if you create a site dial plan with no gateway dial plan, in this case the global (default) dial plan will be ignored for inbound normalization and the site will be used.

Below is a diagram showing how the hierarchy works within Lync. At the pool level you have a service level dial plan specific to gateways.The service level PSTN gateway dial plan is applied to the incoming calls from a particular gateway.


Below is a great diagram that shows in detail the inbound and outbound normalization process when using a gateway service level dial plan.



Thanks to Clive for providing the diagrams used in this post.

As you can see getting inbound normalization right is pretty important and not terribly complex with Lync. There is a few important steps but once its in place it doesn’t require a lot of tending unless your inbound dialing behaviors change which means an update to your normalizations rules. At a high level it seems pretty obvious unless you have a specific need inbound normalization is best to happen at a site or global level. This simplifies your environment and centralizes your inbound normalization configuration but this may not always be possible. Infinite control of inbound normalization may be required which means gateway service level dial plans will be required.

Comments welcomed.



  1. Chris,

    We have a Direct SIP from CUCM to Lync. While I understood different level of Normalization, What I am seeing is I am not able to normalize Source number in Lync. So basically, if a user is associated with user dial plan and user is receiving a PSTN call, Caller id is not getting normalized to E.164 and hence if the number shwos up in "Frequent contacts", it is is not dialable.

    Where as if the user makes an outbound call that works fine as through user dial plan, it gets converted to E.164 format.

    Any idea how can I normalize Source number to E.164.

    This was not an issue in OCS 2007 R2 as mediation server was assigned Location profile where as in Lync all the dial plan looks like are to convert destination number and not Source number.

  2. To normalize inbound caller id you will need to apply translation rules/patterns to the caller id from CUCM. I did it based on the inbound route pattern in CUCM that was bound for Lync and prefixed +1etc,etc,etc to the caller id but I am sure there are other ways to do it in CUCM using translation patterns.



Note: Only a member of this blog may post a comment.