- Asterisk (PBX)
infobox software
name = Asterisk
developer =Digium
latest release version = 1.4.22
latest release date = release date|2008|10|02
latest release version = 1.6.0
latest release date =Oct 2 ,2008
programming language = C
operating system =Cross-platform
genre =Voice over Internet Protocol
license =GNU General Public License / Proprietary
website = http://www.asterisk.org/Asterisk is a
software implementation of a telephoneprivate branch exchange (PBX) originally created in 1999 byMark Spencer ofDigium . Like any PBX, it allows a number of attachedtelephone s to make calls to one another, and to connect to other telephone services including thepublic switched telephone network (PSTN). Its name comes from theasterisk symbol, "*".Asterisk is released under a
dual license scheme, thefree software license being theGNU General Public License (GPL), the other being aproprietary software license as to allow proprietary code, such as theG.729 codec to work with the system (although the G729 codec may work with the free or proprietary versions).Due to free licensing of the software, hundreds of other programmers have contributed features and functionality and have reported bugs. Originally designed for
Linux , Asterisk now also runs on a variety of differentoperating system s includingNetBSD ,OpenBSD ,FreeBSD ,Mac OS X , and Solaris. The port toMicrosoft Windows is known as AsteriskWin32.Features
The basic Asterisk software includes many features available in proprietary PBX systems:
voice mail ,conference call ing,interactive voice response (phone menus), andautomatic 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" (AGI) scripts inPerl 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. 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, MGCP andH.323 . Asterisk can interoperate with most SIP telephones, acting both as registrar and as a gateway between IP phones and thePSTN . Asterisk developers have also designed a new protocol,Inter-Asterisk eXchange (IAX2), for efficienttrunking of calls among Asterisk PBXes, and to VoIP service providers who support it. Some telephones support the IAX2 protocol directly for communicating with an Asterisk server (seeComparison 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 phone menus) or to cut costs by carrying long-distance calls over the Internet (
toll bypass ).VoIP telephone companies have begun to support Asterisk; many now offer IAX2 or
SIP trunking direct to an Asterisk box as an alternative to providing the customer with an ATA. [cite web|url=http://www.voip-info.org/wiki/view/VOIP+Service+Providers+B2B|title="IAX Carriers"|author=Voip-Info|date=2008-01-27|accessdate=2008-01-27]Asterisk was one of the first open source PBX server systems, of which there are now many. [cite web|url=http://www.voipnow.org/2007/04/74_open_source_.html|title="74 Open Source VoIP Apps & Resources"|author=VoIP Now|date=2007-04-16|accessdate=2007-12-22]
Programming
To configure Asterisk to be a working system, the administrator must create:
* Channels/Devices that allow Asterisk to communicate through a voice path that uses that channel and/or devices. This can be
VoIP , or TDM.
*Dial plan to make Asterisk respond to users through their devices. 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. Each context defines where a device starts its dial plan, and therefore restricts what extensions the device may access.Extensions are written within contexts, and consists of numbered lines, each line performing either logic on known variables to the dial plan, or executing one of many applications available in Asterisk.
Applications include app_dial, which allows one device to call another device, app_meetme, which creates a conference call, and app_voicemail that allows a caller to leave a message, and user to listen to the messages. There are many more applications, each doing different PBX functions. Each application can be set to behave differently based on options supplied when executing the application. There are also many logic applications that allow the dial plan to perform logic and take action based on that.Programming can also be done using the Asterisk Gateway Interface, which allows programs written in languages such as
Perl ,PHP , Java, and C. These programs issue Asterisk function-calls to handle the primitive functions.There are several GUI interfaces for Asterisk. These interfaces allow administrators to view, edit, and change most aspects of Asterisk via a web interface. As of version 1.4, a GUI labeled "asterisk-gui" is being developed alongside Asterisk. This specific
GUI is being maintained byDigium . There are other GUIs out there such asFreePBX . Other attempts to simplify Asterisk installation have been made, trixbox (formerly "A@H" or "Asterisk at home") is a popular distribution of Asterisk that includes Asterisk and FreePBX.Regional versions
While initially developed in the
United States , Asterisk has become a "de facto" standardVOIP PBX worldwide due to its longevity. As a result, the language of the voice prompts for theInteractive voice response andvoice mail portions of Asterisk have been re-recorded by various developers in many different languages. Additionally, Asterisk prompt sets in different languages, dialects and genders are offered for commercial sale.ee also
*
Inter-Asterisk eXchange
*Voice modem
*Comparison of VoIP software
*List of SIP software
*IP PBX
*VoIP References
External links
* [http://www.asterisk.org Asterisk home page]
* [http://www.forbes.com/forbes/2006/0410/063.html Forbes article about Mark Spencer and Asterisk]
* [irc://irc.freenode.net/asterisk #asterisk] on freenode
* [http://twit.tv/floss38 Interview with Mark Spencer on Leo Laporte's TWIT.TV FLOSS Weekly podcast]
Wikimedia Foundation. 2010.