The SIP Communicator Google Summer of Code 2007 Projects List
In case you are interested in one of the subjects, drop us a note on the gsoc SIP Communicator mailing list (gsoc@sip-communicator.dev.java.net) and let us know. Also make sure you apply through the Google SoC web app because otherwise your application doesn’t really count. In your application, please make sure that you tell us a few words about yourself ( Who are you? What have you previously worked on? ), why you are interested in the project, and anything else you think might be related.
What made you pick this project? (Is it that you like the feature itself, or are you thrilled by working with the technologies/libs that it involves?)
Anything else you’d like to say on yourself, the GSoC07 project you are applying for, SIP Communicator, and any even remotely related subject is welcome.)
(You like SIP Communicator and would like to contribute by implementing features not in the list? Let us know! If we like the proposition and you convince us that you are prepared to go all the way implementing it we will support your GSoC application !)
Note: In case you are interested in multiple project ideas, make sure you apply for each one separately (even if it makes you duplicate part of the application) as this way it would be easier for us to attribute them later.
- Support for RSS flows - An RSS flow could be easily represented in an instant messaging manner by showing RSS sources as IM contacts/buddies and flow content as instant messages. Doing so in the SIP Communicator would mean adding a simple Protocol Provider Service implementation over an existing RSS stack.
- Jingle Support - Implement support for Jingle in SIP Communicator. The project consists in implementing OperationSetBasicTelephony in the Jabber implementation of the ProtocolProviderService.
- Shared Whiteboards Implement support for shared whiteboards over a protocol of your choice. The project includes creating a state-of-the-art description of existing applcations that support shared whiteboards as well as standardized protocols that offer the functionality. Based on this document we will select an approach and implement whiteboard support for the SIP Communicator.
- RTP Streams Encryption - Implement encryption of RTP streams for media sessions in SIP Communicator
- Profiling and optimizing audio/video latency - Audio/Video Latency (lag) is a very important aspect and a recurrent issue with many communications applications, (including SIP Communicator). There are many reasons why latency may occur during a conversation and it maybe caused by any of a number of sources, like for example audio/video capture, encoding, streaming, decoding, or playback. The goal here would be to determine the best way to profile audio/video performance in SIP Communicator so that we could determine the time it takes for media when crossing various modules of SIP Communicator and tackle the latency.
- Integrating FMJ in SIP Communicator - SIP Communicator defines a media service that it uses for audio/video capture and RTP Streaming. The default media service implementation uses the JMF library for these tasks. We would like to have an alterante implementation of the media service that instead of JMF uses its open source alternative - FMJ.
- 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.
- Support for JXTA - Implement support for JXTA™ instant messaging and presence in SIP Communicator. Track online status and chat with your bodies using JXTA™ technologies.
- Module Global Hotkeys - Depending on the operating system, the module should register global configuratble 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.
- Account and contact details - Create one or more plugins providing the possibility to show contact info and enter, modify account details.
- SSH Support - Implement the Protocol Provider Service in a way that allows to see distant host machines in the contact list, connect to them through SSH upond opening a chat session and execute commands (through SSH) when sending instant messages sending back the command output.
- 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).
- Audio/Video Mailbox - The project consist in implementing a plugin that would pick up unanswered calls on SIP Communicator, play a prerecorded audio/video message and record incoming audio/video streams. The plugin should store all recorded messages and allow the user to play them later.

