#Skype Question 45: How to do use DSCP tag on Linux and Mac based VDI endpoints

I am working with a customer who have a very large VDI estate with both Windows and Linux based VDI endpoints.
As part of network planning and optimisation my customer are strategically looking to move to a trusted tag based or Differentiated Services Code Point (DSCP).
Of course on Windows this pretty easy via Group Policy using policy based QoS and on Windows Embedded (WES) based VDI endpoints this is no different.
The question has come up on how to QoS on Linux (TinyOS) and Mac based VDI endpoints.
As you might or might not be adware as part of the Citrix HDX RealTime Optimization Pack there is a MediaEngine which runs on the local VDI to offload the audio/video processing from the server to the endpoint in order to optimise the media quality.  Do note that the application sharing workload/traffic does remain in the virtual windows session on the Citrix server.
There are essentially some registry settings that must be applied in the user’s windows profile on the Citrix server which specific which DSCP values to use for audio and video at the endpoint:
  • On the VDA, locate or create a registry key HKEY_CURRENT_USER\Software\Citrix\HDXRTConnector\MediaEngine\Networking
  • Under this key, create three DWORD values: AudioTOS, VideoTOS, RtcpTOS. Set them to the desired value of the IP TOS byte. Restart Skype For Business.
  • Note that registry settings control the full TOS byte, so if you want to use a particular DSCP value, multiply it by 4.
  • RtcpTOS is applied to RTCP packets for both audio and video, the other values are applied to RTP packets for audio and video, respectively.
What about QoS on Mac OS in generally I hear??? I have a fair idea how to get this to work too however it is not easy!

HDX RTOP Realtime Media Engine DSCP QoS Configuration

#Lync Question 43: Can I protect federated users from taking screenshot of desktop share session content

Another common question in relation to federation, governance and control.

But yes you can protect federated users from taking screenshot of desktop share session content, however this area/capability is more Information Rights Management (IRM) in Office rather than Lync.

With IRM in Office 2013 you can authenication and authorise access to sensitive documents. For example a word document could be protected so it can only be opened by specific users. Also it can be protect from being printed, or shared, also the content can be protected from copy and paste and screenshots.

If a protected document is opened and then the screen or program is shared via Lync then it is just shown as blacked out at the other end.  This is due to Lync 2013 honouring the IRM protection.

However this behavior is only support on Windows 8 or later and not Windows 7 nor does it work with Lync 2010 and of course will need to deploy Information Rights Management (IRM).


Presenting your Screen with Lync 2013

Plan Information Rights Management in Office 2013

#Lync Question 42: How do I run the SkypeUI when my administrator want me to run the LyncUI

I am sure this is going to annoy some Lync administrators, however I came into work this morning after running the Skype for Business client for the last few months to the following message


Thus following the restart, I was back the the Lync UI.  “How retro”

Disclaimer: Playing with the registry may result is serious injury or death for your PC so everything be careful out there!

First you will need local administrator rights to do this and also have a read of my previous post #Lync Question 38: How do I control the Lync and Skype UI with the Skype for Business client regarding the registry keys.

Here is the registry with the Skype UI disabled (you might see some other keys in here too)



Lets delete it, or via command line it would be:

reg delete HKCU\Software\Microsoft\Office\Lync /v EnableSkypeUI /f

Next we add back the registry key with the Skype UI enable

reg add HKCU\Software\Microsoft\Office\Lync /v EnableSkypeUI /t REG_BINARY /d 00000001 /f

Next lets change the permissions, select the EnableSkypeUI key and on the Edit menu select Permissions


In here we click on Advanced and then Disable Inheritance and then select Remove all inherited permissions from this object

And then OK, Yes (we are going to denied all users permissions) and finally OK

Then we can launch the client with the SkypeUI

How do I revert?

If you want to revert in the registry edit, select HKCU\Software\Microsoft\Office\Lync in the left pane and then in the Edit menu, Permissions and we will see there is no permissions




Next click on Advanced


And then Enable inheritance followed by OK and OK

There we go…..enjoy the Skype UI again

#Lync Question 41: How I do configure a Polycom SIP Phone (VVX / SoundStructure) as a Lync Common Area Phone

There are already a number of good blog articles on how to get Polycom provision server up and running to provision lots Polycom SIP phones. I would recommend Jeff Schertz blog article [1].

However as I found, most focus on setting up a Polycom SIP phone using a standard Lync user (with a full AD account and password) and not a common area phone, which has just a AD contact object.   Although you could just use an AD user account instead in some environment it is just easier just not have to justify why these accounts have non-expiring passwords.

