I was working with a customer recently and we came across some interesting wording in KB article 981218 that led to some confusion around the setting required to disable RTCP timers on the Gateway side of the Mediation Server. The article shows the setting as “true” in the example, later in the article it states that setting it to true will enable session timers which when reading the article isn't very clear and provides no example of this other setting. The misleading statement:
“If the file does not exist, the default setting for GatewayIgnoreMediaTimeout is set to False. If the Mediation Server is set to ignore media timeouts for its gateway side, the Mediation Server will automatically enable session timers for its interactions with its gateway side peer. If the session timers expire, the call will automatically be cleared. If the Mediation Server has to ignore media timeouts for the gateway side interactions of the Mediation Server but the session timers does not been enabled, a configuration file setting is used. This configuration file setting is called GatewaySessionTimer. This setting contains one of two values: True or False. A False value disables session timers for gateway side interactions.”
This statement should read:
"If the file does not exist, the default setting for GatewayIgnoreMediaTimeout is set to False.
If the Mediation Server GatewayIgnoreMediaTimeout (RTCP) is set to True the Mediation Server will automatically enable session timers (SIP) for its interactions with its gateway side peer. If the session timers expire, the call will automatically be cleared as per the default behavior. The session timer will expire after 1800 seconds (30 minutes) by default. This configuration file setting to change the default behavior is called GatewaySessionTimer. This setting contains one of two values: True or False. A False value disables session timers for gateway side interactions."
Confused yet. Just to recap why this setting is used. The issue we were trying to solve was with Cisco Unity when you are recording a voicemail message, Unity does not send RTCP packets and therefore the recording stops at 30 seconds when the Mediation server RTCP timers time out. Now that this is disabled a session timer which was previously disabled is now enabled by default. This means that calls between a Cisco IP Phone and Communicator will drop after 30 minutes if the session timer is not disabled. Also see my previous post on the topic for more information.
The error for the RTCP issue from the Mediation server looks something like this:
CSEQ: 1 BYE
VIA: SIP/2.0/TLS 18.104.22.168:1620;branch=z9hG4bK8941dab2
USER-AGENT: RTCC/22.214.171.124 MediationServer
Ms-diagnostics: 10011;source="Server.RTCTEST.TL.CONTOSO.COM";reason="Media Gateway side stream timeout";component="MediationServer"
To fix this issue the following steps need to be taken:
Step 1: Patch Mediation Server according to http://support.microsoft.com/kb/977937/
Step 2: Alter MediationServerSvc.exe.config file to include the new settings:
<?xml version="1.0" encoding="utf-8" ?>
<add key="forwardDisplayName" value="True" />
<add key="GatewayIgnoreMediaTimeout" value="True" />
<add key="GatewaySessionTimer" value="False" />
I have left in the “forwarddisplayname” setting as an example to show how to apply the change when other settings already exist in the file. If the file does not exists you will need to create it as the default setting is false.
Step 3: Reboot mediation server to have setting take effect.
Thanks to Mike D (you know who you are),Nemo and Anon for testing and validating the configuration.
Apologies to all those that read this article and were lost or confused. Hopefully these corrections have cleared the air.