Solved

Can we force the Lync Web App in with Lync 2013?

Posted on 2014-10-23
14
786 Views
Last Modified: 2014-11-15
We are currently evaluating Lync 2013 Server. We are stuck using the Lync 2010 Client because my organization is still on Office 2007, and Lync 2013 Client does not support Outlook 2007.

The Lync 2013 Web App is superior to the Lync 2010 client for multiparty conferencing, since it allows for multiple video streams to appear at the same time.

I have learned that we can force Lync to use the Lync Web App by appending ?SL=1 to the end of the conference URLs. For example: https://join.org.ca/james/6RYZRGZP?SL=1. The problem of course is that this solution is not accetable, our users are not going to modify the URLs in the Outlook meeting invitations every time they send one out.

I'm wondering if I can use IIS Rewrite within IIS 7.0 on our 2013 front-end pool server to append the ?SL=1, to force the Web App Client and prevent the local client from loading. This outlines something similar, but it's done on the reverse proxy: http://www.avianwaves.com/Blog/entryid/175/Using-a-Reverse-Proxy-to-Automatically-Force-External-Lync-Meeting-Guests-to-Use-Silverlight-Client.aspx

Perhaps there are other methods to force the Lync Web App?
0
Comment
Question by:msghydron
  • 7
  • 5
14 Comments
 
LVL 8

Expert Comment

by:Steven Sheeley
Comment Utility
Yes you can. Here is a link to an article that explains how to do rewrite rules in IIS.

http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

All you would need to do is set the pattern to look for the join URL and append ?sl=1 to the url being passed.
0
 

Author Comment

by:msghydron
Comment Utility
I think I'm close. The URL I'm returning is https://join.domain.ca//?SL=1.Notice the double slashes (//). Where could these be coming from?

                <rule name="Prepend ?SL=1" enabled="false" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{QUERY_STRING}" pattern="(.*)\?SL=1$" negate="true" />
                    </conditions>
                    <action type="Redirect" url="{R:0}\?SL=1" appendQueryString="false" />
                </rule>

Open in new window

0
 
LVL 8

Expert Comment

by:Steven Sheeley
Comment Utility
I'm no IIS guru but try this:

<action type="Redirect" url="{R:0}?SL=1" appendQueryString="false" />
0
 

Author Comment

by:msghydron
Comment Utility
I think we're one step closer. I took the slash out. I thought the slash was needed before the ?. The redirect is working as it should...:

https://join.domain.ca/myname/6RYZRGZP? redirects to  https://join.domain.ca/myname/6RYZRGZP?SL=1

But I'm seeing this error page:

Server Error in '/lwa' Application.

Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
0
 

Author Comment

by:msghydron
Comment Utility
I may have a more detailed error message now. I put this in the web.config:

	<system.web>
		<customErrors mode="Off" />
	</system.web>

Open in new window


Now when I go to https://join.domain.ca/myname/6RYZRGZP the ?SL=1 is added to the end and I see this error:


[WebException: The remote server returned an error: (400) Bad Request.]
   Microsoft.Rtc.Internal.Threads.AsyncResultNoResult.EndInvoke() +223
   Microsoft.Rtc.Server.Infrastructure.CompactWebTicket.CompactWebTicketIssuingProvider.GetSignedTicket(CompactWebTicket ticket) +203
   Microsoft.Rtc.Internal.WebServicesAuthFramework.CookieAuth.SetSessionCookie(HttpContext context, String name, String path, Guid serviceEndpoint) +337
   Microsoft.Rtc.Internal.WebProxy.CookieProxyRouter.AddCookieIfAppropriate(ITraceFlt traceFlt, HttpContext context, Int32 statusCode) +1129
   Microsoft.Rtc.Internal.WebProxy.ProxyModule.PreSendRequestHeaders(Object sender, EventArgs e) +237
   System.Web.SendResponseExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +169
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
0
 
LVL 8

Expert Comment

by:Steven Sheeley
Comment Utility
Does the link work if you manually enter the url with the ?SL=1?  If not, you have an issue with IIS. If it does, there's still something happening with your rewrite rule. Not to be rude but you should open a new question in the IIS area about the error or the rewrite rule.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:msghydron
Comment Utility
I've solved it, I had to make changes to Lync Server's code within the Meet IIS app to force it to work.

Contact me directly for the solution if you were looking into the same problem and a web search takes you here.
0
 

Author Comment

by:msghydron
Comment Utility
I've requested that this question be closed as follows:

Accepted answer: 0 points for msghydron's comment #a40420604

for the following reason:

Solved it myself.
0
 
LVL 8

Assisted Solution

by:Steven Sheeley
Steven Sheeley earned 250 total points
Comment Utility
I believe that, although the user "solved" it himself, the only way he got to the solution was via my recommendations. I answered his questions concerning this issue and then it became a IIS Rewrite rule question. Please close this question as solved and accept my answer as the basis for that.
0
 

Accepted Solution

by:
msghydron earned 0 total points
Comment Utility
Hi Steven. Actually your suggestions were not ultimately related to my solution. Your highly appreciated suggestions were related to the IIS Rewrite, but ultimately that proved not to work. My solution was to edit some of the Lync JavaScript in …/Microsoft Lync Server 2013/Web Components/Join Launcher/Ext/JavaScript/Launcher.js.

Nonetheless I appreciate your help (you're the only one who did...) and I would be happy to see you as recognized as assisting with the solution, since it helped me hasten my exhaustion of this option as a solution that wouldn't work.
0
 
LVL 8

Expert Comment

by:Steven Sheeley
Comment Utility
Thank you, I do appreciate the nod in awarding the points. Like anything else, we "work" for pay, and the currency of EE is the points awarded, even if the "solution" wasn't the solution, but did help you arrive at the solution.
0
 

Author Closing Comment

by:msghydron
Comment Utility
The ultimate solution was unrelated to previous comments and I found it myself, bringing to question the value of our EE subscription.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Article by: Ahmedn1
Introduction Some developers today tend to use Skypekit in their applications to make it more interactive with the user. Skype API is very awesome indeed but the problem is it is only available in C++, Java and Python. I can't understand why Micr…
The System Center Operations Manager 2012, known as SCOM, is a part of the Microsoft system center product that provides the user with infrastructure monitoring and application performance monitoring. SCOM monitors:   Windows or UNIX/LinuxNetwo…
The goal of the tutorial is to teach the user how to instant message and make a video call in Skype.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now