Sometimes, just sometimes Google or Bing are not your friend. I was struggling with an issue this weekend while we were doing a Lync 2013 to Skype for Business migration.
While everything else was working we were trying some edge scenarios, and the one I never thing to try is hitting Skype for Business with the Web Application. The Web Application in my opinion has been the ugly step child of Lync and now Skype for Business. It’s useful, and it is pretty…but it doesn’t work in all browsers (Chrome being one) so it’s often more trouble than it is worth. Anyways in this issue we were able to start meetings and everything was working fine through the Edge server using the SFB client, however; when we tried using the Skype for Business Web App for meetings we would get a 404 error. The tell was in the error. It was producing a URL that we only used internally. Ok so to troubleshoot this issue there is something you need to know about how Skype for Business and formerly Lync separates traffic. The Lync client will join a meeting using the meet URL then route the rest of the traffic through the Edge server. The Web App will hit the meet URL then look for another published web site called Lync web over the reverse proxy. This is where the issue became easy to troubleshoot, if we are not getting an external URL after we try the meet url we know that there must be something going on with either the reverse proxy URL or something in the Lync topology that is published incorrectly. This issue is a DNS through and through.
- Checked my reverse proxy, I suspected there wasn’t an issue here because there is no way the reverse proxy would substitute in an internal DNS entry. The 3 entries I published I was very comfortable with (meet, lyncdiscover, lyncweb)
- Check DNS and make sure that everything was pointing to my new front end, again this was just a thorough check. I knew this wasn’t the issue because the 404 was telling me that IE couldn’t find the internal URL of my SFB pool (quite correctly)
- Something in the topology
Yes I did save the solution until the end.
As you can see by the following picture. I fat fingered the External web services URL and I put the internal Front End pool URL. The URL that should have been in here is lyncweb.company.com. I spent an hour tired and frustrated on bing and google and I did find some very similar issues, but they did not help me and just drew me further away from the answer.
In the end it took a walk in the cool brisk fall air, and a quick white board drawing of SFB architecture to figure it out.