# Asterisk Project : Asterisk Architecture, The Big Picture

Added by malcolmd , edited by lmadsen on May 17, 2011

Before we dive too far into the various types of modules, let's first take a step back and look at the overall architecture of Asterisk.

﻿﻿

Asterisk Architecture

We need to add CEL and Bridge modules to this picture, and take CLI and Manager out for now

The heart of any Asterisk system is the core. The PBX core is the essential component that takes care of bridging calls. The core also takes care of other items like reading the configuration files and loading the other modules. We'll talk more about the core below, but for now just remember that all the other modules connect to it.
From a logistical standpoint, these modules are typically files with a .so file extension, which live in the Asterisk modules directory (which is typically /usr/lib/asterisk/modules). When Asterisk starts up, it loads these files and adds their functionality to the system.

A Plethora of Modules

Icon

Take just a minute and go look at the Asterisk modules directory on your system. You should find a wide variety of modules. A typical Asterisk system has over one hundred fifty different modules!

The core also contains the dialplan, which is the logic of any Asterisk system. The dialplan contains a list of instructions that Asterisk should follow to know how to handle incoming and outgoing calls on the system.

Asterisk modules which are part of the core have a file name that look like pbx_xxxxx.so.

## Attachments:

bigpicture.png (image/png)