Over the past few months we have seen an increase in number of interop cases with Exchange 2010 Unified Messaging (UM) and Cisco Call Manager 7.0 (Configuration Notes) and 8.0 (Configuration Notes) (CCM). In this article I am going to talk particularly about one case that has seen the most hits which has also been pointed out in the configuration notes.
During migration from UM 2007 to UM 2010 the UM design requires that CCM is pointed directly to UM 2010 for Outlook Voice Access\Subscriber Access. In this co-existence scenario, UM 2010 will transfer the call to UM 2007 if the mailbox happens to reside on 2007 and users are able to access their mailboxes. There are two ways in which the transfer could be achieved - Re-Direct or Transfer. In SIP world this translates to the following messages -
Re-Direct - 302 Moved Temporarily (using the Contact header)
Transfer - REFER (using the Refer-To and Referred-By header)
Whether UM 2010 uses Re-Direct or a Transfer to move the call to UM 2007 depends if or not it was able to resolve who the user was. If it is able to resolve the user and find the mailbox UM 2010 does a Re-Direct, if it is not able to resolve the user to a mailbox it does a Transfer.
So what is the problem?
CCM does not completely work well with RFC 3515. This RFC defines the call transfer mechanism using REFER.
User behavior would be like this -
Solution -
The technical challenge is that if UM 2010 is not able to resolve the user, it has to answer the call and then prompt the caller to authenticate. A SIP call that is answered cannot be redirected and has to be transferred using REFER.
To understand the Caller ID resolution mechanism in UM 2010 go to this article. The article also points out a number of ways you can resolve caller id. Any of the mechanisms listed in the article - Pattern Matching, AD changes, Heuristics could be used to avoid this issue.