Ilmu Komputer    
   
Daftar Isi
(Sebelumnya) Aster Data SystemsAsterisk (Berikutnya)

Asterisk (PBX)

Asterisk
Asterisk logo.svg
Developer(s)Digium
Stable release

11.2.1 (22 January 2013; 61 days ago (2013-01-22)) [±]

1.8.20.1 (22 January 2013; 61 days ago (2013-01-22)) [±] [±]
Preview release

11.2.0-rc1 (December 10, 2012; 3 months ago (2012-12-10)) [±]

1.8.20.0-rc1 (December 10, 2012; 3 months ago (2012-12-10)) [±] [±]
Written inC
Operating systemCross-platform
TypeVoice over Internet Protocol
LicenseGNU General Public License / Proprietary
Websitewww.asterisk.org

Asterisk is a software implementation of a telephone private branch exchange (PBX); it was 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, such as 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.

Originally designed for Linux, Asterisk 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.[1] Asterisk is small enough to run in an embedded environment like Customer-premises equipment-hardware running OpenWrt.[2]

Contents

Features

The 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.

Special hardware must be installed in Asterisk servers to attach traditional analog telephones, or to connect to PSTN lines. 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.

Asterisk supports a wide range of video[3] and Voice over IP protocols, including the Session Initiation Protocol (SIP), the Media Gateway Control Protocol (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. The Inter-Asterisk eXchange (IAX2), a native protocol in Asterisk provides efficient trunking of calls among Asterisk PBXes, in addition to distributed configuration logic, and call completion to VoIP service providers who support it. Some telephones support the IAX2 protocol directly (see Perbandingan -- 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 virtual call shops) or to reduce costs by carrying long-distance calls over the Internet (toll bypass).

Asterisk was one of the first open source PBX software packages.[4]

In addition to VoIP protocols, Asterisk supports many traditional circuit-switching protocols such as ISDN and SS7. This requires appropriate hardware interface cards supporting such protocols, marketed by third-party vendors. Each protocol requires the installation of software modules such as Zaptel, Libpri, Libss7, chanss7, wanpipe and others. With these features, Asterisk provides a wide spectrum of communications options.

Configuration

Asterisk must be properly configured to function as a useful operational system. This includes:

  • creating 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.
  • composing the dial plan, written in the Asterisk control language, to express the algorithm or control flow Asterisk uses to respond when calls are presented to it over these channels. Asterisk can be used for many specific applications and a customized dial plan must be created specifically for each purpose, such as the functionality of a PBX. Asterisk is thus a 'construction kit' for building PBXs, rather than a PBX in itself, as is commonly thought.

Asterisk is configured by a set of configuration text files. One of these, extensions.conf, contains the operational flow logic of Asterisk. A native scripting language is used to define the elements of process control, namely variables, procedural macros, contexts, extensions, and actions. A context groups the valid destination codes that apply to a set of channels on which calls can be presented. These numbering codes, called extensions, are the starting points for the programming steps that process calls.

Because each channel declares a context, the dial plan restricts and permits which extensions and facilities its 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).

Controlling 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.

Several graphical user interfaces (GUIs) have been developed for Asterisk. These interfaces allow administrators to view, edit, and change various aspects of Asterisk via a web interface. As of version 1.8, a GUI called Asterisk-GUI is being developed for Asterisk by Digium. 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. However, trixbox support was ceased by Fonality. Other GUI applications are PBX in a Flash (PIAF), Elastix, and the FreePBX Distro.

Digium has also packaged a variant entitled AsteriskNow, which is a customized Linux installation and includes FreePBX and all ancillary software to provide an off-the-shelf PBX, requiring only that the user prepare the requisite dial plans (see above) and connect the necessary hardware. The target market for AsteriskNow is administrators who wish to set up a PBX using Asterisk, but who may not have the experience in server configuration to perform the initial setup of a base Asterisk installation.

Development

Major Releases:

Release SeriesRelease dateSecurity
Fixes Only
EOLFeatures
1.0.X2004-09-23[5] ??? ???
  • Initial version
1.2.X2005-11-21[6][7]2007-08-072010-11-21
  • Includes over 3,000 feature additions and improvements to the overall performance and efficiency of memory usage.

