Voice-Over IP for Linux
We've all got friends, family and Linux collaborators scattered around the world, and we all like to talk. We love to pick up the phone and gab—but the costs for long-distance phone calls are high, and international rates are worse. Many, if not all, of the people we would like to call have Internet access. We can now use our normal phone over the Internet to make phone calls using Linux.
Voice-over IP is the answer, but it is a technology that has been slow to migrate to Linux. Sure, applications are available that can already do this using a sound card, but frankly, the headset and sound card solution is a kludge. Headsets don't ring when an incoming call comes in, and most sound cards do half-duplex voice that, at best, is annoying and cards don't connect to your personal or business phone system. Other technologies have been available for Win32 platforms, but not for Linux. That is changing quickly, especially with the recent pre-alpha release of new Linux drivers for the Internet PhoneJACK and Internet LineJACK voice-interface cards from Quicknet Technologies, Inc.
Quicknet's Internet PhoneJACK card provides a low-cost, full-duplex audio interface and telephone-line interface to a normal phone. The card has a POTS (plain old telephone service) interface (RJ-11), where you plug in a normal analog telephone and use it to make phone calls over the Internet. When calls come in, the phone rings. When you want to make an outgoing call, you can dial the digits from the phone or from software control. In all respects, it is a phone—it just works over the Net. If you are calling a party that also has an Internet PhoneJACK/LineJACK, or compatible software, then your call is free! If you want to call someone on their normal phone line (not over their computer), you can do that too, via a PC-to-Phone service like Net2Phone. In that case, you would have already set up an account with the provider (via a browser), your call would go over the Net to them and they would get the call to your party over their system, charging you a low rate for the service. Obviously, the best case is if both parties have Quicknet cards, because then you avoid the costs of the PC-to-Phone service provider and get the highest quality. Another way to get it free is by using a Quicknet Internet LineJACK card.
A huge advantage of Internet PhoneJACK/LineJACK cards is the audio-compression capabilities (CODECs) built into the cards. These include G.711 (64Kbps), G.723.1 (6.3Kbps and 5.3Kbps) and TrueSpeech (8.5/4.8/4.1Kbps) audio compression in hardware. These compression technologies may be used with no royalties or fees whatsoever—the license cost is part of the hardware cost. This is a big deal, because it allows small developers to build compressed-speech applications without having to spend thousands of dollars on licensing the CODECs. In other words, it makes it free to use the same technological advantages as the big boys.
The Internet LineJACK card adds an extra twist: it has a PSTN (public switched telephone network) interface. The PSTN plug (RJ-11) is connected to your normal phone line, allowing you to place and receive normal phone calls using the card. All DTMF and tone-generation capabilities are built into the Internet LineJACK. It is also designed for software-controlled compatibility with different phone networks around the world. (Different countries have different electrical and tone signals with which the Internet LineJACK is capable of interfacing by selecting the appropriate parameter set.) With the appropriate software, you can use the Internet LineJACK to create a one-line gateway between the Internet and the normal phone system. To solve the problem of not being able to make PC-to-phone calls without an applicable service provider, all you need to do is set up an Internet LineJACK card on a system in the area you want to call. Your voice call “hops on” the Internet at your computer, then “hops off” at the remote Internet LineJACK and out onto the local PSTN in that community to complete the call—all for free.
It is important to realize that a single G.723.1 compressed audio “call” uses only 6.4Kbps. Even on a normal 33.6Kbps modem call, there is sufficient bandwidth for multiple simultaneous calls over a single link.
Until recently, drivers for these cards were available only for Windows 95/98/NT. However, Quicknet has recently released some early pre-alpha versions of their Linux drivers, along with a sample application to provide an example of how it all works.
You can get the Linux drivers at www.quicknet.net/develop.htm. Be warned: these are still early, pre-alpha releases and are not for the faint of heart. At this early stage, these are recommended only for people who wish to play with new technology and are not afraid to fiddle around with their system. Of course, that is most Linux people, but we had to warn you. The driver is distributed in a compressed tar file that includes sample application source code and a simple HOWTO.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Non-Linux FOSS: MenuMeters
- Solving ODEs on Linux
- Nmap—Not Just for Evil!