# Asterisk (PBX)

Asterisk is a software implementation of a private branch exchange (PBX). In conjunction with suitable telephony hardware interfaces and network applications, Asterisk is used to establish and control telephone calls between telecommunication endpoints such as customary telephone sets, destinations on the public switched telephone network (PSTN) and devices or services on voice over Internet Protocol (VoIP) networks. Its name comes from the asterisk (*) symbol for a signal used in dual-tone multi-frequency (DTMF) dialing.
Asterisk was created in 1999 by Mark Spencer of Digium, which, since 2018, has been a division of Sangoma Technologies Corporation. Originally designed for Linux, Asterisk runs on a variety of operating systems, including NetBSD, OpenBSD, FreeBSD, macOS, and Solaris, and can be installed in embedded systems based on OpenWrt.

## Features

The Asterisk software includes many features available in commercial and 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 PHP or 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.
Asterisk supports several standard VOIP protocols, including the Session Initiation Protocol (SIP), the Media Gateway Control Protocol (MGCP), and H.323. Asterisk supports most SIP telephones, acting both as registrar and back-to-back user agent. It can serve as a gateway between IP phones and the PSTN via T- or E-carrier interfaces or analog FXO cards. The Inter-Asterisk eXchange (IAX) protocol, RFC 5456, native to Asterisk, provides efficient trunking of calls between Asterisk PBX systems in addition to distributing some configuration logic. Many VoIP service providers support it for call completion into the PSTN, often because they themselves have deployed Asterisk or offer it as a hosted application. Some telephones also support the IAX protocol.
By supporting a variety of traditional and VoIP telephony services, Asterisk allows deployers to build telephone systems, or migrate existing systems to new technologies. Some sites are using Asterisk to replace proprietary PBXes, others provide additional features, such as voice mail or voice response menus, or virtual call shops, or to reduce cost by carrying both local and long-distance calls over the Internet.
In addition to VoIP protocols, Asterisk supports traditional circuit-switching protocols such as ISDN and SS7. This requires appropriate hardware interface cards, marketed by third-party vendors. Each protocol requires the installation of software modules. In Asterisk release 14 the Opus audio codec is supported.

## Internationalization

While initially developed in the United States, Asterisk has become a popular VoIP PBX worldwide. It allows having multiple sets of voice prompts identified by language (and even multiple sets of prompts for each language) as well as support for time formats in different languages. Several sets of prompts for the interactive voice response and voice mail features are included with Asterisk: American, British, and Australian English, Canadian French, Japanese, Russian, Mexican Spanish and Swedish. A few novelty prompts are offered, such as jokes and a themed "zombie apocalypse" message for Halloween. Additionally, voice sets are offered for commercial sale in various languages, dialects, and genders.
The default set of English-language Asterisk prompts are recorded by professional telephone voice Allison Smith.

## Derived products

Asterisk is a core component in many 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 with an open-source distribution model.
* AskoziaPBX, a fork of the m0n0wall project, uses Asterisk PBX software to realize all telephony functions.
* AstLinux is a "Network Appliance for Communications" open-source software distribution.
* FreePBX, an open-source graphical user interface, bundles Asterisk as the core of its FreePBX Distro
* LinuxMCE bundles Asterisk to provide telephony; there is also an embedded version of Asterisk for OpenWrt routers.
* PBX in a Flash/Incredible PBX and trixbox are software PBXes based on Asterisk.
* Elastix previously used Asterisk, HylaFAX, Openfire and Postfix to offer PBX, fax, instant messaging and email functions, respectively, before switching to 3CX.
* Issabel is an open-source Unified Communications software which uses Asterisk for telephony functions. It was forked from the open-source versions of Elastix when 3CX acquired it.
* *astTECS uses Asterisk in its VoIP and mobile gateways.
* Grandstream's UCM series of IP-PBX appliances uses Asterisk with a custom web interface.
* E-MetroTel UCX is a system developed by former Nortel engineers, running on Asterisk, designed to work with Nortel's digital and IP phones, as well as to integrate with other Nortel equipment. It also works with other products from other vendors, including NEC, Mitel, Avaya, and Cisco.
Various add-on products, often commercial, are available that extend Asterisk features and capabilities.
The standard voice prompts included with the system are free. A business can purchase matching voice announcements of its company name, IVR menu options and employee or department names (as a library of live recordings of common names or a set of fully customised prompts recorded by the same professional voice talent) at additional cost for seamless integration into the system.
Other add-ons provide fax support, text-to-speech, additional codecs and new features. Some third-party add-ons are free; a few even support embedded platforms such as the Raspberry Pi.