New features include:

  • Improved voicemail features
  • Addition of the DUNDi (Distributed Universal Number Discovery) protocol
  • Easier Asterisk configuration
  • Creation of a Realtime Database Configuration Storage Engine
  • More power added to the Asterisk Dialplan
  • Introduction of Asterisk Extension Logic, a new, flexible method for configuring the dialplan
  • New interface for dynamic IVR flow control
  • Configurable access to general call features
  • Improved SIP protocol support
  • New features for the IAX (Inter-Asterisk eXchange) protocol
  • Use of sound files for native music-on-hold
  • Customized CDR Support
  • PRI support improvements
1.4.X2006-12-23[8]2011-04-212012-04-21

Specific enhancements featured in Asterisk 1.4 include:

  • Generic Jitter Buffer- improves the quality of a call during network congestion.
  • Asterisk Extension Language Version 2- simplifies programming and dial plan configuration.
  • T.38- allows IP FAXes to pass through the server.
  • Jabber/Jingle/GoogleTalk- supports compatibility with all of these networks.
  • Increased language capabilities- offers new language capabilities in English, Spanish and French as well as new sounds and improved sentence structure support.
  • Unified Messaging- integrates voicemail, email, and fax into a central mailbox where users can send, retrieve and manage all of their messages using any communication device.
  • Whisper Paging- allows for selective, pre-programmed call interruption with controlled volume levels and muting capabilities.

Additionally, Asterisk 1.4 now includes variable length DTMF support (touch-tone signaling for IVR applications), the option for programming shared line appearance, centralized RADIUS storage for call detail records, a built-in web manager interface and a simplified, single user configuration for SOHO/SMB users. Asterisk 1.4 also offers increased memory usage and performance improvements such as improved interoperability of SIP call transfers, IAX2 scalability improvements, enhanced IAX2 media stream capabilities (enabling direct audio communication between IAX devices while eliminating server involvement and maintaining billing and control functionalities), Cisco® SCCP support, SNMP monitoring, and RTP native bridging capabilities.

1.6.0.X2008-10-01[9][10]2010-05-012010-10-01

A few hundred major changes in the following areas:

  • AMI - The manager (TCP/TLS/HTTP)
  • Dialplan functions
  • IAX2 changes
  • XMPP Google Talk/Jingle changes
  • Skinny changes
  • MGCP changes
  • Console Channel Driver changes
  • Phone channel changes (chan_phone)
  • H.323 channel Changes
  • Local channel changes
  • Agent channel changes
  • DAHDI channel driver (chan_dahdi) Changes
  • New Channel Drivers
  • DUNDi changes
  • ENUM changes
  • Voicemail Changes
  • Queue changes
  • MeetMe Changes
  • Other Dialplan Application Changes
  • Music On Hold Changes
  • AEL Changes
  • Call Features (res_features) Changes
  • Language Support Changes
  • AGI Changes
  • Logger changes
  • Call Detail Records
  • Miscellaneous New Modules
  • Miscellaneous
  • Timer Changes
1.6.1.X2009-04-27[11]2010-05-012011-04-27

???

1.6.2.X2009-12-18[12]2011-04-212012-04-21

???

1.8.X2010-10-21[13][14]2014-10-212015-10-21
  • Secure RTP
  • IPv6 Support in the SIP channel driver
  • Connected Party Identification Support
  • Calendaring Integration
  • A new call logging system, Channel Event Logging (CEL)
  • Distributed Device State using Jabber/XMPP PubSub
  • Call Completion Supplementary Services support
  • Advice of Charge support
  • Much, much more![15][16]
10.X2011-12-15[17][18]2012-12-152013-12-15

Asterisk 10 introduces a number of new features since the previous 1.8 release. Highlights include:

  • Advanced, high-performance wide and ultra-wideband conferencing application for 8-192kHz clients
  • Re-designed media negotiation framework featuring support for an array of common sampling rates
  • Support for SKYPE's SILK codec, offering narrow, wide and ultra-wideband audio
  • Pass-ThroughSupport for the CELT low-latency audio codec at 32 and 48kHz
  • Support for the SPEEX codec at 32kHz
  • New receive-side jitter buffer capabilities
  • CCSS Device State Information[19]
11.X2012-10-31[20] ??? ???

As a Long Term Support release, Asterisk 11 is primarily focused on stability, performance and security, with a relatively short list of new features. LTS releases receive four years of support, with an additional year of security maintenance. Under this release plan, Asterisk 11 will be supported through 2016.

