Supriya Ghosh (Editor)

Jitsi

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Emil Ivov

Development status
  
Active

Preview release
  
2.11 (nightly) [±]

Jitsi

Developer(s)
  
Jitsi Team and Contributors

Initial release
  
2003; 14 years ago (2003)

Stable release
  
2.10 (build.5550) (February 5, 2017; 34 days ago (2017-02-05)) [±]

Jitsi (formerly SIP Communicator) is a free and open source multiplatform voice (VoIP), videoconferencing and instant messaging application for Windows, Linux, Mac OS X and Android. It supports several popular instant-messaging and telephony protocols, including open recognised encryption protocols for chat (OTR) and voice/video/streaming and voice/video conferencing (SIP/RTP/SRTP/ZRTP), as well as built-in IPv6, NAT traversal and DNSSEC. Jitsi and its source code are released under the terms of the Apache Software Licence.

Contents

Work on Jitsi (then SIP Communicator) started in 2003 in the context of a student project by Emil Ivov at the University of Strasbourg. It was originally released as an example video phone in the JAIN-SIP stack and later spun off as a standalone project.

Originally the project was mostly used as an experimentation tool because of its support for IPv6. Through the years, as the project gathered members, it also added support for protocols other than SIP.

Jitsi has received support from various institutions such as the NLnet Foundation, the University of Strasbourg and the Region of Alsace and it has also had multiple participations in the Google Summer of Code program.

In 2009, Emil Ivov founded the BlueJimp company which has employed some of Jitsi's main contributors in order to offer professional support and development services related to the project.

In 2011, after successfully adding support for audio/video communication over XMPP’s Jingle extensions, the project was renamed to Jitsi since it was no longer "a SIP only Communicator". This name originates from the Bulgarian "жици" (wires).

On November 4, 2014, "Jitsi + Ostel" scored 6 out of 7 points on the Electronic Frontier Foundation's secure messaging scorecard. They lost a point because there has not been a recent independent code audit.

On February 1, 2015, Hristo Terezov, Ingo Bauersachs and the rest of the team released version 2.6 from their stand at the Free and Open Source Software Developers' European Meeting 2015 event in Brussels. This release includes security fixes, removes support of the deprecated MSN protocol, along with SSLv3 in XMPP. Among other notable improvements, the OS X version bundles a Java 8 runtime, enables echo cancelling by default, and uses the CoreAudio subsystem. The Linux build addresses font issues with the GTK+ native LookAndFeel, and fixes some long standing issues about microphone level on call setup when using the PulseAudio sound system. This release also adds the embedded Java database Hyper SQL Database to improve performance for users with huge configuration files, a feature which is disabled by default. A full list of changes is available on the project web site.

Features

Jitsi supports multiple operating systems, including Windows as well as Unix-like systems such as Linux, Mac OS X and BSD. "Beta" packages built for Android are available but the project's roadmap describes the porting to Android as "on hold". It also includes:

  • Attended and blind call transfer
  • Auto away
  • Auto re-connect
  • Auto answer and Auto Forward
  • Call recording
  • Call encryption with SRTP and ZRTP
  • Conference calls
  • Direct media connection establishment with the ICE protocol
  • Desktop Streaming
  • Encrypted password storage using a master password
  • File transfer for XMPP, AIM/ICQ, Windows Live Messenger, YIM
  • Instant messaging encryption with OTR
  • IPv6 support for SIP and XMPP
  • Media relaying with the TURN protocol
  • Message Waiting Indication (RFC 3842)
  • Voice and video calls for SIP and XMPP using H.264 and H.263 or VP8 for video encoding
  • Wideband audio with SILK, G.722, Speex and Opus
  • DTMF support with SIP INFO, RTP (RFC 2833/RFC 4733), In-band
  • Zeroconf via mDNS/DNS-SD (à la Apple's Bonjour)
  • DNSSEC
  • Group video support (Jitsi Videobridge)
  • Packet loss concealment with the SILK and Opus codecs
  • Supported protocols

    The following protocols are currently supported by Jitsi:

  • IRC
  • MSNP (Microsoft Messenger service, commonly known as MSN, .NET, or Live; no multimedia support)
  • OSCAR (AIM/ICQ/MobileMe)
  • SIP/SIMPLE
  • XMPP/Jingle (Google Talk, LJ Talk, Gizmo5, Facebook Chat, …)
  • YMSG (YIM; only basic chat and file transfers)
  • Architecture

    Jitsi is mostly written in Java which helps reuse most of the same code over the various operating systems it works on. Its GUI is based upon Swing. The project also uses native code for the implementation of platform specific tasks such as audio/video capture and rendering, IP address selection, and access to native popup notification systems such as Growl.

    The project uses the Apache Felix OSGi implementation for modularity.

    Among others Jitsi uses the JAIN-SIP protocol stack for SIP support and the Jive Software Smack library for XMPP.

    As Jitsi can handle IPv6 it is especially interesting for direct PC-to-PC (peer-to-peer) communication, for instance, if both sides were 'trapped' behind NAT routers, but could obtain a reachable IPv6 address via a tunnel-broker.

    The Jitsi community has also completed an ICE implementation called ice4j.org, which it uses to provide NAT traversal capabilities, and assist IPv4 to IPv6 transition.

    Audio systems supported are PortAudio, PulseAudio and WASAPI (Windows Audio Session API).

    References

    Jitsi Wikipedia