Professional Documents
Culture Documents
All You Need To Know About-Telephony and Linux
All You Need To Know About-Telephony and Linux
P-P-Pick up a phoneguin
Quicknet Linux guru, Ed Okerson, AKA Super Phoneguin. His drivers for Quicknets telephony cards are in the Linux kernel. Equivalence, a Quicknet subsidiary, develops an open source implementation of the H.323 conferencing protocol
4 2 LinuxUser/June 2001
provide audio processing and data compression in hardware, along with an analogue phone line interface (in the case of the PhoneJACK card). Quicknet is serious about Linux and IP telephony. Linux offers developers an exceptionally flexible and robust environment for developing reliable dedicated telephony applications, comments Stacey Reineccius, the companys CEO. The idea of a telephony card is that you plug your desk telephone into it; thereafter, you can use the telephone as a terminal. Drivers that come with the card can also forward your calls via TCP/IP to a similarly equipped PC, or the public switched telephone network (PSTN). Quicknets PhoneJACK lets you plug a phone into your PC and use it to make Voice-over-IP calls; its related LineJACK card lets you switch between PSTN and IP calls. Quicknets IP telephony cards help provide support for Voice over IP traffic by allowing you to turn a PC into a gateway; but to get the most out of an office full of these systems you need a switchboard or PBX (private branch exchange) so you can hook up your voice-over-IP phone system to the public switched telephone network (PSTN). The first example of this to appear on Linux is Asterisk (see www.asteriskpbx.com), a PBX application running initially on Tormenta or Adtran Atlas T1 and T3 frame relay cards (with Quicknet PhoneJACK cards for Voice over IP). Asterisk lets you set up call routing logic, provides features such as call bridging, transfer, and parking, voice mail, and intercom facilities. Other features of software PBXs mirror those of real small office exchanges: the ability to route calls via different internet telephone carriers (or standard PSTN carrier), track calling histories, automatically re-route IP calls via a new carrier in event that a network connection becomes unavailable, and route faxes via the Internet. Quicknets committment to Linux includes sponsorship of the OpenH323 effort. OpenH323 is an open source project to develop an open source implementation of H.323, the standard for teleconferencing over TCP/IP. The company also produces a number of boards intended for use with Linux, notably the LinuxJack board, which they support with open sourced drivers. We have found that Linux is not only a fantastic proving environment for developing technologies but it makes for an extremely cost effective server side system when needed for call control and billing, but as a client or low density installation it makes terrific sense for small-scale servers, says Reineccius. Telephony and Linux are a natural fit. They will continue to run into, over and through each other for some time to come. Telephony demands reliability and low costs. Voice over IP requires that plus good Internet access. As most ISPs use Linux as the primary operating system under the systems and technologies and
also have a lots of Internet connectivity, Linux and telephony will become, we believe, more prominent as a portion of the typical ISPs product offerings and business.
If an OpenPhone can call any other computer regardless of operating system, or any other phone anywhere in the world thats powerful!
phone systems used human operators sitting in front of a plug board: theyd physically connect the lines to two households by running a wire from the line the call came in on to the outgoing line. Later, electromechanical switches came into use: a committee within the ITU called the CCITT (Comit Consultatif International Tlphonique et Tlgraphique) was established to develop standards for telephone switching and data communications. With the dissolution of the old
Post Office monopoly in 1982, a new entity effectively came into existence: the public switched telephone network (or PSTN). The PSTN is regulated by Oftel, the Office of Telecommunications: equipment which meets their standards (which mostly boil down to compatability with CCITT standards and some basic safety specifications) can be connected to the PSTN, and a number of telcos (telecommunications companies such as British Telecom or Cable and Wireless) provide switching
services and transport for calls. Telcos are in the business of selling network bandwidth. Rather than using discrete wires for each circuit through their network, calls are converted into data streams at the exchange and the packets routed to their destination. This allows the telcos to multiplex calls between two exchanges, making better use of their network. Unlike Internet traffic, telco traffic is mostly encapsulated using ATM, a technology that transfers data in
CONTINUED ON PAGE 45 >
LinuxUser/June 2001 4 3
phone-based system administration tools. Bayonne isnt a graphical application: its a server. To do something useful with Bayonne you need to write scripts in the ccscript language. Ccscript is a state-based language that is driven by events, such as a user punching a DTMF digit in a voice menu, receiving a call disconnect signal, and so on. It can play sound samples from stored files on disk, collect caller ID information, record from the phone to an audio file on disk, and so on. In fact, using Bayonne you can rapidly write a script that implements a companywide voicemail system, with password protection, the ability to replay received messages on demand, ability to email received audio files to a users email box, and so on. As of the Milestone Six release, Bayonne provides XML services, allowing you to add voice services to XML-based application servers. Bayonnes driver support is currently relatively limited, but it is designed to take plugins that let it interface to other systems: in particular it is capable of driving multiple Quicknet LineJACK cards (for example, to provide a multiline voicemail system). Drivers for Voicetronixs analogue DSP cards, Pika MonteCarlo telephone cards, Dialogic and Aculab cards are also supplied. The list of supported cards is expanding slowly, as vendors wake up to the sales potential of open source software. Dont expect installing a Bayonne system in your company to be easy: the total absence of easy-to-use administration tools, and the requirement to dink around with VoIP cards and drivers, make it a job for specialists. However, if you want to build a cheap, efficient voicemail system that can cope with several simultaneous callers, or if you want to build your own system for forwarding voice calls over the Internet between distant offices, Bayonne may reward a weeks work with a system that is tailored to your requirements. In particular, the ability to build a v-commerce system that mimics the structure of your ecommerce website may be well worth the trouble. ond item is the integration of telephony into unified messaging frameworks, systems that allow all communications systems (phone, pager, fax, email, and others as yet undreamed of) to be integrated into a single system.
Computer-telephony integration
Just about every company has a PBX, the local switch that allows multiple telephone extensions to talk to each other, or route external calls out to the PSTN via the cheapest provider. Linux can help here, too. Andrews and Arnold, a British telephony equipment supplier, has found Linux works well as a system for controlling PBXs. It has written drivers that allow a Linux system to talk to a Lucent Technology Network Alchemy switch. The Network Alchemy range are popular cheap PBXs aimed at small to medium enterprises; they provide up to 180 telephone extensions on up to 60 trunks. These telecoms routers are also TCP/IP aware: they can provide access to ISDN and leased line connections, and support
A lot of customers, especially in Europe, are telling us that they want Linux implementations, not NT
Alan Pound, Aculab
< CONTINUED FROM PAGE 43
Messaging frameworks
The higher level packages are exemplified by Bayonne, the GNU integrated voice response server. Bayonne provides a service daemon that can automatically process telephone calls its scripted, so you can control call flow, and is intended for building voice mail systems and tele-
small, fixed-size packets. (ATM is designed to support switched traffic, between two points.) However, prior to the arrival of the Internet the telcos provided data transport via their own packet-switched network: running on protocols such as X.25, these networks (such as British Telecoms Packet Switchstream service) were expensive, slow, and not universally accessible. The commonest way of accessing the service was via a leased line, a permanent connec-
tion switched through to the PAD (packet assembler/disassembler, X.25 equivalent of a router). The arrival of the Internet was a rude shock to the telcos, who had previously milked the lucrative business data communications market. While huge amounts of money could be made by supplying TCP/IP connectivity, there were inefficiencies in the system. Making a call to your ISP via modem entails turning digital data (leaving your computer) into audio frequency tones (via the modem);
these are in turn converted back into digital form by the exchange, then transmitted to the ISP, where theyre turned back into analogue form by the ISPs modems or routers before being re-digitised. It all seems a lot simpler to keep the signals digital from one end to the other: but the original technology for doing this, ISDN, is now dated and sluggish. The current approach is to transmit packets between exchanges using ATM, then relay data to the consumer using ADSL,
a short-range high bandwidth data protocol that can run over existing twisted-pair wires. Some switches are now designed to route TCP/IP packets directly over ATM networks, blurring the boundary between a telco and an ISP. The blurred boundaries go both ways. Voice calls require bidirectional data transfers: why not carry voice calls over TCP/IP? The technologies of Voice-over-IP, or IP Telephony, got started by companies who wanted to merge their
CONTINUED ON PAGE 46 >
LinuxUser/June 2001 4 5
Key links
OpenPhone www.openphone.org Voxilla www.voxilla.org Asterisk soft PBX www.asteriskpbx.com Quicknet www.linuxjack.com GNUcomm www.fsf.org/software/ gnucomm/ gnucomm.html Bayonne http://bayonne. sourceforge.net Andrews and Arnold www.aa.nu OpenH323 www.openh323.org
virtual private network applications. In fact, these switches blur the boundary between internetworking hardware and telephony, acting as LAN hubs and routers as well as telephone switchboards. Andrews and Arnolds Linux tools allow a Linux server to drive a Network Alchemy router. Configuration of the router from Linux is possible: more to the point, the Linux server can provide full call logging (into a MySQL database, if desired), a comprehensive voicemail system that goes beyond the one built into the Network Alchemy systems, and APIs to allow integration of Linux-based applications. With the Alchemy system we use, almost any Linux box will do even a 486. We normally recommend something bigger, and it depends on the number of channels, but an 800MHz PIII machine with SCSI disks was hard pushed to register one per cent usage with 30 channels of voicemail including DTMF decode, says Adrian Kennard, technical director of Andrews and Arnold. The tools we have written do multi-Alchemy voicemail and voice-based applications, as well as phone control and call billing systems. In this system Linux isnt acting as a telephone switch or voice-over-IP gateway; its acting as a control centre for existing PBXs. Its possible to write complex applications for automating call centre operations or providing on-line technical support screening relatively easily, because of the availability of open programming interfaces. The performance of the voicemail server is also noteworthy: a machine costing two or three thousand pounds can provide voice mail for hundreds of users. In addition to selling straightforward PBX control systems (with integrated voicemail and fax services), Andrews and Arnold have some specialised telephony applications already available, notably hotel and legal billing systems that, in conjunction with an appropriate office exchange, can automate the telephony operations of those businesses: the low cost, reliability, and ease of integration of Linux are all assets in these markets. Controlling the external PBX is not the ultimate in Linux telephony integration: for that, the Linux box needs to be the PBX as in the case of the Asterisk soft PBX mentioned earlier or indeed to be the platform it runs on. The holy grail of the high-level computer telephony market is integrated messaging, in which every type of communication, fax, pager, SMS, phone, email, goes through a common framework. Aculab, the UK-based vendor of high-end telephony boards (up to and including
OC3 cards, able to handle data rates up to 155Mbits/sec), is developing the Whirlwind computer telephony platform: essentially an operating system for voice applications. Whirlwind is a cross-platform development: We had a lot of customers, especially in Europe, telling us that they want Linux implementations, not NT, says Alan Pound, Aculabs managing director. Whirlwind runs on NT, Linux, and Solaris, and provides an implementation of the ECTFs S.100 and S.300 APIs, which specify how computer telephony applications should interface to standard CT Bus boards. (CT Bus defines a single communications bus that can be installed in various popular personal computer card slots (ISA/EISA, PCI, and the emerging compact PCI). Essentially Whirlwind is an operating system for computer telephony applications, providing access to voice channels and allowing applications written using the S.100 APIs to talk to the boards; this is a proprietary system, but other vendors are also implementing S.100 and S.300 compliant systems, and applications written to these open standards are portable between computer telephony systems. The ECTF standards show that the telephony industry in general is moving in the direction that the computer industry moved in the 1980s, first towards open standards, and then towards open source. Linux is seen as a strategic platform by some of the largest computer telephony hardware vendors; as it advances in the server sector, more and more CT systems like Whirlwind will appear on it.
local area network and telephone extension systems. The initial incentive was to reduce the number of routers or switches a business needed: then there was the opportunity of using spare bandwidth on expensive leased lines to connect voice calls between remote sites. Once the basics of connecting calls via TCP/IP were available, other options opened up: the ability to connect calls from the PSTN over TCP/IP meant that, for example, its possible to record a
message on a voicemail system and email it to the recipient, or to take email and automatically fax it out to a destination that doesnt have email access. The core standards that made this possible were established by the H.323 committee of the International Multimedia Telecommunications Consortium and supported by the ITU. H.323 defines standards for real-time packet-based communications: related standards include H.225 for call control protocol, Q.931 for digital subscriber signal-
ing, and T.120 for real time data conferencing protocol. These protocols have been implemented as open source: the core code is available from www.openh323.org, and builds on Linux for x86. The goal of the OpenH323 project is to create a full-scale implementation of the H.323 teleconferencing protocol: its supported by an Australian company, Equivalence, a subsidiary of Quicknet Technologies. OpenH323 has now been commercially tested and/or deployed not just by Quicknet but also by
Nortel, Lucent and many others, and is interoperable with a plethora of H.323 devices including Cisco VoIP gateways, gatekeepers and phones, says Quicknet. H.323 is a complex protocol; for controlling calls, two simpler protocols, SIP (Session Initiation Protocol) and MGCP (Media Gateway Control Protocol), are building momentum. An open source version of MGCP has been released by Vovida; no open SIP implementation is available yet.
4 6 LinuxUser/June 2001