Significant new features include:

  • WebSockets SIP Transport - WebRTC/RTCWEB brings real-time communications to web browsers. The new WebSockets transport for the Asterisk SIP channel allows browser-based SIP clients to connect with Asterisk and establish media sessions.
  • DTLS-SRTP Support – A secure transport for RTP media streams used by WebRTC and SIP endpoints.
  • ICE, STUN and TURN Support – A set of related technologies for establishing live media streams between software agents running behind network address translators (NATs) and firewalls. ICE, STUN and TURN have been incorporated into the Asterisk RTP engine as part of the effort to support WebRTC.
  • Motif - A new channel driver for supporting the Jingle protocol and Google Talk. Motif combines functions previously spread across multiple channels, and makes use of a new and more standards-compliant XMPP implementation.[21][22]
12.X ??? ??? ???

Below are projects planned for Asterisk 12: [23]

  • Asterisk 12 API Improvements
  • Asterisk 12 Bridging Project
  • New SIP channel driver
  • Data Access Layer Design

Internationalization

While initially developed in the United States, Asterisk has become a popular VoIP PBX worldwide because it is freely available under open source licensing, and has a modular, extensible design. The American-English, French and Mexican Spanish female voices along with other new prompts like Australian-English [1] for the Interactive voice response and voice mail features of Asterisk are frequently updated with submissions from developers in many different languages and dialects. Additionally, voice sets are offered for commercial sale in different languages, dialects and genders.

Derived products

Asterisk is a core component in many PABX in a box commercial products and open-source projects. Some of the commercial products are hardware and software bundles, for which the manufacturer supports and releases the software as open source. Examples are TrixBox and Elastix.

Asterisk is also included in the LinuxMCE home entertainment/automation system.

See also

References

  1. ^ "Asterisk Win32 website". Archived from the original on 16 February 2009. http://www.asteriskwin32.com/. Retrieved 2009-02-23.
  2. ^ "Asterisk on OpenWrt". http://wiki.openwrt.org/doc/howto/voi p.asterisk. Retrieved 2011-10-09.
  3. ^ "Video support in Asterisk". Asterisk.org. Archived from the original on 23 June 2010. http://www.asterisk.org/doxygen/trunk /AstVideo.html. Retrieved 2010-06-18.
  4. ^ VoIP Now (2007-04-16). "74 Open Source VoIP Apps & Resources". Archived from the original on 25 December 2007. http://www.voipnow.org/2007/04/74_ope n_source_.html. Retrieved 2007-12-22.
  5. ^ "Asterisk 1.0 released". TMCnet. September 23, 2004. http://blog.tmcnet.com/blog/tom-keati ng/voip/asterisk-10-released.asp. Retrieved 2009-03-26.
  6. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  7. ^ Keating, Tom (November 16, 2005). "Asterisk 1.2 released". TMCnet. http://blog.tmcnet.com/blog/tom-keati ng/asterisk/asterisk-12-released.asp. Retrieved 2009-03-26.
  8. ^ "Asterisk 1.4.0 released". Asterisk.org. December 20, 2006. Archived from the original on 6 April 2009. http://www.asterisk.org/node/48266. Retrieved 2009-03-26.
  9. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  10. ^ "Asterisk 1.6.0 released". Asterisk.org. October 2, 2008. Archived from the original on 30 March 2009. http://www.asterisk.org/node/48539. Retrieved 2009-03-26.
  11. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  12. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  13. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  14. ^ "Asterisk 1.8.0 Now Available!". Asterisk.org. October 21, 2010. Archived from the original on 30 October 2010. http://www.asterisk.org/node/51444. Retrieved 2010-10-24.[dead link]
  15. ^ http://www.asterisk.org/downloads/ast erisk-news/asterisk-180-released
  16. ^ http://svn.asterisk.org/svn/asterisk/ tags/1.8.0/asterisk-1.8.0-summary.txt
  17. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+Versions
  18. ^ "Asterisk 10.0.0 Is Released!". Asterisk.org. December 15, 2011. http://www.asterisk.org/node/51697. Retrieved 2011-12-26.[dead link]
  19. ^ https://wiki.asterisk.org/wiki/displa y/AST/New+in+10
  20. ^ "Asterisk 11, Now Available". digium. October 31, 2012. http://blogs.digium.com/2012/10/31/as terisk-11-now-available/. Retrieved 2012-11-05.
  21. ^ http://www.bizjournals.com/prnewswire /press_releases/2012/10/31/NE03622
  22. ^ https://wiki.asterisk.org/wiki/displa y/AST/New+in+11
  23. ^ https://wiki.asterisk.org/wiki/displa y/AST/Asterisk+12+Projects

External links

(Sebelumnya) Aster Data SystemsAsterisk (Berikutnya)