Project lead:

Active Developers (alphabetically):

Google Summer of Code 2009 Students

  • Ajay Chhatwal - India
  • Camille Kurtz - France
  • Dilshan Amadoru - Sri Lanka
  • Brett Geren - USA
  • Linus Wallgren - Sweden
  • Egidijus Jankauskas - UK
  • Romain Philibert - France
  • George Politis - Greece
  • Martin Harvan - Slovakia
  • Shashank Tyagi - India

Various Contributors (by date of last integrated contribution)

  • Sebastian Heib (Synyx - Germany) - Added a contact aware call menu in the right button menu of the contact list. Disable sending messages from protocol which doesn’t support this.
  • Javier Mendiara Cañardo - Provided multiple fixes for the call dialpad, which enabled the correct sending of DTMF tones through the GUI. Reported a problem related to DNS resolution when an outbound proxy is defined with an IP address rather than a domain name. Fixed exports for the util manifest.
  • Martin Harvan (Kosice - Slovakia) - Submitted a patch to fix the nicknames being not fully displayed in chat tabs. Provided a patch to fix not disappearing envelope icons.
  • Richard S. Hall (Sun Microsystems - USA) - Did most of the debugging and provided specific indications for migration during our migration to felix 1.4.0. Reported a formatting problem (and fix thereof) in felix.client.run.properties.
  • Sébastien Mazy (Lyon - France) - Submitted a patch to resize avatars in a way respecting the ratio of the original image. Contributed a patch to fix the typo isDeafult in impl.notification.NotificationServiceImpl. Contributed a patch to fix the typo addSubsciptionListener by replacing it with addSubscriptionListener. Provided a patch enabling the delete button in all editable combo boxes. Contributed a patch fixing the log4j bundle which was previously displayed as an “unknown bundle” by our plugin manager. Submitted a patch that fixes trackpoint scrolling in the contact list. Contributed a patch that enables parameter passing to exported windows in user interface. Provided an implementation of the exported window parameter pass for the “Add Contact Wizard”. Submitted a patch that allows SIP Communicator to always use a single instance of the jain-sip stack instead of one instance per account as it was first implemented. Sebastien is now part of the developer team.
  • Alan Kelly - (George Mason University - USA) - Contributed a patch that fixes adding of plugin components in the main window toolbar. Submitted a fix for the way the Whiteboard access menu item was being registered with the application. Submitted a patch that allows us avoiding DNS queries by the SIP package when using raw IP addresses. Improved code for resolving SIP and XMPP addresses though SRV queries. Made the tabs in the configuration frame scrollable. Changed some important UI strings to improve consistency. Contributed modifications of all application resources to match the new resource convention. Removed the tool tips of the main menu items. Alan is now part of the developer team.
  • Sergio Carrilho - (University of Tokyo, Japan) - Provided a Portuguese translation.
  • Rupert Burchardi - (Berlin - Germany) - Provided a full implementation of group chat for the MSN, ICQ and Yahoo protocols.
  • Werner Dittmann (Deutsche Telekom Online, Germany) - Contributed improvements to the SRTP implementation. Provided ZRTP4J (see project’s contributions below). Fixed build.xml to take into account the architecture that we are running on when constructing LD_LIBRARY_PATH on linux. Committed a patch that removes improper logging. Removed unnecessary casts from ZRTPUserCallback to SCCallback. Provided documentation for the ZRTP4J message codes. Werner is now part of the developer team.
  • Emanuel Onica - Romania - Provided an early version of the support for “no registrar” accounts in SIP. Provided the ZRTP implementation as part of GSoC 2008. Moved SecureEvent and SecureEventListener from the .service.protocol package into the .service.protocol.event package.
  • Vladimir Škarupelov - Provided the Profiler4J integration work.
  • Damien Roth (Louis Pasteur University - France) - Provided the DICT protocol and wizard implementation and documentation. Improve the DICT protocol with a method which renames automatically DICT new accounts with their descriptions in order of their codes ID. Contributed a patch that sorts the list of plugins shown in the plugin manager. Contributed a patch that fixes some about window and splash screen bugs. Contributed the following improvements to the automatic status change configuration dialog: Set a title; Allow the user to close it with the X button; use dispose() instead of setVisible(false); Update the design to fit with the other dialogs (for the two buttons at the bottom of the dialog); no border and align to the right. Now a part of the developer team.
  • Dai Zhiwei - Contributed a patch to fix the throwing of NullPointerException with details on the cause in the Gibberish and Icq ProtocolProviderFactory implementations.
  • Cristina Tabacaru - Contributed a Romanian translation. Started the sc-android project on java.net.
  • Guillaume Schreiner (Louis Pasteur University - France) - Provided a set of black&white icons for the MacOSX systray.
  • Lubomir Marinov (Bulgaria) - Contributed a semi-implementation layer for protocol provider services. Reported unused classes in the plugin hierarchy. Moved isRegistered() method for all protocol providers to AbstractProtocolProviderService. Contributed a customized Jabber wizard for creating Google Talk accounts. Updated icons for the Google Talk account wizard. Fixed a NullPointerException during initialization of SIP accounts. Contributed support for call hold in SIP (based on a patch from Maxime Bourdon & Thomas Meyer ). Contributed code for .sip-communicator directory management on MacOSX and Windows and the creation of the sc-launcher as a bundle. Lubomir is now part of the developer team.
  • Dan-Cristian Bogos (ITsysCOM - Germany) - Tracked down, and reported a set of bugs with authentication and CSeq numbering in the SIP Protocol Provider. Reported that destination URIs for SIP messages were rejected unless they have a valid AAAA/A record. Reported that display names were not shown for volatile contacts.
  • Maxime Bourdon & Thomas Meyer (Louis Pasteur University - France) - implemented and contributed a plugin for extended and searchable call history. Submitted a first version of support for call hold.
  • Damian Johnson - (Canada) - Contributed key binding plugin that manages all defined application key bindings.
  • Alexandre Maillard - (Louis Pasteur University - France) - Contributed notification’s configuration form.
  • Przemyslaw Dudek (Nextiraone - Poland) - Submitted a patch to get rid of nasty hand array coping in call session implementation.
  • Cédric Litzelmann (Louis Pasteur University - France) - Provided the DICT protocol and wizard implementation and documentation.
  • Atul Aggarwal (India) - Proposed a patch for correcting error management when installing a new RSS account.
  • Keio Kraaner (Estonia) - Contributed a mechanism for filtering incoming instant messages.
  • Ivo Petrov & Tsvetan Petrov (Ivo Petrov Architects) - Contributed the new SIP Communicator logo for the 1.0 release (used all over this site).
  • Dave Trollope (Lucent Technologies) - Reported inconsistent build.xml naming, contributed the first piece of user doc.
  • Romain Kuntz (Nautilus6 Project - Japan) - Created scripts for generating Mac OS X installers. Created a module that uses growl on Mac OS X for popup notifications. Romain is now part of the developer team.
  • Pavel Tankov (Bulgaria) - Created scripts for generating release and nightly RPM packages. Official Maintainer for RPM packages. Reported numerous bugs with the UI, build.xml and the installers. Contributed an extensive study of allowed message length for Yahoo! and ICQ.
  • Jean-Marie Heitz (Louis Pasteur University - France) - improved javadoc comments in some methods of AccountID and WizardPage. Contributed an OperationSet for sending DTMF tones during a call. Reported numerous issues with the protocol implementation tutorial. Contributed an implementation of OperationSetDTMF for SIP, using SIP INFO messages.
  • Pablo L. (Spain) - Fixed several bugs related to TLS usage with the SIP protocol provider. Contributed a tutorial explaining how to use SIP Communicator with TLS. Reported and fixed a problem with SDP parsing occurring in the absence of a global connection param.
  • Vincent Lucas (Louis Pasteur University - France) - contributed a javadns based implementation of the NetworkUtils.getSRVRecords() method (previously based on JNDI). The method would now work on systems with IPv6 DNS servers. Added item abstracts (when they exist) for RSS feeds in ProtocolProviderServiceRssImpl. Together with Mihai, fixed formatting of HTML messages in the GUI. Mentored Mihai Balan during GSoC 2007. Contributed the alpha3 banner. Submitted a patch that allows closing the startup splash screen. Provided an alpha2 news banner. Contributed a French translation. Vincent is now part of the developer team.
  • Nicolas Chamouard (Louis Pasteur University - France) - contributed extended support for a systray control module with notification tray popups for incoming messages.
  • Chris Vincenot (Louis Pasteur University - France) - reported a problem (and fix thereof) with the export of the org.apache.xml.serialize package. Chris is now part of the development team.
  • Tom Remoleur (Louis Pasteur University - France) - reported numerous bugs and proposed fixes on issues such as: missing method for removing components from the UI Service, a failing config component would cause the whole Config Form display to crash (instead of gracefully removing the failing component), setting a property value in the ConfigurationService would not work if the property has been previously set to null. Reported multiple problems with the nightly source snapshots.
  • Nicolas Grandclaude (Louis Pasteur University - France) - extended the Jabber account creation wizard with the possibility of registering a new account on one of the servers advertised by www.jabber.org/servers.xml . Added the possibility of defining a resource name and priority when creating jabber accounts.
  • Jean-Albert Vescovo (Louis Pasteur University - France) - contributed an RSS implementation of the protocol provider service. RSS flows can now be added as contacts to our contact list and new events are displayed as instant messages.
  • Benoit Pradelle (Louis Pasteur University - France) - contributed support for SIP instant messaging (i.e. an implementation of OperationSetBasicInstantMessaging). Ben is now part of the developer team.
  • Christian Vincenot (Louis Pasteur University - France) - contributed support for Bonjour/Zeroconf.
  • Ryan Ricard (University of Texas - USA) - made build.xml usable from outside the project directory. Contributed a first version of an audio video mailbox.
  • Mihai Balan (Politehnica University of Bucharest - Romania) - Fixed RSS incompatibility coming from the default Java User-Agent header value. Added support for Avatars to RSS by using favicons or the RSS default image. Added HTML formatting for RSS messages in ProtocolProviderServiceRssImpl. Together with Vincent, fixed formatting of HTML messages in the GUI. Provided item identification mechanism for RSS feeds. Fixed smilies representation for text/html message type in the GUI. Wrote the SLICK tests for RSS.
  • Symphorien Wanko (Louis Pasteur University - France) - Fixed call start time initialization in the GUI. Reported some other bugs considering the call gui. Submitted a fix for properly shutting down Jabber Protocol Providers on Bundle stop. Fixed recording media processor creators. Fixed warning while compiling with 1.5. Reported and fixed deprecation warnings in ContactRssImpl. Implemented Drag&Drop in the contact list and automatic choose of default telephony account when a telephony contact is selected. Implemented support for Jingle. Sympho is now part of the developer team.
  • Adam Goldstein (Brandeis University - USA) - Provided a patch that fixed a duplicated group creation problem.
  • Michael Koch - Provided a patch for registering custom codecs and formats in JMF. Provided i18n improvements (including fixes and comments for the build.xml and the GUI messages.properties). Reported and fixed broken javadoc target on Windows XP. Improved RTP flow statistics in CallSessionImpl. Fixed a memory leak in MediaSessionImpl. Fixed player deallocation in CallSessionImpl. Fixed a memory leak in CallSessionImpl. Suggested patches for synchronizing methods in CallSessionImpl and Operation Set Basic Telephony SipImpl. Submitted graceful handling for duplicate OK responses during call initiation. Submitted a patch that causes ACK-s to be sent earlier and thus helps avoid OK retransmission. Michael is now part of the developer team.
  • Thomas Hofer - Updated the documentation for Eclipse by adding new information about Eclipse v3.3 and completing the debug configuration manual. Reported an issue with Systray imports and fix thereof. Reported and fixed bugs in the notification system. Reported a bug (and fix thereof) when selecting audio formats in MediaControl. Reported fix in the name of Alaw Packetizer. Provided ulaw Packetizer. Provided localization files in German for the ui and systray bundles. Reported fix for buffer length in MediaControl. Thomas is now part of the developer team.
  • Jeroen van Bemmel - Fixed issues with SIP authentication and registration request creation.
  • Alexandros Karypidis - reported some problems in the Eclipse Configuration documentation.
  • Stephane Remy - provided implementation of the IRC protocol.
  • Loic Kempf - provided implementation of the IRC protocol.
  • Ralph Weires - Reported and fixed wrong implementation of charset handling in SIP IM messages. Reported and fixed some issues in SIMPLE preventing it from working with other SIP clients. More generally, helped us in improving the SIMPLE capacities of SC.
  • Michael (mik) Kraizelman - Advised on caching TCP connections and thus improving support for TCP SIP in SIP Communicator.
  • Elsa Tai - Reported a bug in the QuickMenu that caused the disappearing of the tool bar when the info button was removed.
  • Enrico Marocco (Telecom Italia) - Contributed an Italian translation.
  • NIE PIN (Helsinki University of Technology - Finland) - Contributed a simplified Chinese translation.
  • Jean-Daniel GIORDANI (Louis Pasteur University - France) - Provided a french translation for the systray module.
  • Daniel Veljjanoski - Proposed a nice display with html rendering of the error dialog.

