Lync Web App and TMG Hangs

Something I've been noticing in a few Lync (and Exchange) deployments where Forefront TMG is involved is a significant delay in loading websites through the reverse proxy. I generally use Chrome as my primary browser and noticed sites would be extremely slow to load or appear entirely unresponsive when published through TMG. This was happening to both Lync Web App and Outlook Web App scenarios so I figured the issue just had to be with TMG. After some digging it turns out the problem is Chrome because when browsing to these sites in either Internet Explorer or Firefox the pages load just fine.

The issue here is a new feature in Chrome called SSL False Start which is supposed to speed up your SSL connections. Unfortunately, the end result against sites published by TMG is they don't ever load unless the user manually refreshes the page a 2nd time. Keep in mind this applies to any SSL website published by TMG and accessed by a user with Chrome, not just Lync Web App or Outlook Web App.

There is also an issue open on Google Code about this problem, http://code.google.com/p/chromium/issues/detail?id=67617, but there is no server-side fix. At this time the only solution is to modify the Google Chrome shortcut to disable the SSL False Start feature. Just modify your shortcut to be "chrome.exe -disable-ssl-false-start" and all is well.

Lync Online Meetings Default Browser Woes

When Outlook 2010 and Lync 2010 are installed on the same system users see a "Join Online" button in calendar reminders that allows them to join a conference in Lync immediately. Users can also click the "Join online meeting" link within the meeting invitation and Lync will automatically put them in the meeting.

The way this works for IE is through the use of an ActiveX control which detects whether the full Lync client is installed by detecting the user agent string and if it matches IE, Lync is used to join the conference. For Firefox, there is a Microsoft Lync 2010 Meeting Join plugin which pulls off this detection. If neither method succeeds, the user is directed to the Lync Web App login form.

Joining through either method usually works great, but the caveat is that this only works when the user's primary browser is Internet Explorer. Let's face it, IE has come a long way, but many folks (like this guy) prefer Google Chrome or Firefox to be the default browser.

In those cases clicking the button on the reminder, or even just clicking the "Join online meeting" hyperlink within the meeting invite will cause the default browser to open and the user to be presented with Lync Web App. Since IE isn't being used the ActiveX control can't load and automatically join using Lync. This is frustrating because the desired action would instead be to use the full Lync client to join the meeting by default.

What I've found as a workaround is to use the IE Tab extension within the other browsers to accommodate Lync online meeting joins. These extensions allow you to specify URLs that if accessed through Chrome, should be rendered within IE instead. When you load one of these sites within Chrome it will detect a match and then use the IE engine to display the page. This allows the ActiveX control to detect Lync is installed and properly join the meeting.

As a user you can either define just the online meeting URL used for your organization like https://meet.confusedamused.com.* Or, since online meeting URLs defaults will probably be consistent across most Lync deployments you can use some wildcards. I recommend using https://meet.* as the address to automatically open in IE Tab. That way, whether you click a join link for https://meet.yourowncompany.com or for https://meet.confusedamused.com you'll be placed in the meeting with Lync automagically. This allows you to join conferences hosted by federated partners just as easily. Of course, if you visit some other website that matches the meet.* critera it will open in IE, but that's an annoyance I can live with.

So to get started, install the IE Tab extension for Chrome: http://www.chromeextensions.org/utilities/ie-tab

Once installed, click the little IE icon on the toolbar.

Click the second icon from the left, the little funnel (icon choices leave a bit to be desired?), to configure your matching URLs.

In the address section enter your pattern to match such as https://meet.*

Click an online meeting link and you should see Chrome begin to load the page, flip to IE tab mode, and then join the meeting with Lync. The process is slightly slower than if IE is the default browser, but the important part is that it still works.

On a related note, Mr. Elan Shudnow sitting next to me just tested within Firefox and apparently if you've also installed the Lync Attendant Console it will open automatically without any of this configuration. Good luck viewing a PowerPoint or Desktop share in that client though!

Note: Updated 1/25/2011 to correct information about IE and Firefox behavior.