Potential Student Projects in VoIP and Multimedia

From reSIProcate
Revision as of 12:10, 19 February 2016 by Dpocock (talk | contribs)
Jump to navigation Jump to search


The reSIProcate community welcomes the opportunity to facilitate any type of student project, small or large, that may lead to the contribution of code back to reSIProcate, or the development of a new open-source project using reSIProcate as the foundation.

Google Summer of Code

reSIProcate is applying for participation in Google Summer of Code 2016, please see the ideas list below.

Previous student contributions

The community is delighted to acknowledge the success of previous student contributions to reSIProcate:

Where to start

Please communicate with us about your aims and project profile (duration, number of participants, campus, etc) through our resiprocate-devel mailing list.

Please try using our project. See the Free RTC quick start guide and set up your own SIP and TURN server processes to become familiar with them. Also look at projects like FreePhoneBox.net to try making SIP over WebSocket / WebRTC phone calls.

Help we can provide

  • Help in identifying possible projects
  • Review of your project plan and design documents
  • Code review by professional software engineers
  • reSIProcate or one of the commercial partners can facilitate projects under Google Summer of Code, Shell Step and other summer programs

Other benefits

By contributing to an open source project, you get extra benefits that you would not get in a regular internship or in-house university project:

  • developing contacts in the wider software engineering community
  • your work becomes part of the project, potential employers can easily view the code repository and understand your contributions and capabilities

Potential project ideas list

  • Extending the `click to dial' applications
    • build a GUI around them
    • make configuration easier
  • Converting the ichat-gw to work for any SIP-Jabber interaction (it only works with the iChat Jabber client at present)
    • requires C++ skills and some knowledge of both SIP and XMPP
  • Creating new `monkey' classes to extend the functionality of the repro SIP proxy
    • these can be built as plugin modules using C++
    • since December 2013, we also support Python modules
  • Adding support for more authentication systems
    • Look at how RADIUS and SQL-based authentication is supported, extend this to support LDAP or another system
    • Make RADIUS support work for Windows (it currently only works for Linux), maybe port the FreeRADIUS-client project to Windows
    • Make the RADIUS support work for TURN / reTurnServer
    • This involves C and C++ development
  • Improving the Python support
    • Use a framework like PySIP to create Python bindings for more of the stack - be careful not to be confused by the alternative acronym for SIP!
  • Improving Android / Java support
    • Look at the basicMessage for Android demo
    • Develop more Java JNI bindings for use with Android
    • Requires experience with the Android SDK and Java and some C/C++ knowledge
  • Improving the conferencing server
    • See the reConServer project on Github
    • This started as a test utility and was developed into a fully-fledged server process by a previous GSoC student
    • There is more potential to add management / web interface using PHP or a Python framework
  • Federated SIP testing utility
    • Use any programming language you prefer (C++, Java, Python, PHP)
    • Develop a utility or web page that makes test calls to verify somebody has correctly installed their SIP proxy and TURN server
  • Improving the WebRTC front end
    • This is an opportunity involving HTML and JavaScript
    • Look at the JSCommunicator project and find some way to integrate JSCommunicator, the reSIProcate repro SIP proxy and any other open source project. For example, the DruCall project integrates JSCommunicator and reSIProcate with Drupal. Could you make something like DruCall for Wordpress or another CMS?

Ideas from students are also welcome, please come and propose your idea on the mailing list.