This article shows how to customize the file size limit for items uploaded to Lync 2013 web conferences by attendees connected using either a Windows Lync client or Lync Web App.
Any Lync clients which connect to a multi-party conference hosted on a Lync 2013 Front End server will only be allowed to upload files which do not exceed a default limit of of 500MB.
- When attempting to upload a file of roughly 750 MB in size from the Lync 2013 Windows client to the conference the following error is presented.
The message will appear after a few seconds as the file properties are checked against the defined policy. Lync does not require the entire file to be uploaded before deciding whether or not it falls within the defined limits.
Lync Web App
The Lync 2013 Web App client also supports the ability to upload content, but are limited to a much smaller file size of roughly 30MB.
- Attempts to upload the a sample file of 48 MB will also present the Lync Web App attendee with the following error message.
Verifying the Limits
Fortunately these values are not hard-coded in Lync Server 2013 and thus can be customized by an administrator. But before making any changes it would be prudent to first see how and where these limitations are configured to understand the potential impact of any changes.
- Using the Lync Server Management Shell execute the following Get-CsConferencingConfiguration cmdlet to identify the limits applied to standard Lync clients.
Get-CsConferencingConfiguration | Select-Object MaxUp* | fl
MaxUploadFileSizeMb : 500
Due to the way that cmdlets and parameters in PowerShell have the first letter of each word capitalized this name actually appears to indicate the value is stored in megabits (Mb) versus megabytes (MB). But that would be an incorrect assumption as these values are in fact megabytes (MB). Thus the default value of 500 MB is reflected above.
- To check the limits configured for Lync Web App connections locate the web.config files located in either the Int and Ext Web Components directories on the Lync Front End servers.
%ProgramFiles%\Microsoft Lync Server 2013\Web Components\DataCollabWeb\Int\Handler
%ProgramFiles%\Microsoft Lync Server 2013\Web Components\DataCollabWeb\Ext\Handler
- Open the web.config file and locate the following two lines defined under separate tags. The maxRequestLength value is used by ASP.NET requests while the maxAllowedContentLength value is applied to IIS requests.
<httpRuntime maxRequestLength="30000" executionTimeout="600" />
<requestLimits maxAllowedContentLength="30000000" />
Note that the Deployment Checklist for Web Conferencing page in the TechNet documentation states that the “file size upload limit for Lync Web App is set to approximately 30MB”. That approximation comes from the fact that the maximum allowed values are rounded off as 30,000,000 bytes is actually only 28.6 MB. Yet the conferencing configuration above was defined as 500 MB which actually comes out to 524,288,000 bytes. What is also apparent is that the maxRequestLength value used by ASP.NET is defined as kilobytes but 30000 KB are equal to 30,720,000 B. So even the two limits in this file are not exactly equal to each other.
These differences in values may seem minor but if the goal is to provide settings that are uniform between Lync clients and Lync Web App attendees then the math should be carefully checked so there are no discrepancies. Otherwise a file which does not exceed the limit for one client type may actually be blocked by another.
Customizing the Limits
Most likely after reading this article some administrators may want to actually reduce the limit as allowing conference attendees to store half-gigabyte files on the Lync server may be a quick way to consume disk space on the server. Realistically documents only slightly larger than what one would be able to send via email these days are all which might need to be supported, so decreasing the limits to something like 50MB may be much more realistic. And in doing so slightly increasing the Lync Web App limits to match that setting would provide a more uniform experience.
Incidentally this article was also just posted by fellow Lync MVP John Weber which includes some additional sizing guidance with a real-world example of its usage.
- Using the Lync Server Management Shell execute the following Set-CsConferencingConfiguration cmdlet to define a new value of 50 MB for the MaxUploadFileSize parameter.
Set-CsConferencingConfiguration -Identity Global –MaxUploadFileSizeMb 50
There should be no need to restart any services as this parameter change should update in a few minutes and then be applied to any new conferences.
For the Lync Web App configuration update both the files in the Int and Ext paths if the same limit is desired for both types of attendee locations. In practice their may be reasons that one source should have a different limit than the other, but the example in this article uses the same value throughout for continuity.
- Launch Notepad as an administrator and edit the web.config files located in both of the following Int and Ext Web Components directories on any and all Lync Front End servers in the environment.
%ProgramFiles%\Microsoft Lync Server 2013\Web Components\DataCollabWeb\Int\Handler\
%ProgramFiles%\Microsoft Lync Server 2013\Web Components\DataCollabWeb\Ext\Handler\
- In each file change the maxRequestLength value to 51200 (51,200 KB = 50 MB).
<httpRuntime maxRequestLength="51200" executionTimeout="600" />
The executionTimeout value can be left at the default value of 600 seconds, but it may be advisable to increase it in parallel to the file size limit. Basically if the file transfer takes longer than the timeout value of 10 minutes then the upload can fail. So to provide flexibility for attendees which may have limited upload bandwidth available to them increasing this timeout can help. Updating the timeout value from 600 to 1024 would retain the same estimated ratio of 50 KB/s currently assigned by default.
- Then locate the maxAllowedContentLength parameter and delete the comment tags immediately before and after to enable this additional parameter.
- Update the maxAllowedContentLength value to 52428800 (52,428,800 B = 51,200 KB = 50 MB) and save the file.
<requestLimits maxAllowedContentLength="52428800" />
- Execute an iisreset to update the changes immediately by recycling the IIS Application Pools.
The resulting configuration will provide a single file size limit of 50 MB for any attendee. Now attempts to upload the 48MB test file will complete successfully when using Lync Web App.