Active In SP
Joined: Jun 2010
18-12-2010, 04:17 PM
asterisk.doc (Size: 2.1 MB / Downloads: 63)
An incredible revolution is under way. It has been a long time in coming, but now that it has started, there will be no stopping it. It is taking place in an area of technology that has lapsed embarrassingly far behind every other industry that calls itself high tech. The industry is telecommunications, and the revolution is being fueled by an open source Private Branch eXchange (PBX) called Asterisk™.
Telecommunications is arguably the last major electronics industry that has remained untouched by the open source revolution.* Major telecommunications manufacturers still build ridiculously expensive, incompatible systems, running complicated, ancient code on impressively engineered yet obsolete hardware.
Asterisk is software that turns an ordinary computer into a voice communications server. Asterisk is an open source converged telecommunications platform, designed to allow different types of IP telephony hardware, middleware, and software to interface with each other consistently. It provides multiple layers, managing both TDM and packet voice at lower layers while offering a highly flexible platform for PBX and telephony applications such as IVR. Asterisk can bridge and translate different types of VoIP protocols like SIP, MGCP, and H.323. At the same time it can provide a full-featured server platform for predictive dialing, custom IVR, remote and central office PBX, and conferencing.
The name Asterisk refers to the “*” symbol which is a “wildcard” in Unix and DOS command line syntax, denoting a symbol of a very versatile component in a voice network. Implementing host based DTM and DSP, allowing multiple packet voice protocols to interact, and offering a modular design with APIs for adding new applications have made Asterisk a real wildcard in converged telecommunications.
It runs on Linux, BSD, Windows (emulated) and OS X and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in four protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.
For interconnection with digital and analog telephony equipment, Asterisk supports a number of hardware devices, most notably all of the hardware manufactured by Asterisk's sponsor, Digium. Digium has single and quad span T1 and E1 interfaces for interconnection to PRI lines and channel banks
For interconnection with the cellular network (GSM or CDMA), Asterisk can use the Celliax channel driver or chan_mobile that is in the trunk now and there is also a unofficial backported version.
Open source project and implimentations usually start out of a need that somebody with a particular level of pride has. Asterisk is no exception. Mark Spencer, the creator of Asterisk, found it to be too expensive for his new, support-centric linux-support.net business to buy a traditional PBX solution to handle phone calls. After all, one could theoretically hook up the voice lines to a computer with some sort of expansion card, and process them in software. He therefore started writing a piece of software to control such cards and perform voice switching services, in order to eliminate the need for a PBX. The result was the first version of Asterisk, which was later rewritten for modularity and flexibility – what we know today as the official version of Asterisk.
With his better understanding of the requirements upon developing the first Asterisk version, Mark teamed up with Jim Dixon of the Zapata Telephony Project, to build inexpensive expansion cards for commodity Intel-based hardware to serve as the interface of an Asterisk server platform to the PSTN. The idea was that one could buy a PC from anywhere, run Linux on it, add a card to it for some FXO/T1/E1 connections, add Asterisk to the mix, and end up with a full-featured PBX
The Asterisk software includes many features available in proprietary PBX systems: voice mail, conference calling, interactive voice response (phone menus), and automatic call distribution. Users can create new functionality by writing dial plan scripts in several of Asterisk's own extensions languages, by adding custom loadable modules written in C, or by implementing Asterisk Gateway Interface (AGI) programs using any programming language capable of communicating via the standard streams system (stdin and stdout) or by network TCP sockets.
To attach traditional analog telephones to an Asterisk installation, or to connect to PSTN trunk lines, the server must be fitted with special hardware. Digium and a number of other firms sell PCI cards to attach telephones, telephone lines, T1 and E1 lines, and other analog and digital phone services to a server.
Perhaps of more interest to many deployers today, Asterisk also supports a wide range of Video and Voice over IP protocols, including SIP, MGCP and H.323. Asterisk can interoperate with most SIP telephones, acting both as registrar and as a gateway between IP phones and the PSTN. Asterisk developers have also designed a new protocol, Inter-Asterisk eXchange (IAX2), for efficient trunking of calls among Asterisk PBXes, and to VoIP service providers who support it. Some telephones support the IAX2 protocol directly (see Comparison of VoIP software for examples).
By supporting a mix of traditional and VoIP telephony services, Asterisk allows deployers to build new telephone systems, or gradually migrate existing systems to new technologies. Some sites are using Asterisk servers to replace proprietary PBXes; others to provide additional features (such as voice mail or voice response menus, or virtual call shops) or to reduce costs by carrying long-distance calls over the Internet (toll bypass).
VoIP telephone companies can, as an option, support Asterisk as a user agent or trunked connection with the IAX2 or SIP trunking protocols along with ATAs and other software user agents.