The Internet has given rise to great means of communication: email, instant messaging, IRC, social networks, Voice over IP (VOIP), and more. Of all these forms of communication, VOIP is perhaps one of the most useful and also the most difficult to setup. Many implementations exist: Skype, hardwired VOIP phones that you connect to routers, SIP softphones, and so forth. The so-called “softphones” are a bit more difficult as they require a working computer on the Internet with appropriate software configured.

One such piece of software is Twinkle. Twinkle uses the SIP protocol to do VOIP and instant messaging. It can be used for IP-to-IP communications or used with a SIP proxy to route calls and messages, which means that someone calling a phone number with their regular phone can have the call routed to Twinkle, running on your computer, for you to answer.

If you have a SIP server to connect to, for work or for an organization such as Fedora, you can use Twinkle to make and receive calls. To begin, when you first start Twinkle, use the user profile wizard to set up your account.

It will ask for information pertinent to your SIP account and your presence display. For instance, you will need to provide your full name, username (the SIP account username), and the domain (i.e., a Fedora Talk user would use It will also ask for an authentication username and password; typically, this authentication username would be the same as the previously-configured username. Finally, you will need to provide the SIP server address, and you can also decide whether or not to publish your availability upon startup (to let others know you are online, etc.).

The configuration of Twinkle itself is pretty straightforward. There is a lot there, granted, but the user configuration (assuming you have clear account information from your provider) is easy enough. The system configuration can be a bit touch-and-go depending on your audio setup.

Remember to enable the microphone; some laptops have two input channels, which may not be enabled by default. You can use alsamixer to make sure they are enabled. Use alsamixer -c 0, especially if you also use PulseAudio. By default, when alsamixer runs, it will only show the master PulseAudio channel, not the ALSA channels below it.

Personally, I prefer using a USB headset with Twinkle; it is much simpler to configure and the sound is much nicer than hearing through laptop speakers.

When you are in the main Twinkle window, go into Edit | System settings. Here you can select the Audio tab to determine what output and input channels to use. For instance, I set the ring tone to play through the default ALSA device (laptop speakers) and have both the speaker and microphone pointing at the Logitech USB headset I use. Make sure that the checkmark beside “Validate devices before usage” is enabled so you know everything works.

Twinkle may not be the nicest looking SIP softphone you can find, but for Linux, Twinkle works great. And since the main window can be closed and Twinkle can run in the background, it really doesn’t matter how antiquated the interface is because it is extremely capable and reliable, and it has more features than you can shake a stick at. Check out the Twinkle Web site for the impressive feature list.

Get the PDF version of this tip here.