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 -
- User calls in to UM to access the mailbox,
- UM 2010 tries to resolve the user using the From header in SIP message,
- If UM 2010 is not able to resolve the user to a mailbox, the caller will be prompted to authenticate using extension and pin information.
- If UM 2010 sees this mailbox is actually residing on UM 2007 it has to transfer the call to UM 2007. This is done using the REFER method and the extension information is included in the Referred-By header.
- CCM, when configured properly, uses the Refer-To header information from the SIP REFER message to connect to UM 2007, however doesn’t include the Referred-By header which includes the extension information.
- UM 2007 answers the call and does not see the Referred-By header, thus prompts the caller again to authenticate
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.