Asterisk создан максимально гибким таким образом, что ядро системы, обеспечивающее внутреннюю взаимосвязь внутри централи, отделено от модулей протоколов, кодеков и аппаратных интерфейсов, которые, в свою очередь, позволяют использовать не только сегодняшние технологии и аппаратные интерфейсы, но и те, которые только появятся в будущем.

Загружаемые модули

Четыре независимых API определяют загружаемые модули, управляющие уровнями слоя аппаратных и програмных абстракций. Используя такую модульную систему ядро Asterisk не зависит от деталей: как соединён абонент, какой выбран кодек, и т. п.
  • Интерфейс канала
    Управляет типом соединения, которое использует абонент, будь то VoIP соединение, ISDN, PRI, сигнализация Robbed-bit (RBS), или любая другая технология. Динамически загружаемые модули управляют низшим уровнем этих соединений.
  • Интерфейс приложений
    Интерфейс позволяет выполнять различные модули для достижения определенных функций. Конференция, пейджинг, просмотр содержимого каталогов, голосовая почта, передача данных и многие другие функции современных АТС выполняются при помощи отдельных модулей.
  • Интерфейс кодеков
    Загружает модули кодеков для поддержки различных форматов сжатия аудио потока, таких как GSM, Mu-Law, A-law, G723, G729, iLBC, speech, и даже MP3.
  • Интерфейс формата файлов
    Управляет записью и чтением различных форматов файлов для хранения данных в файловой системе.
Базовый функционал ядра
  • Соединения внутри централи 
    Основой фукцией Asterisk, безусловно, является прозрачная установка соединений между клиентами вне зависимости от тех аппаратных и программных решений, что они используют.
  • Загрузчик приложений 
    Запуск приложений, которые обеспечивают работоспособность голосовой почты, проигрывание файлов и просмотр содержимого каталогов.
  • Преобразователь кодеков 
    Использует различные модули кодеков для незаметного пользователям преобразования различных форматов сжатия аудио потоков между собой. Количество кодеков варьируется в зависимости от потребностей с целью обеспечить наилучший баланс между качеством аудио потока и используемой полосой канала передачи данных.
  • Планировщик задач и I/O менеджер
    Обеспечивает планирование низкоуровневых задач и менеджмент системы для обеспечения оптимальной производительности в любых условиях работы.