Register
Submit a solution
The challenge is finished.

Challenge Overview

Overview

We are seeking architectural guidance as we contemplate replacing our current video conferencing client (for Mac, PC, Android and iOS) that enables video conferencing to our standards based video conferencing infrastructure. The objective of this contest is to produce Architecture and Development/Implementation recommendations.

The goal is really on getting to best evaluate how we would want to / should route a WebRTC client to our external IP address of the VCS-E.

 

Challenge Requirements

We believe we need a WebRTC service built that has the ability to allow someone to put a SIP or H.323 URI in it. This service needs to be packageable such that it could be installed and run from a commonly supported web server platform like IIS or Apache, etc. All video strings (URI) come with something like <MeetingID>@<Hostname> and in this case our hostname is our external facing routing servers. Once they see someone coming in they just route downstream to the correct MCU or endpoint that is in the MeetingID for this example. The key considerations that need to be made as you come up with the architecture are the ability for the solution to address the following requirements:

  1. It needs to be a browser based solution, supports at the very least IE and Chrome (use of plug in is ok - however plugin free would be desirable.)

  2. Minimal to No configuration and setup required for the end user.

  3. Based on webRTC framework (or other open source) standard.

  4. Allow one click dialing (i.e. the URL should contain information to land you into the conference / session.

  5. Secure login - Integrates with Company’s SSO.

  6. End User Session logging to capture latency, packet loss and jitter required to determine an estimated MOS score from the end user session

  7. Intelligence to downgrade to audio only for poor quality network connections.

  8. Have the login/landing page, request the following information (See screenshot example below). This should be a one time preference, which is not prompted for every call.

 

Nice to haves

  1. Centralized - Logging of all errors i.e. client will send logs to a central server

  2. Detailed logging of call quality (network bandwidth, jitter, packet loss, latency)

  3. Auto reconnect in the event of an error

  4. A built in tool (button) to test network connectivity and/or metrics from the internet or over internal network and create a log to the end users’ desktop or central server (AppNeta)

 

References

Plugin-free development using HTML5



Final Submission Guidelines

  • System Architecture Diagram and Interactions

  • System Components (Only consider OpenSource Options out there or solutions to develop)

  • Dev stack Options for the webRTC service development and a Plugin (client) development (if there is no plugin free way to do this.) for FF/Opera/IE/Chrome that conforms to webRTC standards.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30042990