SIP Communicator uses binaries or source code from the following projects (alphabetically)

  • AC.lib-ICO - Reads images in MS ICO file format (i.e., favicon.ico) from URL, file, stream, and buffer and converts them into Java Image objects. We are using AC.lib-ICO for avatar support in the RSS protocol provider.
  • Apache Felix - SIP Communicator is built around an OSGI core that gives us our modularity. Felix is an OSGI implementation by Apache, that we have chosen for its quality and reliability.
  • BareBonesBrowserLaunch.java - A simple tool that opens a native web browser from a Java application.
  • CruiseControl - The continuous build system that we use for nightly builds in SIP Communicator.
  • dict4j - A java client for the DICT Protocol. Developed by ROTH Damien and Litzelmann Cédric.
  • FFmpeg - a complete solution to record, convert and stream audio and video.
  • FMJ - an alternative to Java Media Framework (JMF)
  • growl - A Mac OS X notification daemon.
  • IzPack - An installer generator for the Java platform. Produces lightweight installers that can be run on any operating system whether a Java virtual machine is available or not.
  • jain-sip - Our SIP stack. Developed by Mudumbai (Ranga) Rangnathan and a long list of contributors.
  • java-jml - An implementation of the MSN protocol
  • JmDNS - A Java implementation of multi-cast DNS that we use for service registration and discovery in local area networks. We use JmDNS for compatibility with the Rendezvous/Bonjour/ZeroConf protocol.
  • dnsjava - An implementation of DNS for Java, supporting all defined record types (including the DNSSEC types). It also works for custom DNS types.
  • joscar - An implementation of the oscar protocol that we use for support of ICQ. The stack is developed by Keith Lea and a list of contributors.
  • jspeex - A java implementation of the speex audio codec.
  • jYMSG - YMSG Java API - Yahoo Instant Messenger Support for Java.
  • LTI-CIVIL - a Java library for capturing images from a video source such as a USB camera.
  • pircbot - A Java framework for writing IRC bots.
  • Profiler4J - Java runtime profiler
  • Retroweaver - A bytecode rewriter that enables taking advantage of Java 1.5 language features, while still retaining binary compatability with 1.4 virtual machines.
  • ROME - A set of open source Java tools for parsing, generating and publishing RSS and Atom feeds that we use inside our RSS protocol provider.
  • Smack - An Open Source XMPP (Jabber) client library for instant messaging and presence.
  • stun4j - An implementation of the STUN and (hopefully soon) TURN protocols.
  • ZRTP4J - An implementation of the ZRTP protocol in Java developed by Werner Dittmann.

