Originally Published: Monday, 23 October 2000 Author: Alex Young
Published to: enhance_articles_multimedia/Audio Articles Page: 1/1 - [Printable]

Voice-Over-IP For Linux

It's buzzword time again on Linux.com! This time, it's Voice-Over-IP, usually abbreviated down to VoIP. Are you interested in finding a super-cheap way to speak to family and friends across the internet with your Linux computer? Let Alex Young, our Multimedia mogul, lead the way!

   Page 1 of 1  

The advantages of using the Internet for voice communications are instantly recognized by most people: Low or no cost long-distance telephone calls and the added flexibility Internet-based applications give over the technological dinosaur, the telephone. In addition, both conference calls and video conferencing are possible with suitable compression technology and adequate bandwidth. It is even estimated that by 2002, 15% of all voice traffic around the world will be carried by IP networks.

There are even Internet-to-phone programs available such as dial-pad. Most commercial solutions for voiceover IP, however, are limited to Windows and Macs. There are, however, free and open source projects available for Linux.

The first voice-over-IP program I looked at was Speak Freely, developed by John Walker and Brian C. Wiles. Speak Freely is a complete Internet telephone solution featuring conferencing, an answering machine and encryption. There are both Unix and Windows clients. Interestingly, Speak Freely offers many compression protocols including GSM, ADPCM, LPC and LPC-10.

I downloaded the Speak Freely source and, much to my surprise, it built with no problems. After testing it using the X interface with a few friends, we found it to be unreliable, and a little difficult to set up. The program isn't full duplex, so communication can feel a little awkward, but the scope offered by the software in terms of compression and encryption is quite high, so it may fit some users' needs.

Gphone uses gtk, so it looked particularly nice with my AquaOS GTK theme. The application itself requires the GSM library which is available as a binary RPM or as source. I installed the gsm package, configured and built gphone, and then tested it out. The program, at the moment, is very simplistic. And, as I found with the previous program, using IRC at the same time is useful to actually make a call (which makes the usefulness feel severely limited.) This program doesn't allow for conference calls, and some of the features are not yet fully implemented, but it does show potential for a simple, low bandwidth audio-communication solution.

Freewebfone's Web site, plastered with adverts and shouting "Free Software!" at me, instantly gave a bad impression of the program. Trying my best not to judge this program too soon, I downloaded the Linux client and uncompressed it. There are also Windows and Mac clients. Freewebfone features a buddy system whereby you can instantly see if your friends are online, and chat to them with audio or video. According to the site's FAQs, they are working with Internet telephony service providers to enable calling to normal telephones so this program could be a good dial-pad replacement for Linux users.

This program was easier to use than the others tested so far. There was no strange behavior from my soundcard, and its simple ICQ message-based chat was useful. This program can use three audio compression schemes which are GSM, ADPCM, and LPC10, but isn't open sourced. Efone, according to its Web site, is a `distributed Internet phone system'. This one tries to make ICQ-with-voice in a similar way to the previous client. The developers want to add GTK, Qt and Windows support and are encouraging development, although it is console only at the moment. The README distributed with efone goes into some detail about each of the four compression protocols it uses, which are: RAW, GSM, CELP and MELP. CELP and MELP are the lowest bandwidth and MELP is only usable for voice communication - music is barely audible. As with the previous programs, GSM will suit most users needs (unless you're IPMasq'ing for three computers with a 56k modem like I do!)

The next program I tested was phone. It's an excellent program - simple to use and set up, unless you're behind a firewall! Phone is console only, and you have to register on the Web site with your e-mail address to receive a password which allows authentication to the phone server, although you can "call" people and chat as soon as these details are in ~/.phonerc. I had great fun playing guitar with a friend for a while, which made the download worth it for me. The sound quality was acceptable, even with my 56k modem.

Finally, erikyyyphone is console only and uses a simple client-server model. You simply start the server, specifying which IPs may connect to it, and then launch the client. This program is not full-duplex, and you have to request the 'wish' to record, so the scope for communication is slightly limited. I suggest using this package if you have an old soundcard which can't perform full-duplexope ration with one of the other packages (such as phone).

Overall, I preferred `phone' over the other programs here due to its simplicity. Phone doesn't allow conferencing, but what it does it does well. These programs are fun, although they don't allow calls to a real phone, they are all capable of acceptable voice over IP even with low bandwidth. Even though at one stage when I was testing these programs I was told to "use a real phone for god's sake" by a friend on IRC, I think they really can be used instead of long distance calls. To me, one of the most exciting possibilities is jamming with other musicians over the Internet - all with open source software.





   Page 1 of 1