Register
Submit a solution
The challenge is finished.

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 build a windows desktop application which is used to test the connectivity of a Skype For Business (formly Lync) environment specific to a worker's location.  The application will utilize the Skype For Business API (Lync API) to perform tests on the functionality and thrid party tools to do synthetic tests on the performance, bandwidth and latency etc.

Challenge Requirements

In this challenge, we want you to develop a small windows application which uses the Skype For Business API to perform the tasks listed below. The purpose is to test the connectivity / availability of the Skype For Business Server and the ability to do the following tasks:

1) Instant Message
2) Audio Conversation 
3) Video Conversation
4) Desktop Sharing

For Audio / Video / Desktop Sharing, we don't have to engage the actual micropohone / webcam if we can simulate the tasks via Lync API to test the connectivity / availability without them.

- The UI should be a simple WPF application with buttons to trigger the test of the above mentioned tasks. 

- The UI should display the detailed log/debug information of each test.

Bonus

If the winner can figure out how to measure the performance from client to server via Lync API, we will give you an extra $200 bonus.
To receive this bonus, we're looking to performance test the following:

- Instant Message:
  - Test the ability of two users to exchange instant messages
  - Test the ability of multiple users to conduct an instant messaging conference
- Audio Conversation:
  - Test the ability of two users to conduct a peer-to-peer audio call.
  - Test the ability of multiple users to participate in an audio conference.
- Video Conversation:
  - Test the ability of two users to conduct a peer-to-peer video call.
  - Test the ability of multiple users to participate in a video conference.
- Desktop Sharing:
  - Test the ability of a user to share desktop with another user
  - Test the ability of a user to share desktop with multiple users

The following tests can be included:
- Network Latency
- Upload/download speed
- Network Bandwidth
- Packet loss
- Audio Quality
- PC Resources
 - Disk Storage
 - Memory

NOTE: The above items under the "Bonus" section are overall project requirements and areas you can work on for the bonus payments. They are NOT all required for this POC challenge.

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 will provide testing account 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.

References

  • Lync 2013 SDK documentation: https://msdn.microsoft.com/en-us/library/office/jj933180.aspx
  • Lync 2013 SDK Code Examples: https://msdn.microsoft.com/en-us/library/office/jj933140.aspx


Final Submission Guidelines

  • The whole application source codes packaged.
  • The deployment and verification guides with detailed steps to deploy and test the application.
  • A demo video which shows the whole deployment and verification steps (better with explanation, if you cannot speak well, you can add subtitles).

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30050237