Background
Recently I implemented a dedicated Lync Mediation server with two NIC’s. In this case I had to use a dedicated Mediation server because the IP Trunk provider was direct SIP. The Mediation server came with one NIC in the server subnet and the other NIC in the telephony subnet.
The problem
After implementing the Lync Topology correct and validated ok, we had one way audio with PSTN calls or no audio at all. All the calls got connected though. I started deep diving into logs and network configuration. While searching the web I found some very good articles about this regarding OCS 2007 R2. I found that there is little or no change in how to configure the Lync Mediation server versus configuring the OCS Mediation server network vise.
The Symptoms
During troubleshooting I saw the following errors:
- Event ID 25073
- The Mediation Server service has received a call that does not support comfort noise from the Gateway peer
- In the SDP packet on the gateway side we saw that RTP traffic was proposed to go over the server subnet IP and not the Gateway subnet IP
- No audio could be established because of routing issues
- RTP traffic from the gateway came from an other IP than the SIP IP
- The Gateway had a media proxy with a different IP than the SIP IP
Reading material
I found these article good reading during the troubleshooting
OCS Mediation Server NIC Configuration: http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=55
Forum discussion about two NIC’s in same subnet: http://social.microsoft.com/Forums/en/communicationsservertelephony/thread/6abb5010-5fd3-4940-8b91-0d2b0184a9fe
Communications Server Mediation Server: Dual NIC Issue: http://technet.microsoft.com/en-us/library/ff518437.aspx
The solution
Make sure the following is true
- Default gateway is only configured on the NIC in the server subnet, under IPv4 IP configuration
- Use no default gateway on the Voice Gateway NIC
- Make sure that the Voice Gateway NIC is on top when running ipconfig
- If its not, make it so
- Add static persistent routes for both the SIP and RTP IP against the correct NIC id
- route ADD 77.88.99.80 MASK 255.255.255.255 10.150.80.241 IF 13 -p
- route ADD 77.88.99.83 MASK 255.255.255.255 10.150.80.241 IF 13 -p
- I was also considering the Strong Host model, but that is when several NIC’s need to share a default gateway, don’t think it applies here
- but just in case, here is the commands to disable it
- netsh interface ipv4 set interface 13 weakhostsend=enabled
- netsh interface ipv4 set interface 13 weakhostreceive=enabled
- Read this article to learn more about it: http://blogs.pointbridge.com/Blogs/schertz_jeff/Pages/Post.aspx?_ID=78
- but just in case, here is the commands to disable it
Conclusion
In this case it was the missing route to the RTP media proxy IP that was missing. The symptom of the calls being established but no audio is evidence of that SIP traffic is going through ok, but RTP traffic is not being routed correct. The wrong IP being suggested was also evidence towards routing issues. Adding the missing route solved the problem. The Event ID 25073 also disappeared when the routing issue was resolved.
Regarding dedicated Lync Mediation Servers they should have a single NIC when the Voice Gateway is in the same subnet as the Lync Server themselves. Two NIC’s should only be considered when they can be placed in totally different subnets.
Great conclusion, Technet is not exactly 100% crisp on this subject.
[…] Dedicated Lync Server 2010 Mediation Server with two NIC’s: https://msunified.net/2011/02/22/dedicated-lync-server-2010-mediation-server-with-two-nics/ […]
[…] Dedicated Lync Server 2010 Mediation Server with two NIC’s « msunified.net Posted on April 26, 2011 by johnacook https://msunified.net/2011/02/22/dedicated-lync-server-2010-mediation-server-w… […]
Just an FYI, since Lync works on Windows 2008 and/or Windows 2008 R2, you should be using netsh for static routes, not route add.
http://blogs.technet.com/b/timmcmic/archive/2009/04/26/windows-2008-multi-subnet-clusters-and-using-static-routes.aspx
“With Windows 2008 and Windows 2008 R2 the recommendation to manage static routes has changed. Although route add should work the management of routes has technically been replaced with functionality in netsh. Therefore, it is a recommendation that the netsh commands be utilized to implement and manage static routes.”
Ok, thanks for the heads up :)
I wonder why this “Event ID 25073 no comfort noise” issue has anything to do with missing routing? Or this Event ID was just to mislead us, because not only comfort noise packets, but also other RTP packets were not received as well. In which case the error message is partially correct: mediation didnt receive comfortnoise packets from GW, but no other sounds packets as well.
The Event ID 25073 was more a sympton than a cause in this case, since no RTP packet arrived, it was thrown. Following leads from this Event ID pointed me in the right direction.
Thanks for commenting :)