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.
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.
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.
New-CSClientPolicy -Identity tag:ConfHighFpsTrue -EnableHighPerformanceConferencingAppSharing $true
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>
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:firstname.lastname@example.org 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.
Maximum Estimated fps
The actual fps that the client will yield will be based on a number of factors such as:
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.
Nice write-up, thanks for sharing!
Are you preparing for winter yet, up thar yonder in the 'frozen tundra of the north'?
Hi Matt, thanks for reading my post. It isn't quite winter here yet but we are preparing.
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.
Good one. Thanks for sharing Scott
Can this also be done when using lync online?
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.
I confirmed with my contact that this was not designed for use in Lync Online.
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 ?