There are many different types of modules, many of which are shown in the diagram above.
- Channel Drivers
At the top of the diagram, we show channel drivers. Channel drivers communicate with devices outside of Asterisk, and translate that particular signaling or protocol to the core.
- Dialplan Applications
Applications provide call functionality to the system. An application might answer a call, play a sound prompt, hang up a call, and so forth.
- Dialplan Functions
Functions are used to retrieve or set various settings on a call. A function might be used to set the Caller ID on an outbound call, for example.
- Resources
As the name suggests, resources provide resources to Asterisk. Common examples of resources include music on hold and call parking.
- CODECs
A CODEC (which is an acronym for COder/DECoder) is a module for encoding or decoding audio or video. Typically codecs are used to encode media so that it takes less bandwidth.
- File Format Drivers
File format drivers are used to save media to disk in a particular file format, and to convert those files back to media streams on the network.
- Call Detail Record (CDR) Drivers
CDR drivers write call logs to a disk or to a database.
- Call Event Log (CEL) Drivers
Call event logs are similar to call detail records, but record more detail about what happened inside of Asterisk during a particular call.
- Bridge Drivers
Bridge drivers are used by the bridging architecture in Asterisk, and provide various methods of bridging call media between participants in a call.
Now let's go into more detail on each of the module types.