Five no-cost phone clients for Linux

Five-Card Draw


Looking for a softphone? We compare five Linux-ready VoIP clients.

By Stefan Schwarzer

Sean Gladwell, Fotolia

If you have read the introduction to VoIP earlier in this issue, you will be familiar with the Ekiga VoIP client, which comes with the Gnome desktop. Several other softphones also inhabit the desktops of Linux users. In this article, I consider the leading candidates in a head-to-head comparison: Ekiga [1], KPhone SI [2], Linphone [3], Skype [4], and Twinkle [5].

All of these programs share support for Internet telephony and availability at no cost. All of them, apart from the proprietary Skype, are GPL'd and support the SIP and RTP protocols (see the VoIP Basics article). Table 1 gives an overview of the test candidates. The table does not include KPhone SI for reasons that will be explained later.

SIP Versus Skype

The Skype program is the big exception in this field of test candidates. Whereas the other four clients all rely on the open SIP standard for placing calls, Skype uses a proprietary approach, which the manufacturer does not reveal fully; for example, the API [6] is closed source. This secrecy basically precludes communications with free clients.

Skype has been able to conquer such a large share of the market because it was the easiest program for Internet-based phone calls when it was released. Thus, the Skype client network is an island, unless you are prepared to pay money for commercial interfaces such as ChanSkype [7] or PSGw [8].

Bearing this in mind, it might be preferable to do without Skype and rely on open standards instead. However, many VoIP subscribers use only Skype clients, not SIP. Skype is thus more or less synonymous with VoIP on Windows desktops. Fortunately, it is easier to run a SIP client parallel to Skype than to run multiple operating systems.

Skype

Skype (Figure 1) is only available for the x86 platform. However, to run it on 64-bit distributions, you can use emulation libraries [9]. The current Linux version of Skype is 1.3.0.53, and it lacks many functions included with the current Windows version 3.2.0.175. For example, the Linux version does not provide video support.

Figure 1: In Skype, you place a call by selecting the contact and clicking the phone icon, bottom left.

The missing features of the Linux version clearly demonstrate that the program is firmly rooted in the Windows camp. For example, consider how Skype handles locales: You can't set the typical environmental variables, $LANG and $LC_MESSAGES. If you need support for any language but English, you have to select Tools | Change Language.

Because the software is tailored for the Skype service, there is no need to select a provider. NAT connections work without the need for user interaction. The Skype client stores your personal contacts on a server system hosted by Skype; this means you can access your contacts from any computer after logging in to your Skype account. To improve voice quality for the connection, it is a good idea to open the UDP port set in Actions | Options | Advanced at your firewall.

Its simplicity has made Skype extremely popular. Protocols such as STUN and SIP, which make other phone clients almost as easy to use as Skype, were virtually unknown when Skype first appeared. Of course, security-conscious users might not like Skype's server-based storage of address book information. Skype has a few other problems [10]; however, in contrast to the other applications in our lab, Skype for Linux can transfer files.

Although the controls are rather simple for the most part, the connection statistics feature is hard to find. Drag the mouse to the icon for the contact, and hover over the icon to read the statistics. Skype DTMF support [11] is not always reliable, but this is something the program has in common with all the other candidates .


DTMF: Dual-tone multiple frequency, or touch tone. The keys generate dissonant tones of two different frequencies.

Ekiga

Ekiga, the program formerly known as GnomeMeeting (Figure 2), can look back on a long history. The first version was released early in 2002, and the program has been a regular GNU desktop component since Gnome 2.14. Ekiga was the most usable and convenient of all the Open Source programs in the test, starting with a clear-cut wizard (or "druid"), which helps users handle initial configuration. The druid even detects the best network configuration for your client; this is a feature that newcomers will be very happy with when they try to set up a SIP account.

Figure 2: Ekiga is the new manifestation of the tool once known as GnomeMeeting.

Ekiga not only impresses with simple configuration and clear-cut controls, but also with its feature scope: It is the only program in this test, apart from Linphone, to support calls with a parallel video stream and the only program to support the H.323 video conferencing standard.

But where there's light there's shade: Ekiga only supports DTMF tones - of the kind used to navigate menu systems - in compliance with RFC 2833, and this is not sufficient for the Sipgate answering machine, for example.

KPhone SI

KPhone SI is included with some KDE distributions, such as Knoppix [12]. Version 4.2 of the program is fairly widespread. The project has now migrated to SourceForge and been split to create two projects. The KPhone SI SIP client most closely reflects the original KPhone. Strangely, the current version of KPhone SI is not 4.2 or higher, but 1.0.2.

The program is not listed in Table 1 because the tests revealed some extremely disappointing results, forcing the conclusion that the program is not suitable for production use. The first error message occurs when you fill out the dialog box on first launch (Figure 3). In my case, this was probably because I had not configured a STUN server at the time.

