LJ Archive CD

Free Long Distance—Really!

Marcel Gagné

Issue #155, March 2007

If you are still recovering from the last time you paid your long-distance bill, Chef Marcel may be able to offer some relief.

Mon Dieu! François, look at this phone bill! Explain these long-distance charges. Yes, I know you have friends and family all over the world, but why are you calling them from the restaurant telephone? Quoi? Because it is too expensive to use your own phone? François, aside from the fact that you have used up two months of your salary with these calls, there are better ways to save money on long distance. How? By using your Linux system and a Voice over IP program, of course. That just happens to be the focus of tonight's menu.

We will discuss this bill later, mon ami. I can already see our guests starting to arrive. Head to the wine cellar, immédiatement. Bring up the 2004 South African Ubuntu Shiraz we were sampling earlier today. Vite! Perhaps if you are truly efficient, I may re-instate your salary despite these calls. Enough smiling. Vite!

Ah, welcome, mes amis, to Chez Marcel, home of fine wine and fine Linux fare. Please sit and make yourselves comfortable. I have sent François to the wine cellar, and he should be back with your wine very shortly. While we wait, however, let me ask a question. Who, besides myself, would like to avoid paying hefty long-distance fees? I see. Well, how does free long distance to anyone anywhere in the world sound? That's what I thought.

VoIP (Voice over IP) programs allow you to communicate with others running similar programs on their respective computers. All you need, aside from a computer, is a microphone and speakers, though it's often a good idea to use a headset that combines these two. Your voice is transmitted via packets over your existing Internet connection to a receiving system, wherever it might be.

Just as with cell phones that include every feature imaginable, from cameras to MP3 players, it's getting harder and harder to find a program that's just a phone. Many offer advanced features, such as call answer, conference calling and a whole lot more. Using the right program, you even can transmit video, just like they did back in the 1960s on 2001: A Space Odyssey. To transmit video, you also need a Webcam. These inexpensive USB cameras are used for a variety of things, providing glimpses into the life of the individual running a particular Web site. Other sites provide a camera to reassure us that they are indeed working. Others still are there to let parents observe their children playing at day care. As it turns out, they also help make great video phones.

Ah, François, you have returned. Please, pour for our guests. Make sure everyone's glass is full. There are a couple of things we should talk about before we look at the phones on today's list.

Where shall we start? Mais oui—protocols, protocols, protocols. SIP, or Session Initiation Protocol, is (as the name implies) a protocol used to create, manage and end sessions between two or more users. The sessions we are talking about in this case are phone conversations. All of the programs on tonight's menu are SIP phones. As you know, here at Chez Marcel, we love open source and we love open protocols. A wonderful thing about all these programs is that every one of them can call another's SIP address. The second thing we need to cover is security and some of the problems it poses to VoIP programs.

If you are running these packages on your corporate or home LAN, you should have no problems. The same holds true if you are running them from a single machine connected to the Internet—odds are this will work without a hitch. The catch comes when you try to work from behind a masqueraded (or NATed) firewall. Luckily, many of these programs use STUN to help with this little problem.

STUN stands for Simple Traversal of UDP through NATs (which stands for Network Address Translations). Aren't you glad they just call it STUN? The whole point is to provide a protocol that helps systems working from behind a NAT firewall route their packets to and from the appropriate place. To use STUN, your program must register with a STUN server, a number of which are public and free to use.

That should take care of the background information. Let's take a look at some SIP phones now, starting with a little something called Ekiga. Once upon a time, there was a program called GnomeMeeting. These days, it's called Ekiga, and it is a great VoIP program. Ekiga, which supports both SIP and H323 protocols, is an excellent telephone application as well as a great video conferencing tool.It even will work with Microsoft NetMeeting. You'll find that Ekiga is rich in features with multiple, simultaneous account support, call hold, call transfer, call forwarding, instant messaging and a whole lot more.

