VoIP Using Asterisk Server
What is Asterisk?
Asterisk in its most base form, is a Software Application run on a Linux-Based Server-Class machine
It is the world’s most popular open source telephony project. Under development since 1999, Asterisk is free, open source software that turns an ordinary computer into a feature-rich voice communications server. Asterisk makes it simple to create and deploy a wide range of telephony applications and services.
Code for Asterisk, originally written by Mark Spencer of Digium, Inc., has been contributed from open source software engineers around the world. Currently boasting over two million users, Asterisk supports a wide range of telephony protocols. It includes rich support for the handling and transmission of voice over traditional telephony interfaces including analog lines, ISDN-BRI lines and digital T1/E1 trunks. Asterisk also features support for a wide range of VoIP protocols including SIP, IAX and H.323 among others. It supports U.S. and European standard signaling types used in business phone systems, allowing it to bridge between next-generation voice-data integrated networks and existing infrastructure.
Asterisk is released as open source under the GNU General Public License (GPL), and it is available for download free of charge. Asterisk® is the leading open source telephony project and the Asterisk community has been ranked as a key factor in the growth of VoIP.
What Does Asterisk Do?
Asterisk is like an erector set or a box of Lego for people who want to create communications applications. That’s why we refer to it as a “toolkit” or “development platform”. Asterisk includes all the building blocks needed to create a PBX system, an IVR system or virtually any other kind of communications solution. The “blocks” in the kit include:
- Drivers for various VoIP protocols.
- Drivers for PSTN interface cards and devices.
- Routing and call handling for incoming calls.
- Outbound call generation and routing.
- Media management functions (record, play, generate tone, etc.).
- Call detail recording for accounting and billing.
- Transcoding (conversion from one media format to another).
- Protocol conversion (conversion from one protocol to another).
- Database integration for accessing information on relational databases.
- Web services integration for accessing data using standard internet protocols.
- LDAP integration for accessing corporate directory systems.
- Single and mult-party call bridging.
- Call recording and monitoring functions.
- Integrated “Dialplan” scripting language for call processing.
- External call management in any programming or scripting language through Asterisk Gateway Interface (AGI)
- Event notification and CTI integration via the Asterisk Manager Interface (AMI).
- Speech synthesis (aka “text-to-speech”) in various languages and dialects using third party engines.
- Speech recognition in various languages using third party recognition engines.
This combination of components allows an integrator or developer to quickly create voice-enabled applications. The open nature of Asterisk means that there is no fixed limit on what it can be made to do. Asterisk integrators have built everything from very small IP PBX systems to massive carrier media servers.
Asterisk In Action: Key Applications
Asterisk As A PBX
Asterisk can be configured as the core of an IP or hybrid PBX, switching calls, managing routes, enabling features, and connecting callers with the outside world over IP, analog (POTS), and digital (T1/E1) connections.
Asterisk runs on a wide variety of operating systems including Linux, Mac OS X, OpenBSD, FreeBSD and Sun Solaris and provides all of the features you would expect from a PBX including many advanced features that are often associated with high end (and high cost) proprietary PBXs. Asterisk’s architecture is designed for maximum flexibility and supports Voice over IP in many protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.
Asterisk As A Gateway
It can also be built out as the heart of a media gateway, bridging the legacy PSTN to the expanding world of IP telephony. Asterisk’s modular architecture allows it to convert between a wide range of communications protocols and media codecs. Asterisk as a feature/media server.
Need an IVR? Asterisk’s got you covered. How about a conference bridge? Yep. It’s in there. What about an automated attendant? Asterisk does that too. How about a replacement for your aging legacy voicemail system? Can do. Unified messaging? No problem. Need a telephony interface for your web site? OK.
Asterisk In The Call Center
Asterisk has been adopted by call centers around the world based on its flexibility. Call center and contact center developers have built complete ACD systems based on Asterisk. Asterisk has also added new life to existing call center solutions by adding remote IP agent capabilities, advanced skills-based routing, predictive and bulk dialing, and more.
Asterisk In The Public Network
Internet Telephony Service Providers (ITSPs), competitive local exchange carriers (CLECS) and even first-tier incumbents have discovered the power of open source communications with Asterisk. Feature servers, hosted services clusters, voicemail systems, pre-paid calling solutions, all based on Asterisk have helped reduce costs and enabled flexibility.
Asterisk has become the basis for thousands of communications solutions. If you need to communicate, Asterisk is your answer.
Asterisk® is primarily developed on GNU/Linux for x/86 and runs on GNU/Linux for PPC along with OpenBSD, FreeBSD, and Mac OS X. Other platforms and standards-based UNIX-like operating systems should be reasonably easy to port for anyone with the time and requisite skill to do so.
Asterisk® is available in Debian Stable and is maintained by the Debian VoIP Team.
Asterisk® needs no additional hardware for Voice over IP. For interconnection with digital and analog telephony equipment, Asterisk® supports a number of hardware devices, most notably all of the hardware manufactured by Digium®, the creator of Asterisk®.
Asterisk-based telephony solutions offer a rich and flexible feature set. Asterisk® offers both classical PBX functionality and advanced features which interoperates with traditional standards-based telephony systems and Voice over IP systems.
Asterisk® supports a wide range of protocols for the handling and transmission of voice over traditional telephony interfaces including H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP), and Skinny Client Control Protocol (SCCP).
Using the Inter-Asterisk eXchange (IAX™) Voice over IP protocol Asterisk® merges voice and data traffic seamlessly across disparate networks. The use of Packet Voice allows Asterisk® to send data such as URL information and images inline with voice traffic, allowing advanced integration of information.
Asterisk® provides a central switching core, with four APIs for modular loading of telephony applications, hardware interfaces, file format handling, and codecs. It allows for transparent switching between all supported interfaces, allowing it to tie together a diverse mixture of telephony systems into a single switching network.