In W12/W13 ExUMRouting will route a call to voice mail to all the UM servers that support a given UM dial plan in a round robin fashion. When upgrading from Exchange 2007 SP2 UM to Exchange 2010 this is an issue, because an Exchange 2007 SP2 UM Server can’t communicate with an Exchange 2010 mailbox store. This has forced customers to create new UM dial plans specifically for Exchange 2010 and only have those dial plans supported by Exchange 2010 UM servers. This results in end-user and administrative pains, since moving to a new dial plan requires a new PIN and creating new um dial plans requires new pilot numbers.
In Lync Server 2010 ExUMRouting has been enhanced to also use the version of the UM Server supporting a dial plan, when routing the call. The way it works in a high-level is the following:
FOR all UM Servers supporting UM dial plans of type SIP
THEN get the majorVersion of the UM Server, where majorVersion = (<ExchangeAD Server Object>.versionNumber >> 22) & 0x3F
WHEN a call comes in destined to Exchange UM
Create a list of all UM servers of the highest version supporting the dial plan
Send the call to those UM servers in a round robin fashion
If none of these UM servers replies drop the call
The majorVersion is 8 for Exchange 2007 and 14 for Exchange 2010.