You're ready to connect some software telephones and do some real IP telephony in your test lab, using Windows and Linux PCs. Where do you find some good softphones, and how do you set them up?
There are many softphones you can try. This recipe uses the Twinkle softphone for Linux, and the X-Lite softphone for Windows. Both are free of cost. Twinkle is open source, X-Lite is not. Twinkle runs on Linux only, while X-Lite runs on Windows, Linux, and Mac OS X.
Twinkle has a good feature set, a nice easy-on-the-eyes interface, is easy to use, and has good documentation. X-Lite is a bit squinty to read and rather convoluted to configure. But it is very configurable, sound quality is good, and it has volume controls right on the main interface.
You will need the user's login name and password from /etc/asterisk/sip. Conf, and the IP address of the Asterisk server, as Figure 5-1 for Twinkle shows.
You'll find this screen in Edit → User Profile. When you change settings in Twinkle, hit Registration → Register to activate the new settings.
In X-Lite, go to the Main Menu → System Settings → SIP Proxy → Default, like Figure 5-2.
Be sure to set Enabled:Yes.
Close X-Lite, then reopen it to activate the changes.
Now, you can try out all the tests you did in the last recipe on
the Asterisk console, plus have the two extensions call each other.
You can even call the outside world. To do this, copy the [demo]
context in the sample
/etc/asterisk/extensions.conf into your working
extensions.conf. Then, add it to the [local-users]
context like this:
[local-users] include => demo
Reload the changes in the Asterisk console:
asterisk1*CLI> dialplan reload
Dial 1000 on your softphone to play the Asterisk demonstration. This will walk you through a number of different tasks: an echo test, calling Digium's demonstration server, and testing voicemail. The voicemail test won't work without the default voicemail.conf, but because you already tested this in Recipe 5.4 and successfully set up your own voicemail.conf, it should be good to go.
You'll probably want to test some different softphones, as they vary a lot in usability and sound quality. You'll especially want decent sound gear. Good headsets like Plantronics sound warm and natural, block background noise, and have mute buttons and volume controls. USB headsets don't need sound cards, but contain their own sound-processing circuitry.
Watch out for branded softphones that are customized for a vendor (like Vonage, for example), and can't be used as you like without some serious hacking.
On Linux systems, it's important to use only the Advanced Linux Sound Architecture (ALSA) soundsystem. Don't use aRtsd (the KDE sound server) or the Enlightened Sound Daemon (ESD), which comes with the Gnome desktop. Disable them because they create latency, and latency is the enemy of VoIP sound quality. Additionally, don't use Open Sound System (OSS) because it is obsolete. ALSA provides an OSS emulator for applications and devices that think they need OSS, like the Asterisk console.
The documentation for your softphones
man 1 alsactl
man 1 alsamixer
ALSA project: http://www.alsa-project.org/