Shopping Cart: 0 items
 
Manufacturers
Solutions
Products
Tell me about... VoIP University
Home - Asterisk
Asterisk

Asterisk is an open-source implementation of a telephone PBX (Private Branch Exchange). Like a traditional analog key system, Asterisk allows a number of attached phones to make calls to one another, and to connect to other telephone services including the public switched telephone network (PSTN). The name “Asterisk” is derived from the asterisk symbol, *, which represents a wildcard in Unix and DOS environments.

Asterisk is available free of charge under the Gnu General Public License(GPL), as well as a commercially licensed version which allows closed/patented code, such as the G.729 codec to work with the system (although the G729 codec may work with the free or commercial versions). Mark Spencer of Digium originally created Asterisk. However, following Open Source development methods, there are dozens of other programmers who 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, and Sun Solaris, 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. The PCI cards that Digium sells as X100 or X101 are a particular Intel or Motorola WinModem with a resistor removed to change the PCI Device ID; this prevents the same WinModem that Digium modifies from being used unless a change is made to the driver so that the PCI Device ID is recognised (or by removing the resistors). 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; many now offer IAX2 or SIP trunking direct to an Asterisk box as an alternative to providing the customer with an ATA.

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, PHP and C. These programs issue Asterisk function-calls to handle the primitive functions.

There are several GUI interfaces for Asterisk, one of the most popular being FreePBX. These interfaces allow administrators to view, edit, and change most aspects of Asterisk via a web interface.

Various distributions of Asterisk exist, usually pre-packaged with an operating system. Some are fully Open Source and others commercial. Each distribution has its own set of features and packaged applications.

Some examples of both open, and closed-source platforms built on Asterisk include:

  • Fonality
  • Switchvox
  • Trixbox (Formerly Asterisk@Home)
  • AsteriskNow