An Update on Desktop Sharing in Lync
In two recent updates to Lync Server 2013 we added some new configuration settings that give the Lync administrator more control over the frame rate used in both peer to peer and multi-party conference desktop sharing sessions.
These new capabilities have been added for the purpose of supporting high fps in particular for the sharing of CAD/CAM dynamic models or other similar type of content when network bandwidth is plentiful (such as on LAN or well provisioned WAN). They are not generally needed or desirable for sharing Office documents or static content. They are also not advisable where network bandwidth is already constrained.
The conferencing policy discussed below will be leveraged by the Lync 2013 desktop client and any connections from the Lync Web App 2013. Anonymous participants will inherit the organizer's policy.
Enable High Frame Rate Peer to Peer Desktop Sharing
Lync Server version 5.0.8308.420 (July 2013) introduced a setting to increase the frame rate used in peer to peer desktop sharing sessions by adding the EnableHighPerformanceP2PAppSharing parameter to the clientpolicy object.
You can create a new client policy and set the parameter by using the following syntax:
New-CSClientPolicy -Identity tag:HighFpsTrue -EnableHighPerformanceP2PAppSharing $true
Note: When you use this syntax to create a new clientpolicy object you will see a warning as shown below.
You can update an existing client policy by setting the parameter use the following syntax:
set-CSClientPolicy -Identity tag:MyExistingClientPolicy -EnableHighPerformanceP2PAppSharing $true
Note: When you use this syntax to update a clientpolicy object to enable High Performance app sharing you will see a warning as shown below.
Enable High Frame Rate Multi-party Conference Desktop Sharing
Lync Server version 5.0.8308.556 (October 2013) introduced a setting to increase the frame rate used in multi-party conference desktop sharing sessions by adding the EnableHighPerformanceConferencingAppSharing parameter to the clientpolicy object.
You can create a new client policy and set the parameter by using the following syntax:
New-CSClientPolicy -Identity tag:ConfHighFpsTrue -EnableHighPerformanceConferencingAppSharing $true
You can update an existing client policy by setting the parameter use the following syntax:
set-CSClientPolicy -Identity tag: MyExistingClientPolicy -EnableHighPerformanceConferencingAppSharing $true
An astute blog reader might notice that you are controlling a conferencing feature via a parameter of the clientpolicy object and that reader would be correct however this is how the configuration works so there are no typos in the above syntax.
If you wanted to create a single policy and set both parameters at the same time you would use the following syntax:
new-CSClientPolicy -Identity tag:HighFpsTrue –EnableHighPerformanceP2PAppSharing $true -EnableHighPerformanceConferencingAppSharing $true
If you wanted to update an existing client policy and set both parameters at the same time you would use the following syntax:
set-CSClientPolicy -Identity tag: MyExistingClientPolicy –EnableHighPerformanceP2PAppSharing $true -EnableHighPerformanceConferencingAppSharing $true
Note: You will only be able to set both parameters on the clientpolicy object at the same time if your Lync Server environment has been updated to at least version 5.0.8308.556.
If you want to verify that a user is receiving the correct client policy when logging on you can search for the following in the sip trace file.
<property name="EnableHighPerformanceP2PAppSharing" >false</property>
<property name="EnableHighPerformanceConferencingAppSharing" >false</property>
How do I know who to apply the High Performance policies to?
In a peer to peer desktop sharing session the user sharing the content must have the applicable client policy applied to them in order to share content at increased frame rates and for the optimal viewing experience, the viewer should have the appropriate policies applied as well
In a conference only the person sharing the content must have the applicable client policy applied to them (this applies to authenticated users in Lync Web App as well)
Anonymous sharers will honour the organizer's policy
Federated sharers will honour the settings given to them by their own company
Understanding and Configuring the Desktop Sharing Frame Rate
Simply enabling the high frame rate option in the client policies as shown above is not sufficient for actually increasing the frame rate used by the desktop sharing feature. In addition to implementing the changes above you also need to implement a change that increases the allowed frame rate. When the client policy settings (EnableHighPerformanceConferencingAppSharing or EnableHighPerformanceP2PAppSharing) are turned off, the frame rate will be capped to 2.5 fps max however if either are enabled the fps max will increase based on the values specified in the conferencing policy as shown below.
You can create a new conferencing policy and set the increased frame rate by using the following syntax:
New-CSConferencingPolicy -Identity tag:HighAppSharingBitRate -AppSharingBitRateKb 13000
You can then grant this new conferencing policy to a user by using the following syntax:
Grant-CSConferencingPolicy -Identity sip:user@domain.com tag:HighAppSharingBitRate
Your next logical question should be to ask: "What should I set the AppSharingBitRateKb value to and what type of network bandwidth should I expect to see as a result of this change.
The following table shows an approximation of the fps that you should expect. Please note that these values were derived from internal testing of the feature and the results in your particular environment may vary based on current network conditions and the type of content being shared. They are not absolute values or limits however they represent estimates.
AppsharingBitRate |
Maximum Estimated fps |
<2000 |
2.5 fps |
<4000 |
4 fps |
<8000 |
6 fps |
<12000 |
8 fps |
>12000 |
10 fps |
The actual fps that the client will yield will be based on a number of factors such as:
- Network conditions - High bandwidth and low latency network will yield the best fps which low bandwidth and or high latency networks will cause a decrease in fps
- Content - If you have more rapidly changing content on the screen you will see a lower fps value however if the content is static you will see a higher fps value
Additional Points
- If the sharer is using the Lync Desktop client they must be using build 15.0.4551.1005 or higher
Summary
As the above blog post has shown we have made some changes to allow a Lync administrator more control over the frame rate that is produced during a Lync desktop/application sharing session. Please test this out in your labs or customer environments and share your feedback on how it is working for you.
Comments
- Anonymous
January 01, 2003
Hi Matt, thanks for reading my post. It isn't quite winter here yet but we are preparing. - Anonymous
January 01, 2003
I made a few small revisions to this post today. I've added a few words about the viewer requiring the policy in a P2P session as well in order to achieve the optimal experience. - Anonymous
January 01, 2003
Hi Gregg,
Thanks for the question. I am pretty sure that it can't be done as none of the client policies that you have access to in LYO have these values set to enabled. I am checking with a few folks to confirm though and will report back if I hear differently.
Scott - Anonymous
January 01, 2003
Hi Gregg,
I confirmed with my contact that this was not designed for use in Lync Online.
Scott - Anonymous
August 22, 2014
Nice write-up, thanks for sharing!
Are you preparing for winter yet, up thar yonder in the 'frozen tundra of the north'? - Anonymous
October 06, 2014
Good one. Thanks for sharing Scott - Anonymous
February 04, 2015
Can this also be done when using lync online? - Anonymous
October 01, 2015
Scott, an interesting article. On a related note would there be any logical reason why the same screen share would utilise more bandwidth ( nearly double) in a conference as opposed P2P ? - Anonymous
October 23, 2015
The comment has been removed - Anonymous
December 21, 2015
Hi Scott, As you already answered and confirmed "Gregg's" query on LYO above through your contact , that this is not designed for use in Lync Online, Is this still true as of today for LYO/S4B online because as we know in cloud things are changing rapidly, please update.
Regards,
Sagir. - Anonymous
December 22, 2015
Hi Sagir,
This is still not available in Skype for Business Online and at present there are no plans to do enable it.
Thanks
Scott