Google Summer of Code 2008 Students

Google Summer of Code 2007 Students

Currently inactive (but once very active) developers

  • Pierre Floury (ULP)

Pre 1.0 Contributors

  • The SIP Communicator pre 1.0 revisions have received contributions from the following list of people (Most of these contributions have made their way to the current release):

M. Ranganathan aka Ranga (NIST), Willem Romijn (Lucent Technologies), Luca Bincoletto (Telecom Lab Italia), Lautent Michel (geo12.com), Phelim O’Doherty (Sun Microsystems), Iain MacDonnell (Sun Microsystems), Vince Fourcade (geo12.com), Ivo Petrov (Ivo Petrov Architects), Hristian Georgiev (Ivo Petrov Architects), Tsvetan Ivov Petrov (Ivo Petrov Architects), Eero Vaarnas, LynlvL at netscape dot com, Roberto Tealdi, Oleg Shevchenko (MIRATECH), Damian Minkov (COSMOS Software Enterprises), Steven Lass, Zack Angelo (Nostromo), Martin Andre (Louis Pasteur University), Joe Provino (SUN Microsystems), Thomas Ackermann, David Edmondson (SUN Microsystems), Ling Fang-Yu (Chunghwa Telecom Co., Ltd.), Paulo Pizarro (Digitro), Kevin Maltby, Fredrik Wickstrom, Jen-Ruie Peng, Asa Karlsson, John J. Barton (IBM), Christian Fritjof, Dennis Lazreg (Dolphin Software AS Norway).

If you made a contribution and are not in the list - please let us know we’ll be more than glad to add you.