Asterisk PBX

From Free net encyclopedia

Image:Asterisk logo.png Asterisk is a free software / open-source software implementation of a telephone private branch exchange (PBX). Like any PBX, it allows a number of attached telephones to make calls to one another, and to connect to other telephone services including the PSTN. "Its name comes from the asterisk symbol, *, which in Unix (including Linux) and DOS environments represents a wildcard, matching any filename." [1]

Asterisk is released under a dual license scheme, the free software license being the GNU General Public License (GPL), the other being a commercial license as to allow closed/patented code, such as the G.729 codec to work with the system. Mark Spencer of Digium originally created Asterisk and remains its primary maintainer; dozens of other programmers have contributed features and functionality and have reported bugs. Originally designed for the Linux operating system, Asterisk now also runs on OpenBSD, FreeBSD, Mac OS X, Sun Solaris, and Microsoft Windows, although as the "native" platform, Linux is the best-supported of these.

The basic Asterisk software includes many features previously only available in expensive 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 Asterisk's own language, by adding custom modules written in C, or by writing Asterisk Gateway Interface scripts in Perl or other languages.

To attach ordinary telephones to a Linux server running Asterisk, or to connect to PSTN trunk lines, the server must be fitted with special hardware. (An ordinary modem will not suffice.) 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 Voice over IP protocols, including SIP 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, IAX, for efficient trunking of calls among Asterisk PBXes.

By supporting a mix of traditional and VoIP telephony services, Asterisk allows deployers to build new telephone systems efficiently, or gradually migrate existing systems to new technologies. Some sites are using Asterisk servers to replace aging proprietary PBXes; others to provide additional features (such as voice mail or phone menus) or to cut costs by carrying long-distance calls over the Internet (toll bypass).

VoIP telephone companies have begun to support Asterisk. An article in the Geek Gazette, explains how to configure an Asterisk system to work with BroadVoice. VoicePulse also offers support for Asterisk via their "Connect" service. A popular small business distribution of Asterisk Evolution incorporates many popular VoIP providers and digium hardware right into their management interface.

As of April 12, 2006, the current stable version of Asterisk is 1.2.7.

Contents

Programming

Asterisk, on its own, is not a complete system. The administrator must create a Dial Plan to make Asterisk respond to users. If Asterisk is to be used as a PBX, a dial plan has to be created specifically for this purpose.

Asterisk is controlled by editing a series of configuration files. One of these, extensions.conf, is where the administrator defines what actions Asterisk will take when calls are answered. A native language is used to define contexts, extensions and actions.

Programming can also be done using the AGI interface which allows programs written in languages such as Perl and C. These programs issue Asterisk function-calls to handle the primitive functions.

Criticism

Unlike most next generation telephony applications and architectures, Asterisk is built using a monolithic model. That is, Asterisk is built as a unified application, and does not break out individual parts of the application. An alternative application architecture would be disaggregated, where each architectural component could exist independently, and would therefore be scalable or easily accelerated with best of breed components. As an example, the media server portion of the Asterisk application is not implemented as a Voice Over IP media server, and cannot be easily replaced with hardware based alternative. The result is that the Asterisk architecture is inherintly unscalable in terms of raw performance or functional completeness. Due to the dual licensing nature of the Asterisk code, and the feeling among some developers that changes required to the software were not incorporated in a timely manner, the Asterisk source base was forked in 2005 and established as OpenPBX.

External links

Template:Portalpar

Communities

es:Asterisk fr:Asterisk (logiciel) nl:Asterisk PBX pl:Asterisk ro:Asterisk PBX ru:Asterisk sq:Asterisk PBX