Ekiga is available from its Web site (see Resources), where you'll find binaries for a number of popular distributions (and source, of course). Ekiga also has a .net sister site from which you can get your own SIP address so that people can call you or look you up in the on-line directory. In fact, when starting Ekiga for the first time, you are presented with the the First Time Configuration Assistant (Figure 1). Part of this process involves registering a free Ekiga.net SIP account (if you don't already have one). You can enter your address here, or click the link provided to set one up.

Figure 1. If you don't have a SIP address yet, Ekiga makes it easy. Click the link provided, and you'll be set up in no time.

When you are happy with the information you are presenting, click the Forward button to continue, and you will be asked to specify the type and speed of connection you are using. When you click Forward past this screen, you'll come face to face with the issue of security I mentioned earlier. Click the box labeled Detect NAT Type, and Ekiga's Assistant will try to determine what kind of routing assistance you may need. If the program determines that you are behind a NAT firewall, you'll be given the opportunity to enable STUN support.

Click Forward. For the next few screens, the Assistant will help you configure your sound card, microphone and Webcam. As you go through the Configuration Assistant, buttons are provided to test your chosen settings, whether they be audio or video. By the way, Ekiga also provides support for FireWire digital cameras (like the digital video camera you bought to take videos of your new baby) through pwlib plugins. If you are going to use one of these cameras, make sure you also download and install the pwlib-plugins-avc package. You always can configure a different camera later by clicking Edit on Ekiga's menu bar, selecting Preferences, and then looking under Video Devices. Change the Video Plugin over on the right (Figure 2), and your camera should be detected.

Figure 2. With the right plugin, Ekiga can configure and use a FireWire digital camera.

Of course, you don't need a Webcam (or any kind of camera) if you just plan to use Ekiga as a SIP phone. Click Apply on the final screen, and Ekiga fires up. You can configure several options with the package through the preferences menu. You also can re-run the First Time Assistant at any time.

To place a SIP call, type sip:friendsaddress@ekiga.net in the address bar just below the menu bar—this example assumes that your friend's SIP address is a registered Ekiga.net address (Figure 3). A little pop-up window appears on the second PC warning the user of an incoming call. If you accept the connection, the two clients can communicate.

Figure 3. I wonder if Mom and Dad are available for an Ekiga chat

Notice the button bar to the left in Figure 3. You can turn video or audio on and off, and you can bring up a chat window for text message exchange. In fact, Ekiga will work under a number of different configurations. You can run video only, audio only, text only or any combination of the three modes. If you have a camera and your friends don't, that's okay too, because they'll still be able to see you. Of course, it can be a little disconcerting to know that somebody out there can see you, but you can't see them.

When you run Ekiga, make sure you turn on the control panel. It opens up to a tabbed window in the application, providing support for audio and video controls as well as a dialpad. This shows the status of calls, your registration with on-line directories and other information, and it can be turned on or off at any time without affecting the transmission. Ekiga also provides an address book, so you can search users who are registered with Ekiga.net. Simply click the address book icon on the left icon bar.

François, our guests' glasses are looking a little dry. Please offer everyone a refill while I present the next item on tonight's menu.

WengoPhone is a fantastic VoIP client, and one you must check out. First and foremost, WengoPhone has great sound quality, a must for a VoIP application. It features free Wengo-to-Wengo communications worldwide; inexpensive Wengo-to-standard-telephone calling (using Wengo credits); conference calling; SMS support; instant messaging to Yahoo, MSN, AIM/ICQ and Jabber (such as Google Talk) clients; as well as video chat. Wengo is a very slick and feature-rich application. I'll tell you all about it, but start by visiting WengoPhone's Web site and downloading a copy.

Figure 4. WengoPhone aims to be a complete messaging solution.

When WengoPhone starts, it asks you to log in using the e-mail address with which you registered and your password (Figure 5). If this is your first time, you likely won't already have a Wengo account, so click the Click here if you don't have a Wengo account button. A browser window appears on the Wengo Web site where you can register your account. On doing so, you'll get a small Wengo credit you can use to call land lines and cell phones (to which you also can send text messages).

