The following review was conducted in July 2017.
Jitsi Desktop for Ubuntu is a mature open source soft phone that has been under development since 2003 (in its original incarnation as SIP Communicator). It's maintained by the Jitsi community, which now also supports several other projects focused on video conferencing.
Renamed to Jitsi Desktop from Jitsi phone, it offers support for AIM, Google Talk, ICQ, IPP, IPTel, IRC and XMPP, so it functions as a unified communications program. Perhaps the most exciting feature is that Jitsi features desktop sharing, which is an interesting use of video telephony.
Jitsi Desktop for Ubuntu is free to use, but can its features compete with other leading soft phones such as Counterpath's Bria? We did a comprehensive review to find out.
The Jitsi Desktop client works nicely with Ubuntu and has many useful features for SIP power users. The interface is simple, if not always immediately intuitive, and works with the ease generally expected from open source projects.
Configuration is simple, though accounts must be manually provisioned, and the wizard cannot account for providers (such as OnSIP) that require an auth_username for authentication. As such, you’ll get to view some of the advanced features in order to get the account online, but this is still a fairly simple process.
Unfortunately, we were unable to find a way to update the profile picture. We were able to add pictures to choose from, but selecting them did not replace the default gray icon. The Jitsi Desktop user documentation is nearly nonexistent, so we were unable to determine if the issue here was a question of design, configuration or a legitimate bug.
But aside from the vanities, how does it perform for calling?
Making phone calls is easy, as the Jitsi Desktop has a dialer that easily accepts phone numbers or SIP addresses. A call history is conveniently provided, which can be toggled on and off. There’s also a traditional number pad, for dialing vanity numbers like 1-800-FLOWERS, without having to reference another phone. This is an issue for some soft phone designs.
From the dialer, you can right click on any recent calls to add a contact, though you must have presence enabled in order to do so. Since we use other methods for presence at OnSIP, I had disabled SIP SIMPLE presence in my configuration, but this meant that I could not save any of my contacts. It's pretty unfortunate that there is no error message to explain this dependency, as it isn’t intuitive when you approach Jitsi simply as a SIP dialer rather than its true functionality as a unified communications manager.
Once the call begins, a basic pop-up displays, giving you call status and indicators for microphone and headphone volumes. For an audio call, there is a large display area that can display a contact’s icon, though we never managed to find out where you could assign an image to a contact. Perhaps this is a feature of the LDAP integration? Although such a large display is strange for an audio call, this is the same area where video calls are displayed, which makes the interface look much more sophisticated. Additionally, you can use the microphone and headset buttons to adjust the volume.
One of the flaws of Jitsi Desktop is that its interface has not matured along with the project. This user found that some of the icons were not intuitive, such as the Conference icon, which is second from left and looks like the Add Contact icon standard. Likewise with the Record icon, which could look like a doughnut hole, a camera, a lens, or perhaps a vinyl record. To discover the functionality of each item, I had to hover my mouse and wait for the context menu, which works, but does slow down usage. Other soft phones have solved the problem of visual ambiguity by putting labels on the buttons directly in the interface, but the Jitsi team has chosen not to do so.
Where Jitsi really shines is in its troubleshooting features. You can enable logging that will automatically generate pcaps of all of your SIP, XMPP, RTP and ice4j.org traffic. Jitsi will automatically rotate the pcaps over time so that this doesn’t become a disk hog, and it's a valuable tool for figuring out what happened on the call that just failed, rather than trying to reproduce the problem with logging on a future call. Detailed call information is also available, with a nice pop-up that gives good details about the network health, as well as some basic information about the call that updates progressively.
If you’re troubleshooting something other than your desktop, you may wish to use the screen sharing and remote desktop control features, which is a functionality that sets Jitsi Desktop apart from other SIP phones. Unfortunately, this was an unreliable feature for us, but when we did get it to work, it was exciting.
Despite the ambiguous icons, functionality generally worked as expected, except in the case of attended transfers. Call recording was remarkably simple. With the press of a button, the call was recorded to .mp3 format to a directory of your choice.
Now, for a word on transfers. That’s the icon that may look like a call forward to you, in the middle of the row of icons. On many phones, the transfer button will give the user the option of a blind or an attended transfer, so a user new to Jitsi may be mystified as to how to do an attended transfer.
The transfer button here will become an attended transfer button, but only after a second call has been initiated from the dialer. While this might not seem intuitive, it's a style that we’ve seen in other phones, such as phones by Snom, though our experience is that this style of transferring frequently confuses users.
Additionally, you could make an attended transfer only from the second call. Any attempt to initiate the transfer from the first call, which seemed more intuitive to this user, failed.
So, for attended transfer:
- Make a phone call, which we will refer to as Call A.
- Make a second phone call, which we will refer to as Call B. When you begin Call B, Call A will automatically be placed on hold.
- On the Call window for Call B, click the transfer button and transfer to Call A.
Any other combination fails.
Call hold worked well, with clear visual indicators as to whether the call was on local or remote hold. The full screen feature was really nice, particularly on video calls, and breaking out of it was as simple as it always should be. Likewise, it was easy to toggle video on and off during the call. Conferences had a nice display on them, showing the Jitsi community’s strength as developers of video conference bridges.
Jitsi Desktop has the same kind of functionality as most commercial soft phones. There's no real gap in features, and the gap mostly comes down to an issue of reliability. As an open source project, Jitsi Desktop isn't beholden to the same quality assurances as other enterprise soft phones. However, with the free pricing, that's likely the trade off a Jitsi user will have to deal with. The main features include:
- 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
- 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
- Zeroconf via mDNS/DNS-SD (à la Apple's Bonjour)
- Group video support (Jitsi Videobridge)
- Packet loss concealment with the SILK and Opus codecs
Jitsi is certainly on par with other soft phones for voice quality, which are dependent on the processing power and quality of your computer’s speakers. That is to say: you’re going to want to use headphones instead of relying on the speakers in your laptop. Providing you’re working on a reasonably capable computer with a decent headset, there’s no reason why you couldn’t use Jitsi for professional sounding voice calls.
Video quality was very respectable and can support a resolution of up to 720p. Jitsi offers a range of display options, so you can decide if you want full screen video or whether you’d rather keep it small. Fortunately, you won’t have to squint at a small screen, which is necessary with some other clients.
OnSIP Interoperability Testing
At OnSIP, we put each of the phones we use through a multi-step interoperability test in which we apply ~30 test cases. An example of a test case would be the following:
Test phone calls phone B
B picks up
B puts Test phone on hold
B calls phone C
C picks up
B transfers test phone to C
Call must be transferred correctly to C. B must be released correctly after the transfer. When C picks up, audio must work in both ways between test phone and C. When test phone is on hold, there is no audio between it and phone B.
Jitsi for Desktop passed all of our standard interoperability testing.
1. Create New Account
Open Jitsi and then go to File → Create New Account. A wizard will open, as below:
2. Enter SIP ID and Password
In the Network drop down, choose SIP Network, then supply your SIP ID and Password.
3. Enter Advanced Options
Click on Advanced. Please note that the Advanced configuration is mandatory for the OnSIP service.
In the advanced tab, fill in your Authorization Name. Uncheck “Configure proxy automatically” and change it to sip.onsip.com and change Preferred transport to “UDP".
Change your Keep alive method to REGISTER with an interval of 600.
Under DTMF, change the DTMF method to RTP (RFC 2833/RFC 4733).
4. Change Encodings
Choose the Encodings Menu. Select “Override global encoding settings” and then select the codecs you want to use, but note that you must keep telephone-event/8000 for DTMF to function properly.
Although the account has the information it needs to register, it is recommended that you tweak which codecs Jitsi is sending the OnSIP SIP proxies. By default, it sends far more codecs than we support, which means that the INVITE packet size is unnecessarily large, which can cause problems with packet fragmentation.
5. Confirm Summary
Click “Next” and then you’ll see a summary of the options. Click “Sign in”. Jitsi Desktop is now ready to use.
Given that the landscape for native Linux SIP clients is fairly bleak, Jitsi stands out as a very useful piece of software. We use it heavily at the OnSIP offices because of its robust configuration, easy customization, and in-depth troubleshooting functions. Although it’s not as sleek in appearance many commercial soft phones, its rich feature set and easy availability make up for the lack of aesthetic appeal.
The Jitsi project is an exciting combination of servers and clients used for video bridging and unified communications, so it's not surprising to see that the strongest aspects of Jitsi Desktop were in conferencing and video calling. Although there are definitely aspects of the phone that were head-scratching for a new user, with a little education and guidance, Jitsi Desktop can become a very reasonable go-to phone for every day usage.
Overall, Jitsi Desktop is by far the best phone that we’ve seen yet for Linux. The phone stands true to open source ideals, has many configurable options, and works extremely well for development and testing. In addition to that, its true functionality as an integrated presence client means that for many, Jitsi Desktop will help free up screen real estate with its ability to combine phone and chat functionality in a very workable way.