What is Asterisk? • Asterisk, The Open Source PBX. www.asterisk.org • A complete PBX software • Runs on Linux, BSD, MacOSX, and others • Covers most VoIP protocols • Many built-in features include voicemail, conferencing, IVR, queuing, as well as standard calling functions • Highly extensible - can handle virtually any task imaginable • Many different hardware telephony cards are currently available
Asterisk History • Originally developed by Mark Spencer starting around 1999 • He needed a flexible PBX for his Linux support company so he wrote one himself • he realised once a call is inside a PC, anything can be done with it - hence the name Asterisk • Met Jim Dixon from the Zapata telephony project in 2001, which provided hardware and a business model for further development • A thriving Asterisk development community
Asterisk Architecture
Architecture Asterisk contains engines that perform critical functions. When Asterisk starts, the Dynamic Module Loader loads and initializes drivers. The drivers provide channel drivers, file formats, call detail recording back ends, codecs, and applications, among others. The Asterisk PBX Switching Core accepts telephone calls from the interfaces. The Switching Core handles calls according to the instructions found in a dial plan. The PBX Switching Core uses the Application Launcher to ring phones, to connect to voicemail, or to dial out on outbound trunks
Architecture The PBX Switching Core includes a Scheduler and I/O Manager that is available to drivers and applications. handles low-level task scheduling and system management for optimal performance under all load conditions The Codec Translator seamlessly connects channels that compressed with different codecs Most of Asterisk's flexibility comes from the applications, codecs, channel drivers, file formats and other facilities' interaction with the various programming interfaces.