Challenge Overview
Project Introduction
The client for this project has a large (40k+), traveling/non-office based workforce with employees who often work from remote locations. About 95% of the employees use PC laptops but all employees regularly conduct Microsoft Lync audio calls and join Lync meetings with video and screen sharing. Based on the internet connection, some meetings/calls work better than others. The client has envisioned a custom tool that will test a user’s internet connection from their PC/Mobile Device in their current location. It will measure the different components of the connection (PC resources, voice quality, latency, upload/download speed, bandwidth, & packet loss) and provide a recommendation for the best Lync experience.
In this project, we want to add synthetic tests described in the input document Lync_Synthetic_Test.docx to our WPF utility.
Challenge Requirements
Synthetic tests - iPerf2 based test
Please refer to the input document for the details on how to implement
-
The Lync Readiness Profiles should be read from the configuration. That means the bandwidth / Packet Loss criteria should be read from the configuration file for each profile level in each scenario.
-
the iperf server address should be an input for now. In the future, it should be automatically determined based on the Lync server chosen.
-
Have a button to perform the test and have 4 checkboxes to choose which scenario test to perform. By default, all 4 scenarios should be checked.
-
The tests result should be collected and displayed in the Test Results. Test Results can be a same text window as current Logs text window in the WPF utility. If possible, use a different text color to differentiate the log messages and the test results.
-
Please add ping to measure the network latency, the iPerf does not test the network latency to the Lync server.
-
Based on the test results, the utility should be parse them and give the Readiness rating for the checked scenarios. The Readiness ratings should also be displayed along with the test result.
Environment
-
.NET Framework 4.0 and above
-
Skype for Business Developer page: https://msdn.microsoft.com/en-us/office/mt124990.aspx
-
Lync Server 2013 : https://www.microsoft.com/en-us/evalcenter/evaluate-lync-server-2013
-
Lync SDK 2013 : https://www.microsoft.com/en-us/download/details.aspx?id=36824
-
Testing Environment - we can provide testing accounts for you to directly test the Skype For Business server on the cloud, please request the test account in the challenge forum, so you don't need to setup the Lync Server environment on your local. But Lync SDK is still required to install for you to do the development and testing work.
Challenge Inputs & Documentation
-
Lync_Synthetic_Test.docx
- Current WPF utility package with deployment guide - please follow the deployment guide to build, run and verify the existing functionality before you start. If you have any question, please ask in the challenge forum.
Final Submission Guidelines
- The updated WPF utility package.
- The updated deployment guide with the verification details on the functionality implemented in this challenge.
- Winner should help to integrate the changes into the branch feature/30051770_iperf_tests of the git repo https://gitlab.com/lync-speed-test/proof-of-concept.git