Asterisk

Asterisk, the world’s most popular open source communications project, is free, open source software that converts 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, including IP PBXs, VoIP gateways, call center ACDs and IVR systems.
What Does Asterisk Do?

Asterisk is like an erector set or a box of Legos for people who want to create communications applications. That’s why we refer to it as a “tool-kit” 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.