Figure 5. If you don't already have an account, this is your opportunity.

After you are registered, Wengo starts up, finding and configuring your audio and video automatically. This isn't to say it will find everything you have, but it tries. Down at the bottom right-hand corner of the main WengoPhone window (Figure 4), there are little icons telling you the status of your connection, registration, audio and other things. If there's a problem with the audio, for instance, an icon appears with a tooltip alerting you of the trouble. You can then click the icon to make adjustments to the levels or to visit the configuration screen.

You can fine-tune a number of WengoPhone's features through the configuration dialog. Click Tools on the menu bar, and select Configuration to open the settings window. In Figure 6, I am using the dialog to enable and configure my Webcam.

Figure 6. Use WengoPhone's configuration dialog to enable video support.

I mentioned previously that WengoPhone supports instant messaging. This is a great way to clean up some application clutter on your desktop. If you're using one or more instant messaging clients in addition to a VoIP application, Wengo can help you out. To use WengoPhone as your instant messenger, click Accounts in the configuration window's sidebar. Then, select Add and enter your screen names and passwords for either Jabber/Google Talk, MSN, AIM/ICQ or Yahoo. The configuration dialog also lets you set a call-forwarding address, sounds, language or auto-away timeouts.

To call someone with your WengoPhone, enter a SIP address into the location bar at the bottom (Figure 4, again). Click the green call button, and your party's SIP phone rings. This could just as easily be a Wengo address as an Ekiga address. To call a standard telephone, enter a plus sign followed by the complete number, including country code (where applicable) and area code.

Using WengoPhone, you can send text messages to cell-phone users with the SMS feature. Simply click the SMS icon, and a small composer window appears (Figure 7). Enter your contact's phone number (remember the plus-sign number format) or select it from your address book, then enter your message. A counter lets you know how many characters you have used and how many are available. When you are done, click Send. For people, like your Chef, who avoid text messages because they don't like thumbing, this is a great little feature.

Figure 7. Send text messages to your friends without getting your thumbs in a knot.

SMS, like calling regular phones of other non-Wengo users, does cost credits, which you can buy directly from your WengoPhone, but the price is very reasonable. In fact, calling the rates inexpensive seems unfair—downright cheap sounds more appropriate. As I write this, a call from my PC in Ontario, Canada, to England is .008 cents (Euro) per minute. Yes, those are two zeros to the right of the decimal point.

Directly to the right of your nickname on the status bar, you'll see a counter indicating the amount left in your Wengo credits account. Click the total, and an information window expands below, with a small menu of options. One of these is labeled Purchase call out credits. Click here, and a browser window appears from which you can make your purchase or discover rates.

I fear, mes amis, that closing time is already upon us, with plenty of other VoIP phones left uncovered. Gizmo offers another great softphone rich in features. Although the Linux client did not yet support video at the time of this writing, Gizmo does allow you to record calls (with great sound quality). It also has some amusing features, such as configurable hold music and audio sound effects (for example, rolling thunder or a tiger's roar) that you could insert into your calls. Although it's not as feature-rich as some of the softphones covered on today's menu, you also might want to check out KPhone or Linphone. I'll leave you to explore those when you return home, but the clock on the wall is truly insistent.

François, kindly refill everyone's glass one more time so that we may raise a toast. And now, mes amis, raise your glasses and let us all drink to one another's health. A votre santé Bon appétit!

Marcel Gagné an award-winning writer living in Waterloo, Ontario. He is the author of the all-new Moving to Free Software, his sixth book from Addison-Wesley. He also makes regular television appearances as Call for Help's Linux guy. Marcel is also a pilot, a past Top-40 disc jockey, writes science fiction and fantasy, and folds a mean Origami T-Rex. He can be reached via e-mail at mggagne@salmar.com. You can discover lots of other things (including great Wine links) from his Web site at www.marcelgagne.com.

LJ Archive CD