Asterisk is one of the most popular open source projects on the Internet. A communications project, Asterisk is an open-source program that converts ordinary computers into voice communications servers that are rich in features and benefits. You can think of Asterisk as a sort of Lego brick set for people interested in creating communications applications. Here are some of the features that this project provides:
- Drivers that work with various Voice Over IP protocols.
- Drivers that work with various PSTN interface devices and cards.
- Call handling and routing for incoming calls.
- Generation and routing of outbound calls.
- Numerous media management functions including record, generate tone, play and so on.
- Call detail recording for the purpose of billing or accounting.
- Transcoding, which involves the conversion from a single media format to a different media format.
- Database integration for the access of information across relational databases.
- Protocol conversion, involving the conversion from a single protocol into another protocol.
- Integration for web services, allowing for the accessing of data with the use of standard internet protocols.
- Call recording functions and call monitoring functions along with single call bridge and multi-party call bridging.
- Speech recognition capable of handling several different languages with the use of several different third-party voice recognition engines.
- Text to speech or speech synthesis in a number of different dialects and languages through the use of third party engines.
- Event notification, CTI integration and external call management through the Asterisk Gateway Interface (AGI) and Asterisk Manager Interface (AMI).
Asterisk is referred to as being a development platform or a tool-kit because it allows interested parties to create their own communications applications. It includes all of the building blocks or pieces that you need in order to create an IVR system, a PBX system or nearly any other type of communications system that you may need.