Student Projects
(click here for a French version of this page)

SIP Communicator (http://sip-communicator.org) is an audio/video Internet phone and instant messenger that supports some of the most popular instant messaging and telephony protocols such as SIP, Jabber, AIM/ICQ, MSN, Yahoo! Messenger, Bonjour, IRC, RSS and soon others like IAX. It is also free/open source software application written and java Java. Its development started out in the Louis Pasteur University in Strasbourg. Today the community has grown and includes members from all around the world (Japon, Allemagne, Royaume-Uni, Bulgarie pour n’en citer que quelques-uns).

Following is a list of student projects that different SIP Communicator members would be happy to help you with. For all questions and discussions please refer to our development mailing list: dev@sip-communicator.dev.java.net ( subscribe)

Note: Successful projects would be integrated in the trunk of the SIP Communicator subversion repository and your effort will be acknowledged on our Team and Contributors page.

  1. Call transfer - Implement the possibility of transferring calls (i.e., connecting your correspondent to someone else) in SIP Communicator.

  2. Implement G.729 - Add support for the ITU G.729 audio codec in SIP Communicator.

  3. Applet runner - Create a custom version of SIP Communicator that can be run as an applet.

  4. Create a Java Web Start installer - Create Java Web Start packages for SIP Communicator so that users could install it with a single click on a web page link.

  5. LDAP service and tool - Implement an OSGi service for SIP Communicator that would allow other plugins to lookup phone URIs in an online LDAP directory. The project also includes writing a simple GUI plugin that would allow users to use the LDAP services.

  6. Implement support for DTMF through RTP - Enable SIP Communicator to send tones in a phone conversation using RFC 4733.

  7. File transfer - Provide file transfer support in the SIP Communicator for all already implemented protocols that support this functionality.

  8. Online games for SIP Communicator - Implement a game plugin that would allow to play easily little multiplayer games with someone from the buddy list.

  9. Support for on-line dictionaries - Add support for querying dictionaries server acting as contact. Just tip as a message the word your looking for a definition or a translation. The server, which is seen as a contact will reply to your message by the given definition or translation.

  10. Shared whiteboards for multiple users - Extend the current implementation of whiteboards for multiple users.

  11. Geolocation Aware Contact list with Jabber - The “User Geolocation” extension (XEP-0080) of the XMPP protocol allows clients to send to their buddies information on their geographic location. This makes it possible for applications like SIP Communicator to show their users a Map (e.g. using the Google Maps web service) indicating the corresponding location for all their contacts.

  12. Proactive Typing Notifications - Develop a plugin for SIP Communicator that would notify the user every time a contact has started typing a message.

  13. Spell Checker for Outgoing Messages - Develop a SIP Communicator plugin that would have to scan outgoing messages for spelling errors the same way that most word processors like OpenOffice and Microsoft Word handle this. Once an error is detected, the user should be alerted (e.g. by underlining the word) and a right click on the wrong word should open suggestions with the right spelling. The project includes a research for existing dictionaries in various langages.

  14. Profile Manager for SIP Communicator - Create a SIP Communicator extension that would allow users to create, manage, and load profiles. A profile is a user specific environment that contains custom settings such as user history, protocol accounts, and meta contact list.

  15. Detecting User Inactivity - Detecting user inactivity in general could be delicate and even more so when done from within a java application such as the SIP Communicator. The project includes determining the best way that a java application could detect user inactivity, and then implementing a SIP Communicator plugin which upon detection of user inactivity longer than a predefined interval, would change presence status of all online accounts (i.e. set them to an Away or NA state).

  16. Support for phone calls with the IAX protocol - Add support for the Inter-Asterisk eXchange protocol (IAX2) for SIP Communicator. Support for this protocol would represent a new implementation of our Protocol Provider Service and would have to be based on an existing open source implementation that would also have to be selected during the project.

  17. Implementation of encryption key sharing algorithms - Integrate an existing or implement a new key management protocol for SIP Communicator, that would be used in conjunction with the SRTP implementation.

  18. Plugin Management UI and an OSGI Bundle Repository - The Felix OSGI implementation (used as the core of the SIP Communicator) supports retrieving plugins (OSGI bundles) from an online repository. In other words, it should be possible for a user running the SIP Communicator to download, install, configure, and start a plugin by simply hitting a button. We would like to create a User interface that would allow users to access this functionality of the OSGI core. We would also like to have an online OSGI repository that we could use for uploading and storing plugins for the SIP Communicator.

  19. Module Global Shortcuts - Depending on the operating system, the module should register global configurable keyboard shortcuts for key combinations such as Ctrl+Shift+I (open last received message) and Ctrl+Shift+A (hide show contact list). The shortcuts need to be active even if the SIP Communicator is not the currently active application.