Jump to content

Asterisk (PBX): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 44: Line 44:
* [http://www.asteriskdocs.org/modules/tinycontent/index.php?id=11 O'Reilly Media's — "Asterisk: The Future of Telephony"] – A free download under the creative commons license
* [http://www.asteriskdocs.org/modules/tinycontent/index.php?id=11 O'Reilly Media's — "Asterisk: The Future of Telephony"] – A free download under the creative commons license
* http://www.trixbox.org/ – Successor to Asterisk@Home - An implementation of Asterisk aimed at relative ease of use (Built on CentOS).
* http://www.trixbox.org/ – Successor to Asterisk@Home - An implementation of Asterisk aimed at relative ease of use (Built on CentOS).
* [http://revision3.com/systm/asterisk/ 45 minute tutorial video] – From the tech show Systm (includes other Asterisk links)
* [http://www.turbocat.net/~hselasky/capi4pbx/index.html CAPI-Driver for BSD and Linux]
* [http://www.turbocat.net/~hselasky/capi4pbx/index.html CAPI-Driver for BSD and Linux]
* [http://www.turbocat.net/~hselasky/isdn4bsd/index.html ISDN-Driver for Free- and NetBSD]
* [http://www.turbocat.net/~hselasky/isdn4bsd/index.html ISDN-Driver for Free- and NetBSD]
Line 53: Line 54:
* http://www.voiponcd.com/ – Asterisk with webinterface, database including Linux on one CD for free download.
* http://www.voiponcd.com/ – Asterisk with webinterface, database including Linux on one CD for free download.
* [http://www.packtpub.com/files/Asterisk_Chapter_Making_a_Plan_For_Deployment.pdf Chapter from Building Telephony Systems With Asterisk Book]
* [http://www.packtpub.com/files/Asterisk_Chapter_Making_a_Plan_For_Deployment.pdf Chapter from Building Telephony Systems With Asterisk Book]
* [http://revision3.com/systm/asterisk/ 45 minute tutorial video] – From the tech show Systm (includes other Asterisk links)
* [http://www.skyyconsulting.com/itsp_voip_asterisk.php Paper on ITSP Architecture using Asterisk]
* [http://www.skyyconsulting.com/itsp_voip_asterisk.php Paper on ITSP Architecture using Asterisk]
* [http://www.opensourcebiz.info/opensourcebiz/5.html Open source call center using LTSP, Asterisk and Kphone] A weblog about Open Source usage in business
* [http://www.opensourcebiz.info/opensourcebiz/5.html Open source call center using LTSP, Asterisk and Kphone] A weblog about Open Source usage in business

Revision as of 15:58, 6 July 2006

File: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 (although the G729 codec may work with the free or commercial versions). 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, e.g. Klaus-Peter Junghanns who developed the EURO-ISDN support for Asterisk. 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; many now offer IAX2 or SIP trunking direct to an Asterisk box as an alternative to providing the customer with an ATA.

As of June 6, 2006, the current stable version of Asterisk is 1.2.9.1

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 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 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 a hardware-based alternative. The Asterisk architecture therefore has inherent scalability problems in terms of raw performance and 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.

Asterisk's timing mechanism (both timestamps and wake-ups) is strongly biased toward systems which contain at least one of Digium's PCI boards. Users with other needs, including pure VoIP setups, are likely to experience timing problems. The problem can be somewhat reduced by loading a kernel module which emulates the timing functionality normally provided by Digium's PCI boards. As with the other Digium drivers, this driver has not been submitted for inclusion in the standard Linux kernel and thus presents the usual awkwardness associated with non-standard drivers.

References

Communities

Commercial Support

Please list in Alphabetical order (Country then Company)

Australia

Asterisk IT http://www.asteriskit.com.au