Астериск¶
Астериск — это программное обеспечение с открытым исходным кодом для организации телефонной связи (IP-АТС), позволяющее превратить обычный компьютер в мощную телефонную станцию. Оно поддерживает широкий спектр протоколов передачи голоса по IP-сетям (VoIP), а также может взаимодействовать с традиционными телефонными линиями (PSTN) через специальные шлюзы или платы расширения. Астериск является одной из самых популярных и универсальных платформ для построения корпоративных и операторских систем связи, благодаря своей гибкости, масштабируемости и низкой стоимости владения.
¶История
Разработка Asterisk началась в 1999 году американским программистом Марком Спенсером (Mark Spencer), основателем компании Digium (позже — Sangoma Technologies). Первоначально проект задумывался как альтернатива дорогим проприетарным телефонным станциям для малого и среднего бизнеса. Спенсер создал ядро системы на языке C, используя стандартные протоколы VoIP, такие как SIP (Session Initiation Protocol) и IAX (Inter-Asterisk eXchange). Первая публичная версия (Asterisk 1.0) была выпущена в 2004 году.
С момента появления Asterisk быстро завоевал популярность в сообществе разработчиков и системных администраторов. В 2005 году была основана компания Digium, которая стала основным спонсором и разработчиком проекта. В 2010-х годах Asterisk стал стандартом де-факто для построения корпоративных АТС, а также использовался в качестве основы для многих коммерческих решений, таких как FreePBX, Elastix (позже — Issabel) и 3CX (до перехода на собственный движок). В 2021 году Digium была приобретена компанией Sangoma Technologies, которая продолжает развитие и поддержку Asterisk.
¶Архитектура и принципы работы
Asterisk работает по модульной архитектуре. Основные компоненты включают:
- Ядро (Core): отвечает за управление вызовами, обработку каналов, маршрутизацию и взаимодействие между модулями.
- Каналы (Channels): модули, реализующие поддержку различных протоколов и интерфейсов (SIP, IAX, H.323, MGCP, а также аналоговые и цифровые линии через платы DAHDI).
- Приложения (Applications): модули, выполняющие действия во время вызова (воспроизведение звуковых файлов, запись разговоров, голосовое меню, конференции, переадресация и т.д.).
- Функции (Functions): встроенные возможности для обработки данных (работа с переменными, строками, датами, базами данных).
- Файлы конфигурации: настройки Asterisk хранятся в текстовых файлах (обычно в
/etc/asterisk/), таких какsip.conf(для SIP-клиентов),extensions.conf(для маршрутизации вызовов),queues.conf(для очередей) и других.
¶План набора (Dialplan)
Центральным элементом Asterisk является план набора (dialplan), который определяет логику обработки вызовов. Он записывается в файле extensions.conf и состоит из контекстов (contexts), расширений (extensions) и приоритетов (priorities). Пример простого плана набора:
`` [default] exten => 100,1,Answer() same => n,Playback(hello-world) same => n,Hangup() ``
В этом примере при наборе номера 100 Asterisk отвечает на вызов, воспроизводит звуковой файл «hello-world» и завершает соединение.
¶Протоколы
- SIP (Session Initiation Protocol) — основной протокол для подключения IP-телефонов, софтфонов и VoIP-провайдеров.
- IAX (Inter-Asterisk eXchange) — проприетарный протокол Digium, оптимизированный для соединения нескольких серверов Asterisk между собой. Использует один порт (UDP 4569) и поддерживает сжатие трафика.
- H.323 — устаревший протокол, редко используется в современных системах.
- MGCP — протокол управления медиашлюзами.
- DAHDI (Digium Asterisk Hardware Device Interface) — интерфейс для работы с аппаратными платами (TDM-платы для подключения к аналоговым и цифровым линиям).
¶Классификация и виды
Asterisk может использоваться в различных конфигурациях:
- Корпоративная АТС (PBX): замена традиционной офисной телефонной станции с поддержкой внутренних номеров, голосовой почты, очередей, конференций и интеграции с CRM-системами.
- Операторская платформа: для предоставления услуг VoIP-телефонии, транзита трафика, организации виртуальных АТС (Virtuel PBX) для клиентов.
- Шлюз (Gateway): преобразование между различными протоколами (например, SIP в IAX или TDM) и подключение к PSTN.
- Система IVR (Interactive Voice Response): голосовое меню для автоматической обработки входящих вызовов (например, в колл-центрах).
- Запись разговоров: Asterisk может записывать все или выборочные разговоры в файлы (WAV, MP3) и хранить их в базе данных.
- Система конференц-связи: поддержка многоточечных аудиоконференций с управлением участниками.
¶Применение
Asterisk широко используется в различных сферах:
- Бизнес: для организации внутренней и внешней телефонной связи, создания колл-центров, интеграции с ERP и CRM (например, 1С, Битрикс24, AmoCRM).
- Государственные учреждения: в России и других странах Asterisk применяется в бюджетных организациях для снижения затрат на связь.
- Образование: для обучения студентов и специалистов основам VoIP и телефонии.
- Хобби и DIY: энтузиасты используют Asterisk для создания домашних АТС, систем умного дома (например, управление через голосовые команды) и автоматизации.
- Телекоммуникационные операторы: для построения инфраструктуры виртуальных АТС и транзита трафика.
¶Преимущества и недостатки
¶Преимущества
- Открытый исходный код: бесплатное использование, возможность модификации и адаптации под любые нужды.
- Гибкость: поддержка множества протоколов, аппаратных плат и интеграций.
- Масштабируемость: от одного пользователя до тысяч линий на одном сервере.
- Низкая стоимость: отсутствие лицензионных отчислений, использование обычного серверного оборудования.
- Большое сообщество: обширная документация, форумы, готовые модули и дистрибутивы (FreePBX, Issabel, VitalPBX).
¶Недостатки
- Сложность настройки: требует знаний в области VoIP, Linux и сетевых технологий.
- Отсутствие графического интерфейса по умолчанию: большинство конфигураций выполняется через текстовые файлы, хотя существуют веб-интерфейсы (FreePBX, Issabel).
- Ограниченная поддержка видеозвонков: видеоконференции реализуются через сторонние модули (например, WebRTC) и не являются основной функцией.
- Зависимость от качества сети: для стабильной работы требуется качественное интернет-соединение и правильная настройка QoS (Quality of Service).
¶Интересные факты
- Название «Asterisk» происходит от типографского символа «звёздочка» (*), который часто используется в планах набора для обозначения всех номеров (wildcard).
- Asterisk является одним из старейших и наиболее активно развиваемых проектов в области VoIP — его кодовая база насчитывает более 1 миллиона строк кода.
- В России Asterisk используется в ряде крупных компаний и государственных учреждений, включая некоторые региональные отделения «Почты России» и МФЦ.
- Существуют специализированные дистрибутивы, такие как FreePBX (на базе Asterisk), которые предоставляют веб-интерфейс для упрощения настройки и управления.
¶Источники
- Официальная документация Asterisk (asterisk.org)
- Книга «Asterisk: The Future of Telephony» (O'Reilly Media, 2005)
- Материалы сообщества «Asterisk Russia» (asterisk-russia.ru)
- Статья «Asterisk PBX: история, архитектура, применение» на Habr (habr.com)
- Sangoma Technologies — официальный спонсор проекта (sangoma.com)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


