How to make the LoadMaster force Lync to use Silverlight for External Users?

A common issue occurs when arranging Lync meetings and sending an invite to a user in a different organization. If this user has Lync installed, the default behavior on connecting to the URL is to open the meeting in the Lync client which is installed on the user's computer.

However, this causes issues if the two organizations do not have a federated relationship and it results in the Lync client not connecting.

A workaround is to manually append the URL link with ?sl=1 which results in the user being directed to join the Lync meeting through Microsoft Silverlight in Internet Explorer. This will allow an anonymous connection using the Silverlight browser plugin.

When using the KEMP LoadMaster as a reverse proxy for Lync, the URL link can be updated automatically using a header modification rule. This rule can modify URLs with a specific format, that are hitting the reverse proxy IP, and append the sl=1 onto them to force the use of the Silverlight client.

The rule settings are as follows:

Rule Type: Modify URL

Match String: /(.*)(\/meet)(.*)/

Modified URL: \1\2\3?sl=1

 

Case 1: Where the URL takes the following format 

https://domain.com/URL/meet/<USERNAME>/123

 

This rule will translate any link with the following format (i.e. a request to join a meeting), for example:

https://domain.com/URL/meet/<USERNAME>/123

into

https://domain.com/URL/meet/<USERNAME>/123?sl=1

and external users will therefore use the Silverlight client to connect to Lync meetings.

 

To add this rule, follow the steps below in the LoadMaster Web User Interface (WUI):

  1. In the main menu, select Rules & Checking > Content Rules.
  2. Click Create New.
  3. Enter a recognizable Rule Name, for example ForceSilverlight.
  4. Select Modify URL as the Rule Type.
  5. Enter /(.*)(\/meet)(.*)/ as the Match String.
  6. Enter \1\2\3?sl=1 as the Modified URL.
  7. Click Create Rule.

Then, you need to apply this header modification rule to the reverse proxy Virtual Service. To do this, follow the steps below:

  1. In the main menu, select Virtual Services > View/Modify Services.
  2. Click Modify on the reverse proxy Virtual Service.
  3. Expand the Advanced Properties section.
  4. Click Show Header Rules.
  5. In the Request Rules section, select the relevant rule and click Add.

To test this rule, look at the traffic trace:

TCP Dump

 

Client to LoadMaster:

878 31.949572 10.0.30.193 10.140.0.39 62962 http HTTP 466 62962 GET /URL/meet/USER HTTP/1.1

 

LoadMaster to Real Server:

883 31.949888 10.140.0.39 10.140.0.140 50164 http HTTP 547 50164 GET /URL/meet/USER?sl=1 HTTP/1.1

 

When this rule has been implemented, it should result in Lync meetings being opened in the Silverlight application.

 

Case 2: Where the URL takes the following format 

https://meet.domain.com/URL/<USERNAME>/123

 

1. Create a content matching rule to match Host Header and set the Flag to 1. 

To add this rule, follow the steps below in the LoadMaster Web User Interface (WUI):

 

  1. In the main menu, select Rules & Checking > Content Rules.
  2. Click Create New.
  3. Enter a recognizable Rule Name, for example MatchMeet.
  4. Select Content Match as the Rule Type.
  5. Enter host for the Header Field
  6. Enter the domain for Match string
  7. Select "Flag 1" for Set Flag If Matched option

 

This flag will then be used when deciding which URLs to append with the string required:

 

2. Create Modify URL Rule to add the string required to any requests which have this flag set.

  1. In the main menu, select Rules & Checking > Content Rules.
  2. Click Create New
  3. Enter a recognizable Rule Name, for example ForceSilverlight.
  4. Select Modify URL as the Rule Type.
  5. Enter /(.*)/ as the Match String.
  6. Enter \1?sl=1 as the Modified URL.
  7. Select "Flag 1" under Perform If Flag Set
  8. Click Create Rule.

 

Was this article helpful?

0 out of 0 found this helpful

Comments

Avatar
Christian Scheller

Superb!!

Avatar
Chris Olson

What effect does this have on external users (i.e. employees) that try and connect via mobile or the Lync client?