http://asterisk.org Mark Spencer
Linux Support Services, Inc. http://www.linux-support.net Presented first at Libre Software Meeting 2002 Bordeaux, France July 9, 2002
Introduction to Asterisk Asterisk is a fully Open Source, hybrid TDM and packet voice PBX and IVR platform. Asterisk is and has been Open Source under GNU GPL (with an exception permitted for linking with the OpenH323 project, in order to provide H.323 support). Commercial licensing is available from Linux Support Services, Inc. (http://www.linux-support.net) for applications in which the GPL is inappropriate. Unlike many modern "soft switches", Asterisk can use both traditional TDM technology and packet voice (Voice over IP and Voice over Frame Relay) protocols. Calls switched on TDM interfaces provide lag-less TDM call quality, while retaining interoperability with VoIP packetized protocols. Asterisk acts as a full featured PBX, supporting virtually all conventional call features on station interfaces, such as Caller*ID, Call Waiting,Caller*ID on Call Waiting, Call Forward/Busy, Call Forward/No Answer, Call Forward Variable, Stutter Dialtone, Three-way Calling, Supervised Transfer, Unsupervised Transfer, ADSI enhancements, Voicemail, Meet-me Conferencing, Least Cost Routing, VoIP gatewaying, Call Detail Records, etc. At the same time, Asterisk provides full IVR capability, programmable at several layers, from a low-level C interface, to high level AGI scripting (analogous to CGI) and extension logic interfaces. Asterisk IVR applications run seamlessly from one interface to another, and need not know anything about the physical interface, protocol, or codec of the call they are working with, since Asterisk provides total abstraction for all those concepts. Supported Hardware Asterisk supports a variety of hardware interfaces for bringing in telephony channels to a Linux box. In order of best supported to least supported: Zaptel (Zapata Telephony) interface The zaptel telephony infrastructure was jointly developed by Mark Spencer of Linux Support Services, Inc. and Jim Dixon of Zapata Telephony. The zaptel interface breaks with the established conventional wisdom by using the host processor to simulate the TDM bus which is typically built into other telephony interfaces (e.g. Dialogic and other H.100 vendors). The resulting pseudo-TDM architecture is a system which requires somewhat more processor, at a substantial savings in hardware cost and increase in flexibility. Resources such as echo cancelers, HDLC controllers, conferencing DSP's, DAX's and more are replaced by software equivalents. Just like traditional hard-TDM interfaces, switching is done in near-realtime, and call qualities are substantially the same. The pseudo-TDM architecture also can extend the TDM bus across Ethernet networks. Zaptel devices also support data modes on clear channel interfaces, including Cisco HDLC, PPP, and Frame Relay A number of Zaptel compatible interfaces are available from Linux Support Services. At the time of this writing, the following cards are available: X100P - Single FXO Analog Interface (PCI) T100P - Single T1/PRI Interface (PCI) Page 2/16
E100P - Single E1/PRA Interface (PCI, exp. Q3 2002) T400P - Quad T1/PRI Interface (PCI) E400P - Quad E1/PRA Interface (PCI) S100U - Single FXS Interface (USB) Linux Telephony Interface The Linux Telephony Interface, was developed primarily by Quicknet, Inc. with help from Alan Cox. This interface is geared toward single analog interfaces and also provides support for low bit-rate codecs. The following products are known to work with Asterisk: Quicknet Internet Phonejack (ISA, FXS) Quicknet Internet Phonejack PCI (PCI, FXS) Quicknet Internet Linejack (ISA, FXO or FXS) Quicknet Internet Phonecard (PCMCIA, FXS) Creative Labs VoIP Blaster (limited support) ISDN4Linux The ISDN4Linux interface is used primarily in Europe to bring lines into Asterisk from BRI...