Calls routed to Exchange 2010 Unified Messaging servers may be rejected due to URI parsing logic
During the development of Exchange 2010 Unified Messaging, several changes were made to the URI parsing logic for calls that are handled by Unified Messaging servers. When a call is routed to Unified Messaging server, each of the URI values contained in the SIP INVITE are extracted in an effort to resolve the identities of the calling and called parties.
The format of the URI values contained in SIP INVITE requests sent to a Unified Messaging server must match the URI type of the UM Dial Plan in order for the call to be processed successfully. When you create a new UM Dial Plan object, you are prompted to choose a URI type for the Dial Plan. The available URI options include Telephone Extension (TelExtn), SIPName, or E.164, and the URI type that is selected for the UM Dial Plan directly affects how the URI values are parsed by the UM server.
For Telephone Extension (TelExtn) type UM Dial Plans, URI values must be presented in one of the following three formats for the call to be accepted and processed by an Exchange 2010 UM server:
- Numeric extension
- Numeric telephone number
- Anonymous
There are certain IP PBXs and VoIP gateway devices which are known to send SIP INVITE requests containing a user name value in the URI of the From header (sip:user@192.168.1.101… ) and an extension value in the URI of the To header (4001@192.168.1.102… ). While Exchange 2007 Unified Messaging servers have traditionally accepted this type of SIP INVITE, the URI parsing logic in Exchange 2010 Unified Messaging will reject the call with the following error:
Unified Messaging server rejected an incoming call with the ID “27759cc8116497b61a94b38b7719e731@192.168.1.101".
Reason: The Unified Messaging server has received an incoming call with a SIP URI "sip:user@192.168.1.101" that is not valid for dial plan “TelExtnDialPlan”.
To determine whether you are impacted by this issue, increase the Diagnostics Logging level for UMCore from Lowest to Expert using either the Exchange Management Console or the Exchange Management Shell. Next, place a call to the Subscriber Access number of the Unified Messaging Dial Plan. Finally, open the Application Log on the Unified Messaging server, and search for Event ID 1004.
Although this article describes the default behavior for processing URI values in the initial release of Exchange Server 2010 Unified Messaging, it is expected that the URI processing logic will be updated to accommodate non-numeric URI values in a future Roll-Up or Service Pack release.
At the moment, there are three known workarounds for this issue, listed as follows:
- Configure the IP PBX or VoIP gateway to provide an anonymous URI value (Anonymous)
- Configure the IP PBX or VoIP gateway to provide a numeric URI value (60001)
- Configure the IP PBX or VoIP gateway to prefix a non-numeric URI value with a numeric digit (1user)
As always, I hope this helps!
-- Dave