With the UCS 5.0.2 software it added support Lync PIN authentication and although with a Polycom VVX phone it is easy enough to manually logon the phone using the screen and keypad. As I found with a Polycom SoundStructure this isn’t so easy since there is no screen or keypad and especially since UCS 5.2.0 and later the phone’s (or VoIP Ccrd) web interface is disabled by default.

Although it  is easy enough to re-enable the web interface via some additional lines in the shared.cfg XML file on the provisioning server at which point you can log to VoIP card into Lync as a Common Area Phone (below).


However when you have a large number of Polycom SoundStructure devices to configured or support then this quickly becomes impractical.

After a bit reading and trial and error, here is the syntax for the [MACADDRESS]–Lync.CFG file to

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--UCS Device Configuration file for Lync-->
<LYNC reg.1.auth.useLoginCredentials="1" reg.1.auth.loginCredentialType="extensionAndPIN" reg.1.address="room101@uctestlab.com" device.logincred.extension="1234" device.logincred.extension.set="1" device.logincred.pin="5551234" device.logincred.pin.set="1" />

Then you just need to reset the VVX/VoIP card for it just automatically logon.


[1] Provisioning Polycom SIP Phones


#Lync Question 40: What sounds have changed with the Skype for Business client

Disclaimer: The following blog post is subject to change as it is based on the pre-released version of the Skype for Business client.

A number of the sounds that us and our users have become accustom to over the last few years have changed with the Skype for Business client.

Under the either of the following folders you will find a bunch of .WAV files

  • C:\Program Files (x86)\Microsoft Office\Office15\Media (64-bit Windows)
  • C:\Program Files\Microsoft Office\Office15\Media (32-bit Windows)
  • C:\Program Files\Microsoft Office 15\root\Office15\Media (Click-to-Run)

Most of the major sounds have changed. Such as the ringer, alert and invite sounds.

Here is a list of which files have changed:



















LYNC_newim.wav CHANGED


















NOTE: LYNC_connecting.wav currently doesn’t have any sound in the Skype for Business client

In case you need to sound file again here they are (rename them to .zip)



I guess I could try and write a script/procedure to restore the old sounds.

#Lync Question 38: How do I control the Lync and Skype UI with the Skype for Business client

Some of what I am covering here has been cover in the Skype for Business Technical Readiness Webcast Series session on the client experience presented last week by Nikolay Muravlyannikov.  The link for registering for these sessions (and recording) was announced here:

Skype for Business sessions now included in Office 365 Summits

The Skype for Business client has two user interfaces (UI):

  • Lync UI
  • Skype UI

For organisation who have invested heavily in end-user training, the whole topic on the transition of the client and UI from Lync to Skype for Business is very important.

By having these UI’s this enable organisations already running Lync to control the roll-out of the newer Skype UI in order to update any in-house training material and communication.

Depending on what your server platform is the client will default the client UI as follows:

Platform Default Client UI
Lync Server 2010 Lync 2013
Lync Server 2013 Lync 2013
Skype For Business Server Skype for Business
Skype For Business Online Skype for Business

If your running on Skype for Business server, then there is a Client Policy setting to Enable Skype UI via in-band provisioning via the following cmdlet:

Set-CsClientPolicy –EnableSkypeUI $true

Obviously this Client Policy entry only exist in Skype For Business Server.  If you want to force disable the Skype UI you can just set EnableSkypeUI to $false.

Now what about if you running Lync Server 2013 on Lync Online I might hear you ask, well you’re in luck you can control the Skype UI too via in-band provisioning or via the client registry.

How? Having spent far too many hours looking the Lync 2013 client registry and in-band provisioning traces some settings are interchangeable even though they aren’t documented due to the way the client works.

Method #1: Client Registry

Using the client registry will probably be preferable for organizations running on Lync Online (and maybe Skype For Business Online) as they don’t have access to make client policy changes, so registry setting can be easily deployed via Active Directory group policy.

In the Registry under HKCU\Software\Microsoft\Office\15.0\Lync you need to create a 32-bit REG_BINARY called EnableSkypeUI with a value of 00 00 00 01 this will force the Lync UI (Disabling the Skype UI) or via the command prompt you can run:

reg add HKCU\Software\Microsoft\Office\Lync /v EnableSkypeUI /t REG_BINARY /d 00000001 /f

and if you want to force enable the Skype UI, then EnableSkypeUI needs to have a value of 1 or via the command line you can run:

reg add HKCU\Software\Microsoft\Office\Lync /v EnableSkypeUI /t REG_BINARY /d 00000001 /f

