5 Things you need to know to get started with asterisk
Asterisk is a framework for building multi-protocol, real-time communications applications and solutions. Asterisk is to real time voice and video applications as what Apache is to web applications: the underlying platform. Asterisk abstracts the complexities of communications protocols and technologies, allowing you to concentrate on creating innovative products and solutions.
You can use Asterisk to build communications applications, things like business phone systems (also known as PBXs), call distributors, VoIP gateways and conference bridges. Asterisk includes both low and high-level components that significantly simplify the process of building these complex applications.
– Your application code
Asterisk includes a number of programming interfaces that allow developers and integrators to control how Asterisk handles call and messages. These interfaces include the Dialplan scripting language, the Asterisk Gateway Interface (AGI), the Asterisk Manager Interface (AMI) and the core C API. Most developers start out using the Dialplan. Complex applications frequently make use of multiple interfaces.
– Dialplan script
The Asterisk Dialplan is a built-in scripting language that tells Asterisk how to route and process calls. It contains contains hundreds of applications and functions that control call flow, media input and output, messaging and call-related data. The Dialplan language is similar in structure to the BASIC programming language.
– Asterisk gateway interface (AGI)
The Asterisk Gateway Interface or AGI is a simple bridge protocol that allows developers to create Asterisk applications in virtually any programming language. It exposes a set of functions that can be accessed via either the standard input/output mechanism (aka “stdio”) or over a TCP/IP socket.
– Asterisk manager interface (AMI)
The Asterisk Manager Interface or AMI is an asynchronous socket-based global command and control interface, commonly used for monitoring and management. Where Dialplan and AGI handle individual channels (calls), AMI applications can monitor and manage all the active channels on the system. It can also dynamically allocate new channels for outbound calls.
– CORE C API
Asterisk itself is written in the C programming language. It is composed of a small base application and a large number of extension modules. C developers can extend Asterisk and add new core functionality by creating new modules. Module interfaces are defined for IO channels, Dialplan applications, Dialplan functions, media codecs, file IO formats and other key resources.