Открыть сервис

Астериск

Астериск — это программное обеспечение с открытым исходным кодом для организации телефонной связи (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 →