Jump to content

- - - - -

PBX in a Flash (PIAF)

  • Please log in to reply
2 replies to this topic

#1 Mikorist


    ▂ ▃ █ ▅ ▆

  • Advanced user
  • 771 posts
    United Nations

Posted 02 December 2008 - 09:04 PM

Asterisk (PBX)

Asterisk is a software implementation of a telephone private branch exchange (PBX) originally created in 1999 by Mark Spencer of Digium. Like any PBX, it allows attached telephones to make calls to one another, and to connect to other telephone services including the public switched telephone network (PSTN) and Voice over Internet Protocol (VoIP) services. Its name comes from the asterisk symbol, "*".

Asterisk is released under a dual license model, using the GNU General Public License (GPL) as a free software license and a proprietary software license to permit licensees to distribute proprietary, unpublished system components.

Due to free licensing of the software, hundreds of community programmers have contributed features and functionality and have reported and corrected bugs. Originally designed for Linux, Asterisk now also runs on a variety of different operating systems including NetBSD, OpenBSD, FreeBSD, Mac OS X, and Solaris. A port to Microsoft Windows is known as AsteriskWin32.


The basic 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 analogue 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 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 to reduce 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.


To configure Asterisk into an operational system, the administrator must:

* create channels/devices that allow Asterisk to communicate through a voice path that uses that channel and/or devices. These can be VoIP, or TDM, or analogue telephony devices.
* compose a dial plan, written in the Asterisk control language, to express the algorithm or control flow Asterisk uses to respond to users through their devices. Asterisk can be used for many specific applications and a customized dial plan has to be created specifically for each purpose, such as the functionality of a PBX.

Asterisk is controlled by editing a set of configuration files. One of these, extensions.conf, controls the operational flow of Asterisk. A native scripting language is used to define the elements of process control, namely named variables, procedural macros, contexts, extensions, and actions. A context defines a logical group of extensions (destinations) which can have multiple sequential execution or action steps (priorities) associated. Extensions can be the source or destination of a telephony communications channel, it is a programming step at which a device starts its sequence of operations (dial plan). Through the confines of contexts, the dial plan restricts and permits which extensions and facilities a device may access. Extensions consist of possibly multiple steps of execution, each performing either logical operations, directing program flow, or executing one of the many included applications available in Asterisk.

Applications are loadable modules that perform specialized operations, such as dial a telephone number or another internal extension (app_dial), perform conferencing services (app_meetme), or handle the operations of voice mail (app_voicemail). The plethora of applications available provide a unique capability and tool set to formulate algorithms that can perform a large array of different, customized telephony scenarios. Applications control the Asterisk core functions through a set of internal operation primitives, that are organized in an extensible fashion through a modular architecture and application programming interfaces (APIs).

Programming an Asterisk system can also be accomplished via separate, external applications using the Asterisk Gateway Interface. The Asterisk Gateway Interface (AGI) is a software interface and communications protocol for inter-process communication with Asterisk. In this, external, user-written programs, are launched from the Asterisk dial plan via pipes to control telephony operations on its associated control and voice channels. It is similar to the CGI feature of web servers in that any language can be used to write the external program which communicates with Asterisk via the standard streams, stdin and stdout.

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 by Digium. There are other GUIs, such as FreePBX. Other attempts to simplify Asterisk installation have been made, trixbox (formerly Asterisk at home (A@H)) is a popular distribution of Asterisk that includes Asterisk and FreePBX. There is also a free downloadable version - PBX in a Flash (PIAF).

From Wikipedia, the free encyclopedia


PBX in a Flash (PIAF) :









#2 spikeinin

  • Members
  • 1 posts
    United States

Posted 29 July 2009 - 01:35 PM

Asterisk is a software implementation of a telephone private branch exchange and it is a nice PBX..

And here was a link to a Commercial site removed by jaclaz

#3 Brito


    Platinum Member

  • .script developer
  • 10566 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
    European Union

Posted 29 July 2009 - 03:42 PM

Fast catch Jaclaz, thank you.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users