# Asterisk Project : Types of Asterisk Modules

Added by malcolmd , edited by mdavenport on Sep 23, 2010

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.