Lync 2013 Trunks and EnableFastFailover

This post was inspired by a troubleshooting session that happened just before the long Memorial Day Weekend here in the states. We had just moved our pilot users over to our Lync 2013 pool a day before when they started reporting issues calling certain numbers. What was interesting was not all calls were failing. Only international calls and a few mobiles were failing. National calls were working fine. Nothing changed call flow-wise so it had me a bit stumped.

To properly set the background, our calls were going from Lync to a Cisco voice gateway and then out an E1 to the carrier.  We tested a call from Lync 2010 and the call would succeed:

2010_Successful_Call

You can see at about 14 seconds into the call we get back our first 200 Ok. Next, here is a call from Lync 2013. User has all of the same voice policies, dial plan, routes, etc.

2013_Failed_Call

We dug our heels in and got the Cisco guy on the line and he watched what was being sent to the carrier and he didn’t see anything wrong but kept seeing Lync send a Cancel so the call would fail. What you don’t see in the above image is that we would start trying to hit the backup voice gateway which only becomes active if the first doesn’t work.

Well, it took longer than I would like to admit before we all noticed the call was failing at exactly 10 seconds everytime. Consistency like this is never coincidence. I started looking at the trunk configuration settings in Lync 2013 and lo and behold, I found this:

EnableFastFailoverTimer Optional Boolean When set to True, outbound calls that are not answered by the gateway within 10 seconds will be routed to the next available trunk; if there are no additional trunks then the call will automatically be dropped. In an organization with slow networks and gateway responses, that could potentially result in calls being dropped unnecessarily.

The default value is True.

We set the EnableFastFailoverTimer to False and our calls started to go through. It appears that this particular carrier was just taking a long time to setup International calls along with certain mobiles.

So, how did we set it? We used:

Set-CsTrunkConfiguration -Identity "our site specific trunk" -EnableFastFailoverTimer $false"

We could have also done it via the Lync Management Console by unchecking Enable outbound routing failover timer check box in the Trunk Configuration:

FastFailoverTimer

comments powered by Disqus