Development |
Development -> Google Summer of Code - Ideas ListTable of Content (hide) This page is outdated! For the GSoC 2018 ideas list page, go here. 1. IntroductionThese are our proposals for this year's student projects. This page is globally editable (create a wiki account and start hacking), and you are free to add your own project ideas. They will be actively analyzed by our mentors, and all good ideas with volumes of work which fit the 3-month coding period have great chances of being accepted. 1.1 Important Notice
1.2 Student Proposal Guide
2. Ideas for the 2014 Google Summer of Code2.1 SIP to SMPP gatewayBrief Explanation The Short Message Peer-to-Peer (SMPP) in telecommunications is an open, industry standard protocol designed to provide a flexible data communication interface for the transfer of short message data between External Short Messaging Entities (ESME), Routing Entities (RE) and Message Centres.
The goal of this project is to create a OpenSIPS module that is able to communicate with a SMPP gateway. In other words, to create a new module that provides SIP to SMPP message translation.
The project requires good skills in C, as well as networking and communication protocols knowledge.
Peter Perfect - http://www.opensips.org/Development/GSoC-Proposal-Peter-Perfect
RTPProxy is a media relay server integrated in several Voice over IP (VoIP) platforms. It is mainly used to make communication between clients behind NAT (Network Address Translation) possible, but also provides several features like call recording or playing music announcements. As part of a VoIP platform, it acts as a standalone server in public networks controlled by a SIP server such as OpenSIPS that provides the call establishment logic. RTPProxy handles media streams (audio, video, fax), relaying RTP (Real Time Protocol) packets from one end to the other. 2.2 RTPProxy architecture re-design for multi-core supportBrief Explanation RTPProxy processes all the RTP traffic in a single thread, thus underutilizes the resources that modern computers provide. This project aims to enhance the RTPProxy media relay with a multi-threaded design that uses the computers resources more efficient while increasing the server's throughput. Expected Results The first challenge of this project is to study the possible techniques of parallelizing a network IO bound application and find the best approach to use in a media relay server. The next step is the implementation of this model in the RTPProxy server. Finally, some performance measurements have to be performed in order to prove the efficiency of the design. Knowledge Prerequisites The project requires strong C skills and knowledge of the Posix Threads API. Some experience with GDB would be a plus.
Applying students Peter Perfect - http://www.opensips.org/Development/GSoC-Proposal-Peter-Perfect 2.3 RTPProxy failover mechanism for on-going media sessionsBrief Explanation RTPProxy runs as a daemon that continuously processes users traffic. If it stops, due to unexpected errors like software crashes or hardware failures or even explicitely turn down for maintenance, then the users will no longer be able to hear each other. Therefore, in order to ensure availability a failover mechanism is required. Expected Results The goal of this project is to design and implement a replication mechanism for the RTPProxy server. Namely, each instance of the proxy has to duplicate its internal media sessions information to one or more remote instances. Knowledge Prerequisites The project requires strong C network programming skills.
Applying students Peter Perfect - http://www.opensips.org/Development/GSoC-Proposal-Peter-Perfect 2.4 Real-time collecting/reporting of media-related statisticsBrief Explanation In order to monitor the status of the entire VoIP platform, we have to monitor each of its subsystems. Since RTPProxy is one of them, we would like to be able to monitor it closely using multiple indices. Although it provides a way to retrieve some statistics, the current method is not very flexible and only provides limited information. Expected Results This project aims to improve the statistics interface of the RTPProxy Media Server by adding a set of new monitoring indices. A few examples are processed sessions, ongoing calls, failed sessions, etc. Knowledge Prerequisites This project requires good skills in C, as well as networking and communication protocols knowledge.
Applying students Peter Perfect - http://www.opensips.org/Development/GSoC-Proposal-Peter-Perfect |