Figure 3: The optional tag for the username, as displayed in the dialog box on initial launch, can be misleading. Even if you fill out the box, the program still throws an error.

After battling my way through the setup dialogs, I finally found the STUN option in the Sockets tab below Preferences | SIP Preferences. If you are brave enough to go on to configure the audio device, the next dialog box is shown in Figure 4 - this is probably enough to scare off many potential users.

Figure 4: Cryptic audio settings in KPhone SI. Most users will not know what OSS Device Mode means or which device file represents their headset.

To survive this kind of configuration, you need to know your way around your computer, its subsystems, and the operating system, plus be a VoIP expert. Less well versed users will probably take to their heels. The program itself is more or less impossible to use, and even experts will be annoyed by the software forcing them to navigate through all the dialog boxes. In regard to usability, KPhone SI turns out to be a program for experts only.

I finally managed to call the Ekiga echo account at sip:500@ekiga.net, but the sound was fairly hashed. The program might have scope for improvement, but the cluttered interface makes the idea not a tempting one. All of the other programs in this test are easier to configure.

Linphone

In the process of testing version 1.7.1 of Linphone, I found it was hard to trust this program because it contained numerous minor and at least one major bug. For example, when you open the setting dialogs in a terminal, you see the message WARNING: Invalid source! not yet implemented, and the Close button in the dialog is disabled.

When you enter a new registrar, you have to fill out the proxy box;, but the software does not tell you this. Clicking OK removes the form from your screen but does not add the new entry.

Although these bugs are annoying, another bug prevented any further testing. If you set up a STUN server in Linphone, the program correctly queries the server when establishing a connection, but then goes on to use the private network address, as analysis of the network traffic with Tcpdump [13] and Wireshark [14] revealed.

Apart from these errors, Linphone is similar to Ekiga with respect to feature scope. (Ekiga is the only other program in this test with video support.) Linphone also scores points by being the only softphone in the test to include a terminal version.

Twinkle

Like most of the candidates, Twinkle starts a wizard when first launched. The wizard is far more important with Twinkle than with Ekiga because Twinkle has innumerable settings, although it does group them more sensibly than KPhone SI.

The Twinkle main window lets you place a call and view the current line status (Figure 5). One of Twinkle's special features is its use of account-specific parameters. Whereas the other SIP clients only prompt you to enter a minimal data set for registration, Twinkle has far more settings (Figure 6). This approach to the user interface also means more work for you because you need to enter more data.

Figure 5: Placing a call from the Twinkle main window.

Figure 6: The Twinkle user profile offers a number of configuration options.

Because of the large number of settings, things could go wrong during the configuration phase. If you do not know usable values for all of these settings, you might wish you had a Use Default button; unfortunately, calling the wizard after the original setup is impossible.

Twinkle does not have video support or a chat function, but it is nevertheless very useful for VoIP calls. Of all the SIP clients in this test, Twinkle is the only one to support two voice channels and, thus, call waiting or three-way conferences. Another of Twinkle's special features is that it integrates with KAddressbook. Although the program seems overloaded with features at first glance, it left a good impression.

Conclusions

Of the five programs I tested, I can recommend only three. Twinkle is a good choice for power users who do not need chat or video support. Ekiga impresses with its simple configuration, and it also supports video. Ekiga is therefore the program of choice for VoIP newcomers, as well as many experienced users. If you need H.323 support, there is no alternative to Ekiga.

Skype is useful if you need to communicate with other users on the Skype network and you are unable to talk them into using an open standard. Although you can link up Skype and SIP [7, 8], the setup seems far more complex than just launching a Skype client on demand.

Skype is the only VoIP client in this test to support file transfer; however, the option of file transfer by phone might not be important for many users. As long as your email account is working properly, you can always email files to your contacts.

INFO
[1] Ekiga: http://www.ekiga.org
[2] KPhone: http://sourceforge.net/projects/kphone/
[3] Linphone: http://www.linphone.org/index.php/eng
[4] Skype: http://www.skype.com
[5] Twinkle: http://www.twinklephone.com
[6] Skype-API: https://developer.skype.com/Docs/ApiDoc/FrontPage
[7] ChanSkype for Asterisk: http://www.chanskype.com
[8] PSGw: http://www.rsdevs.com/psgw.shtml
[9] Skype on the AMD64 platform: http://forum.skype.com/index.php?showtopic=10125
[10] Skype criticized: http://en.wikipedia.org/wiki/Skype#Criticisms
[11] Skype DTMF issues: https://developer.skype.com/jira/browse/SPA-167
[12] Knoppix: http://www.knoppix.org
[13] Tcpdump: http://www.tcpdump.org
[14] Wireshark: http://www.wireshark.org