For these to take effect you have to complete restart the Skype for Business client (not just sign-out and sign-in)

Method #2: Lync Server 2013 In-Band Provisioning

Using Lync Server 2013 In-Band Provisioning will be preferable for organization running Lync Server 2013 can have yet to upgrade or are upgrading to Skype for Business.

Like Skype for Business we can control this via the client policy however unless you running the February 2015 update or later for Lync Server 2013 when the EnableSkypeUI entry was adding then it is a little different as the entry doesn’t exist. However we can actually still add the entry using either of the below:

$ClientPolicy = Get-CsClientPolicy "Global"
$ClientPolicyEntry = New-CsClientPolicyEntry -Name "EnableSkypeUI" -Value "0"
Set-CsClientPolicy -Instance $ClientPolicy


$ClientPolicyEntry = New-CsClientPolicyEntry -Name "EnableSkypeUI" -Value "0"
Set-CsClientPolicy -Identity "Global" -PolicyEntry $ClientPolicyEntry

this will again disable the Skype UI.

And if you want to enable the Skype UI use either of the below:

$ClientPolicy = Get-CsClientPolicy "Global"
$ClientPolicyEntry = New-CsClientPolicyEntry -Name "EnableSkypeUI" -Value "1"
Set-CsClientPolicy -Instance $ClientPolicy


$ClientPolicyEntry = New-CsClientPolicyEntry -Name "EnableSkypeUI" -Value "1"

Set-CsClientPolicy -Identity "Global" -PolicyEntry $ClientPolicyEntry

NOTE: Like the client registry settings, the Skype for Business client need to be restarted following the client policy being applied rather than a normal client logon as with other in-band settings

You can remove all Client Policy entries via Set-CsClientPolicy -Identity global -PolicyEntry $Null do take care have define other settings in the ClientPolicyEntry field as you will need to use something like this:

$y = Get-CsClientPolicy -Identity global
Set-CsClientPolicy -Instance $y

If you haven’t seen what the Skype for Business client looks like have a look here:

Lync Online is becoming Skype for Business

Special thanks to John A. Cook and Keith Hanna who helped validate all of this post and content.

UPDATE #1 (17/04/2014)  Updated to reflect released version of Skype for Business client with change of registry key type and location.

#Lync Question 28: How much bandwidth does the Skype SILK codec use?

Now the it has been announced that Lync is moving to the Skype SILK codec.

Microsoft Lync-Skype connectivity v2 – Adds Video and More

You maybe ask how much bandwidth does SILK use? Previously published was the below figures from Skype in Silk Datasheet


Sadly SILK Super-Wideband (24Hz) is not currently supported by Lync or Skype for Business, it is limited to 16Hz (wideband)

At Lync Conference 2014 in the “Technical deep-dive into Lync-Skype Video” session by Carl Olivier and William Looney the following figures:


So to answer the question 36 kbps when using Wideband and 13 kbps with Narrowband.

For the difference in MOS scores between the figures on the datasheet and Lync Conference I am assuming SILK has been further improved to accommodate Lync integration.

NOTE: MOS figures for SILK narrowband and super wideband are currently not published (I’ve looked everywhere)

During the session Q&A, it was asked whether the Super-Wideband codec will be supported by Lync? Not at the moment and it isn’t a high priority for them.

Lync/Skype v1 calls did not support FEC end-to-end however Lync/Skype v2 calls will use in-band FEC compared to Lync’s out of band FEC. ICEv19 has been added to the Skype client with STUN\TURN for supporting Lync edge servers for media relay as well as H.264 SVC for video interop.

The following figures have been published by Microsoft here

Audio codec Scenario Audio payload bit rate (KBPS) Bandwidth audio payload and IP header only (Kbps) Bandwidth audio payload, IP header, UDP, RTP and SRTP (Kbps) Bandwidth audio payload, IP header, UDP, RTP, SRTP and forward error correction (Kbps)
SILK Wideband Peer-to-peer 36 52 64 100
SILK Wideband Peer-to-peer 26 42 54 80
SILK Wideband Peer-to-peer 20 36 48 68
SILK wideband/narrowband Peer-to-peer 13 29 41 54


Plan network requirements for Skype for Business 2015

SILK Datasheet


UPDATE #1 (14/03/2014) Updated with further information from Lync Conference
UPDATE #2 (18/12/2015) Updated published figures
UPDATE #3 (18/12/2015) it would seem the SILK DataSheet link is now broken, I kept an offline copy so you can get it here