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