Яндекс.Метрика

Курс Zabbix: мониторинг Asterisk и VoIP

Курс Zabbix: мониторинг Asterisk и VoIP с 8 сентября по 12 сентября

Количество
свободных мест

8 Записаться

Дистанционные курсы по Asterisk

Дистанционные курсы по Asterisk с 18 августа по 24 августа

Количество
свободных мест

2 Записаться

Курсы по Mikrotik MTCRE

Курсы по Mikrotik MTCRE с 8 декабря по 11 декабря

Количество
свободных мест

6 Записаться
Asterisk 2 FreeSWITCH или как начать
12
Мастер-класс
Роман Сыртланов
Asterisk 2 FreeSWITCH или как начать
скачать презентацию

Asterisk 2 FreeSWITCH или как начать

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

В рамках мастер-класса рассмотрены:

  • Причины, по которым стоит обратить внимание на FreeSWITCH.
  • Фундаментальные сущности FreeSWITCH: профили, шлюзы (gateway), диалплан, синтаксис и приложения диалплана.
  • Аналогии с Asterisk для упрощения понимания.
  • Дополнительные возможности: мультитенантность, модули расширения, примеры интеграции.
  • Сравнительный анализ Asterisk и FreeSWITCH.
  • Практическая настройка: от базовой конфигурации до мультитенантных сценариев.

Сравнительный анализ Asterisk и FreeSWITCH

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

Документация.
У обеих систем — обширная база знаний и активные сообщества. Существуют примеры конфигураций для интеграции с Kamailio, OpenSIPS и другими системами. Есть активные Telegram-каналы с подробными разъяснениями.

Порог вхождения.
Asterisk проще для новичков. FreeSWITCH имеет более сложный порог вхождения из-за конфигурации в XML и использования регулярных выражений в диалплане. Однако после освоения синтаксиса сложность снижается.

Функциональность.
Обе платформы являются softswitch 5-го класса с типовыми функциями АТС.
Преимущества FreeSWITCH:

  • Поддержка нескольких транспортов и профилей SIP.
  • Полноценная работа с видеозвонками.
  • Сильная реализация конференций «из коробки».
  • Гибкая работа с профилями и шлюзами.

Остальные функции (парковка вызовов, музыка ожидания и т.п.) присутствуют в обеих системах.

Расширяемость.
В Asterisk используются AGI и ARI; в FreeSWITCH — Event Socket Outbound и Inbound, позволяющие интегрировать внешний функционал.

Нагрузочная устойчивость.
FreeSWITCH способен стабильно обслуживать сотни параллельных вызовов, распределяя каждый вызов в отдельный поток. Это упрощает масштабирование.

Устойчивость и отказоустойчивые схемы.
FreeSWITCH поддерживает функции, позволяющие использовать несколько экземпляров в связке, с сохранением сессий при переключении IP-адресов (например, с помощью VRRP). При сложных сценариях рекомендуется Kamailio.

Конфигурация FreeSWITCH

Основной файл конфигурации — freeswitch.xml, который включает:

  • autoload_configs — параметры модулей.
  • dialplan — сценарии обработки звонков.
  • chatplan — обработка сообщений (например, XMPP).
  • sip_profiles — внутренние и внешние SIP-профили.
  • directory — домены и учётные записи пользователей.
  • vars.xml — глобальные переменные (например, default_password, domain, local_ip_v4).

Переменные из vars.xml доступны во всех конфигурационных файлах и могут быть переопределены вручную. После изменений конфигурация перечитывается командой reloadxml.

SIP-профили

В стандартной установке есть два профиля:

  • internal — для регистрации SIP-клиентов (по умолчанию порт 5060).
  • external — для работы с транками/операторами (по умолчанию порт 5080).

Профили позволяют:

  • Использовать разные протоколы (UDP/TCP/TLS).
  • Настраивать WebRTC с поддержкой сертификатов (например, Let’s Encrypt).
  • Определять RTP-IP и параметры NAT.

Настройка пользователей и доменов

Пользователи определяются в каталоге directory.
По умолчанию есть домен default, который использует IP-адрес сервера.
Для мультитенантных сценариев создаются отдельные каталоги доменов, при этом в SIP-профилях отключается привязка к дефолтному домену (force-register-domain, force-subscription-domain, force-register-db-domain).

Диалплан FreeSWITCH

Диалплан строится на основе XML-структуры:

  • <extension> — набор условий и действий.
  • <condition> — условие (например, по destination_number или network_addr).
  • <action> — выполняемое действие (например, bridge, playback, hangup).

FreeSWITCH использует регулярные выражения для обработки номеров и маршрутизации. Возможна нормализация номеров и сложная логика по IP-адресам и шаблонам.

Шлюзы (Gateways)

Шлюз с регистрацией указывается с параметром register=true и может иметь свой контекст.
Шлюз без регистрации (register=false) требует явной маршрутизации в публичном диалплане с проверкой по IP-адресу.

Дополнительные возможности

  • Мультитенантность — поддержка нескольких доменов с отдельными пользователями и маршрутами.
  • Модуль mod_distributor — распределение вызовов между несколькими шлюзами по весам.
  • ACL — ограничение доступа по IP-адресам и доменам.
  • Event Socket — управление вызовами и получение событий из внешних приложений.
  • Интеграция с языками программирования — через модули mod_python, mod_lua и другие.
  • Видеоконференции — встроенное приложение videomcu.

Заключение

При работе с vars.xml и профилями — после изменений всегда выполнять reloadxml или перезапуск профиля.Следить за правами на файлы конфигурации (особенно для доменов в directory).Для сценариев без авторизации обязательно использовать ACL, чтобы ограничить доступ по IP. При проектировании мультитенантных конфигураций для каждого домена рекомендуется отдельный набор маршрутов.

 

Ежегодная конференция по Asterisk 2025!

Билеты уже в продаже!

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

Наши
клиенты

Посмотреть все