Asterisk™

Asterisk is a complete PBX (Private Branch Exchange) in software. It runs on Linux, BSD and MacOSX and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in many protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.

Features

Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response and Call Queuing. It has support for three-way calling, caller ID services, ADSI, SIP and H.323 (as both client and gateway). Check the Features section for a more complete list.

Protocol Support

Asterisk supports a wide range of TDM protocols for the handling and transmission of voice over traditional telephony interfaces. Asterisk supports US and European standard signalling types used in standard business phone systems, allowing it to bridge between next generation voice-data integrated networks and existing infrastructure. Asterisk not only supports traditional phone equipment, it enhances them with additional capabilities.

Using the Inter-Asterisk eXchange (IAX™) Voice over IP protocol, Asterisk merges voice and data traffic seamlessly across disparate networks. While using Packet Voice, it is possible to send data such as URL information and images in-line with voice traffic, allowing advanced integration of information.

Asterisk provides a central switching core, with four APIs for modular loading of telephony applications, hardware interfaces, file format handling, and codecs. It allows for transparent switching between all supported interfaces, allowing it to tie together a diverse mixture of telephony systems into a single switching network.

Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response and Call Queuing. It has support for three-way calling, caller ID services, ADSI, SIP and H.323 (as both client and gateway). Click here for a full list of features.

For a more detailed discussion, read on.

Asterisk™ Architecture 

Asterisk is carefully designed for maximum flexibility. Specific APIs are defined around a central PBX core system. This advanced core handles the internal interconnection of the PBX, cleanly abstracted from the specific protocols, codecs, and hardware interfaces from the telephony applications. This allows Asterisk to use any suitable hardware and technology available now or in the future to perform its essential functions, connecting hardware and applications.

The Asterisk core handles these items internally: Loadable Module APIs:

Four APIs are defined for loadable modules, facilitating hardware and protocol abstraction. Using this loadable module system, the Asterisk core does not have to worry about details of how a caller is connecting, what codecs are in use, etc.

Using these APIs Asterisk achieves a complete abstraction between its core functions as a PBX server system and the varied technologies existing (or in development) in the telephony arena. The modular form is what allows Asterisk to seamlessly integrate both currently implemented telephony switching hardware and the growing Packet Voice technologies emerging today. The ability to load codec modules allows Asterisk to support both the extremely compact codecs necessary for Packet Voice over slow connections such as a telephone modem while still providing high audio quality over less constricted connections.

The application API provides for flexible use of application modules to perform any function flexibly on demand, and allows for open development of new applications to suit unique needs and situations. In addition, loading all applications as modules allows for a flexible system, allowing the administrator to design the best suited path for callers on the PBX system and modify call paths to suit the changing communication needs of a going concern.

For a list of supported features click here.