Exchange 2010 Unified Messaging SP1, UM rejects incoming call from gateway

In Exchange 2010 UM SP1 we have changed our platform to UCMA. We are now doing more checks on incoming SIP requests to make sure it is compliant and to avoid any undesirable effects. As a result, an invalid end quote will cause a request to be denied by UM. This is a by design feature of SP1. The offending gateway will need to address the issue. In the below example, the gateway is adding the same diversion header twice, which does not seem necessary. Secondly, the diversion header format for display name is incorrect, it has a double end quote.

 

Symptoms

Event Error that is generated on Exchange 2010 UM SP1 server:
Event ID: 1021
The Unified Messaging server rejected an incoming call with the ID 82e08200-c7d109fd-f6246-1602010a@xxx.xxx.xxx.xxx. Reason: "Invalid Route header: mismatched character: expected: "", found: "EOF""

 

Cause

Diversion header value ends with two quotes, this is causing a parsing exception in the UM server.
Diversion: " Jane" " <sip:65514@xxx.xxx.xxx.xxx>;privacy=off;reason=no-answer;screen=yes

Below is the actual SIP packet for the TCP stream of the VoIP call.
INVITE sip:23000@xxx.xxx.xxx.xxx:5065;transport=Tcp SIP/2.0
Date: xxx
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
From: "Doe, John" <sip:62900@xxx.xxx.xxx.xxx>;tag=1bc617fd-90a9-46cc-b09d-b00756bde849-61466154
Allow-Events: presence
P-Asserted-Identity: "Doe, John" <sip:62900@xxx.xxx.xxx.xxx>
Supported: timer,resource-priority,replaces
Min-SE:  1800
Diversion: "Doe, Jane"<sip:65514@xxx.xxx.xxx.xxx>;privacy=off;reason=no-answer;screen=yes
Diversion: " Jane" " <sip:65514@xxx.xxx.xxx.xxx>;privacy=off;reason=no-answer;screen=yes
Remote-Party-ID: "Doe, John" <sip:62900@xxx.xxx.xxx.xxx>;party=calling;screen=yes;privacy=off
Content-Length: 206
User-Agent: Cisco-CUCM7.0
To: <sip:23000@xxx.xxx.xxx.xxx>
Contact: <sip:62900@xxx.xxx.xxx.xxx:5060;transport=tcp>
Expires: 180
Content-Type: application/sdp
Call-ID: 73286400-c7d14b51-f6751-1602010a@xxx.xxx.xxx.xxx
Via: SIP/2.0/TCP xxx.xxx.xxx.xxx:5060;branch=z9hG4bK1419d12da18370
CSeq: 102 INVITE
Session-Expires:  1800
Max-Forwards: 70

Graph Analysis of VoIP call:
|Time  |  00.0.0.00                             |
|         |                   | 00.0.00.00        |                   
|25.174   |         INVITE SDP ( g711U telephone-event)          |SIP From: "Doe, John" <sip:62900@xxx.xxx.xxx.xxx To:<sip:23000@xxx.xxx.xxx.xxx
|         |(34715)  ------------------>  (5060)   |
|25.175   |         100 Trying|                   |SIP Status
|         |(34715)  <------------------  (5060)   |
|25.215   |         302 Moved Temporarily          |SIP Status
|         |(34715)  <------------------  (5060)   |
|25.217   |         ACK       |                   |SIP Request
|         |(34715)  ------------------>  (5060)   |
|25.218   |         INVITE SDP ( g711U telephone-event)          |SIP From: "Doe, John" <sip:62900@xxx.xxx.xxx.xxx To:<sip:23000@xxx.xxx.xxx.xxx
|         |(34716)  ------------------>  (5065)   |
|25.219   |         100 Trying|                   |SIP Status
|         |(34716)  <------------------  (5065)   |
|25.259   |         403 Forbidden                 |SIP Status
|         |(34716)  <------------------  (5065)   |
|25.261   |         ACK       |                   |SIP Request
|         |(34716)  ------------------>  (5065)   |

 

Resolution

This is a by design feature of SP1 and the gateway (Cisco-CUCM7.0) vendor needs to address the issue.