Is Linux Voice over IP Ready?
What is Voice over IP really? What do you need for Voice over IP? What do you mean, I can't call my girlfriend? What's all that buzz about open and proprietary protocols? Can I start my own telecom service? This article addresses these questions and compares the most popular Linux applications for calling and conferencing.
Internet or digital telephony, or Voice over IP, often abbreviated as VoIP, allows parties to exchange voice data streams over the network. The big difference is that with VoIP the data flows over a general-purpose network, the Internet, whereas conventional telephony uses a dedicated network of voice transmission lines.
Under special circumstances, a VoIP network can be connected with the conventional telephone network. However, at the time of this writing, that is certainly not the standard. In other words, it is likely you will not be able to call people who are using a conventional telephone. Although currently various applications are available, both free and proprietary, telephony over the Internet has some major drawbacks. Most noticeably, the system is unreliable, it can be slow, or there can be a lot of noise on the connection. Therefore, it cannot be used to replace conventional telephony. Think about emergency calls, for instance. Although some providers take some precautions, there is no guarantee you will be able to reach the party you want to call. This is worsened, because in VoIP, there is no agreement yet on a standard for assigning numbers, like the E.164 standard we have for assigning and identifying traditional land lines and mobile phone numbers.
Even if there is some form of integration between VoIP and conventional telephony networks, this is still different for mobile networks. The major problem is that wireless network coverage is not as well developed as cellular network coverage. Additionally, there is the issue of costs when accessing the Internet from your mobile phone. For me, it would amount to 0.50 EUR (+/- $.60 US) per 100K of traffic. It is possible that integration of VoIP in the third-generation telephony network will ease these troubles.
You also should be aware that there is no encryption in VoIP. So, it is fairly easy for anyone to eavesdrop on conversations.
The bottom line is although VoIP is useful, it is not a replacement for land-line telephony (yet).
Let's look at what you'll need to get VoIP up and running.
First of all, you need a provider offering the service. Some popular providers offer the service for free, and some require a subscription fee. Among the free ones are the following: SIPphone, Skype, SIP Broker and Google.
Most free services, however, do not allow you to connect with the conventional telephone network. This so-called full phone service is usually not free. Among the most popular full phone service providers are the following: Vonage, Lingo, AOL TotalTalk and SIPphone.
These lists are certainly not exhaustive, as new local and global providers join the pool on a near-daily basis. Also, many SMEs are currently setting up a VoIP network for internal use within companies. If you want to set up your own VoIP network, you might want to look into Asterisk server software or sipX, which are open-source PBX implementations.
Alternatively, if you want to use only the soft phone, meaning the audio system of your computer (audio boxes and microphone or headset) and accompanying software, check out Ekiga, formerly GnomeMeeting, as announced January 8, 2006, in the GnomeMeeting blog. Although Ekiga supports a range of hardware, it is usually set up to support (video) conferencing features implemented on the software level. Like sipX and Asterisk, it is open-source software.
Note: PBX stands for Private Branch eXchange, the system that centralizes all of a business' telephone sets.
Depending on your network architecture, some applications might work better than others, due to the protocols they use. Most standards-based solutions use either the H.323 or Session Initiation Protocol (SIP). Apart from these two standards, there are a lot of proprietary protocols, such as Skype (from the company with the same name) and SCCP from Cisco. The main difference between them is that SIP stores the client IP address in its packages, resulting in difficulties when you are behind a firewall.
Microsoft NetMeeting and GnomeMeeting use H.323; Microsoft's Messenger and Apple's iChat and SIPphone uses SIP. Server software usually implements several different protocols.
Apart from your network architecture, available bandwidth also might be a limiting factor, as some applications are optimized for low bandwidth, and others expect to be on a broadband connection. This depends on the codecs the VoIP systems use for handling sound.
As far as client hardware is concerned, use a headset. Although your PC, especially if it is a laptop, might have a microphone and speakers built in, you will be far more comfortable using a headset, as it will suppress echo and noise from your environment. If you have the choice, opt for a USB headset. A USB headset is a separate audio device to your system. It functions independently from existing audio hardware, so it avoids any conflicts that might occur between VoIP and normal sound processing.
If the applications you use provide the features, you can redirect audio streams as desired. For instance, you can make the ring tone for alerting you that you have a call come through the normal speakers. When you pick up the call, the voice of the calling party is redirected to your headset.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Dynamic DNS—an Object Lesson in Problem Solving
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Please correct the URL for Salt Stack's web site
2 hours 19 min ago
- Android is Linux -- why no better inter-operation
4 hours 34 min ago
- Connecting Android device to desktop Linux via USB
5 hours 2 min ago
- Find new cell phone and tablet pc
6 hours 1 min ago
7 hours 29 min ago
- Automatically updating Guest Additions
8 hours 38 min ago
- I like your topic on android
9 hours 24 min ago
- This is the easiest tutorial
16 hours 34 sec ago
- Ahh, the Koolaid.
21 hours 39 min ago
- git-annex assistant
1 day 3 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?