Asterisk (PBX)

From Wikipedia, the free encyclopedia

(Redirected from FreePBX)
Jump to: navigation, search
For other uses of this term, see Asterisk (disambiguation).
Asterisk
OS Cross-platform
Website www.asterisk.org www.digium.com

Asterisk is an open source/free software implementation of a telephone private branch exchange (PBX) originally created by Mark Spencer of Digium. 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 public switched telephone network (PSTN). "Its name comes from the asterisk symbol, *, which in Unix (and Unix-like operating systems such as Linux) and DOS environments represents a wildcard, matching any sequence of characters in a filename."

Contents

Asterisk is released under a dual license scheme, the free software license being the GNU General Public License (GPL), the other being a proprietary software license as to allow proprietary/closed and patented code, such as the G.729 codec to work with the system (although the G729 codec may work with the free or proprietary versions). However, due to free software/open source nature of the software, hundreds of other programmers have contributed features and functionality and have reported bugs. Originally designed for the Linux operating system, Asterisk now also runs on NetBSD, OpenBSD, FreeBSD, Mac OS X, and Solaris, although as the native platform, Linux is the most supported of these.

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 Asterisk's own language, by adding custom modules written in C, or by writing Asterisk Gateway Interface (AGI) 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, 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, for efficient trunking of calls among Asterisk PBXes. Some telephones support IAX protocol directly for communicating with an Asterisk server ( 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 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[specify] now offer IAX2 or SIP trunking direct to an Asterisk box as an alternative to providing the customer with an ATA.

Asterisk is one of many available open-source PBX server systems. [1]

As of December 21, 2007, the current release version of Asterisk is 1.4.16.2.

To configure Asterisk to be a working system, the administrator must create:

  • Channels/Devices that allow Asterisk to communicate through a voice path that uses that channel and/or devices. This can be VoIP, or TDM.
  • Dial plan to make Asterisk respond to users through their devices. 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. Each context defines where a device starts its dial plan, and therefore restricts what extensions the device may access. Extensions are written within contexts, and consists of numbered lines, each line performing either logic on known variables to the dial plan, or executing one of many applications available in Asterisk. Applications include app_dial, which allows one device to call another device, app_meetme, which creates a conference call, and app_voicemail that allows a caller to leave a message, and user to listen to the messages. There are many more applications, each doing different PBX functions. Each application can be set to behave differently based on options supplied when executing the application. There are also many logic applications that allow the dial plan to perform logic and take action based on that. Programming can also be done using the Asterisk Gateway Interface, which allows programs written in languages such as Perl, PHP, and C. These programs issue Asterisk function-calls to handle the primitive functions.

There are several GUI interfaces for Asterisk, one of the most popular being FreePBX. 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.

Various distributions of Asterisk exist. Each distribution has its own set of features and packaged applications.

  • FreeSWITCH, a free/open source software telephony platform
  • IAX, protocol developed for use within Asterisk
  • ZRTP, a protocol for secure voice-over-IP

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.