После года разработки состоялся релиз новой стабильной ветки открытой коммуникационной платформы Asterisk 19, используемой для развёртывания программных АТС, систем голосовой связи, VoIP-шлюзов, организации IVR-систем (голосовое меню), голосовой почты, телефонных конференций и call-центров. Исходные тексты проекта доступны под лицензией GPLv2.
Asterisk 19 отнесён к категории выпусков с обычной поддержкой, обновления для которых формируются в течение двух лет. Поддержка прошлой LTS-ветки Asterisk 18 продлится до октября 2025 года, а ветки Asterisk 16 до октября 2023 года. Поддержка LTS-ветки 13.x и промежуточной ветки 17.x прекращена. При подготовке LTS-выпусков основное внимание уделяется обеспечению стабильности и оптимизации производительности, приоритетом же обычных выпусков является наращивание функциональности.
Ключевые улучшения в Asterisk 19:
- Реализованы категории отладочных логов, позволяющие настроить вывод только необходимой отладочной информации. В настоящий момент предложены следующие категории: dtls, dtls_packet, ice, rtcp, rtcp_packet, rtp, rtp_packet, stun и stun_packet.
- Добавлен новый режим форматирования логов “plain”, при котором в лог без лишних управляющих символов (без подсветки) выводится имя файла, функции и строки с номером. Также предоставлена возможность определения собственных уровней ведения лога и изменения формата вывода в лог дат и времени.
- В AMI (Asterisk Manager Interface) добавлена возможность прикрепления обработчиков для событий, связанных с поступлением тонального сигнала (DTMF) “flash” (кратковременный разрыв канала).
- В команде Originate (инициирование вызова) реализована возможность установки переменных для нового канала.
- В команде SendMF и менеджере PlayMF добавлена поддержка отправки произвольных тональных сигналов R1 MF (multi-frequency) в любой канал.
- В команде MessageSend предоставлена возможность раздельного указания адресов назначения “Destination” и “To”.
- Добавлена команда ConfKick, позволяющая отключить от конференции определённый канал, всех пользователей или пользователей без прав администратора.
- Добавлена команда Reload для перезагрузки модулей.
- Добавлена команда WaitForCondition для приостановки выполнения сценария обработки вызовов (dialplan) до выполнения определённых условий.
- В модуль app_dial добавлена опция “A” позволяющая воспроизводить во время совершения вызова звук как для вызывающего, так и для вызываемого абонента.
- Добавлен модуль app_dtmfstore, сохраняющий в переменной набранные цифры тонального набора.
- В модуле app_morsecode реализована поддержка американского диалекта азбуки Морзе и предоставлена настройка для изменения интервала пауз.
- В модуле app_originate для звонков, инициированных из dialplan-сценариев, добавлена возможность указания кодеков, call-файлов и управляющих действий.
- В модуле app_voicemail добавлена возможность ранней отправки приветствия и инструкций по использованию голосовой почты и создания канала только после наступления времени записи входящего сообщения.
- Добавлена настройка astcachedir для изменения местоположения кэша
на диске. По умолчанию кэш теперь размещается в отдельном каталоге /var/cache/asterisk вместо каталога /tmp.
Одновременно после трёх лет разработки опубликован релиз проекта FreePBX 16, развивающего web-интерфейс для управления Asterisk и готовый дистрибутив для быстрого развёртывания VoIP-систем. Из изменений отмечается поддержка PHP 7.4, расширение API на базе языка формирования запросов GraphQL, переход на единый драйвер PJSIP (драйвер Chan_SIP отключён по умолчанию), поддержка создания шаблонов для изменения оформления пользовательской панели управления, переделанный модуль межсетевого экрана с расширенными возможностями для управления SIP-трафиком, возможность настройки параметров протокола для HTTPS, привязка AMI только к localhost по умолчанию, опция для проверки надёжности паролей.
Также можно отметить корректирующее обновление платформы VoIP-телефонии FreeSWITCH 1.10.7, в котором устранены 5 уязвимостей, которые могут привести к отправке SIP-сообщений без аутентификации (например, для спуфинга и рассылки спама через SIP-шлюз), утечке хэшей аутентификации сеанса и осуществлению DoS-атак (исчерпание свободной памяти и крахи) для блокирования работы сервера через отправку некорректных пакетов SRTP или флуд пакетами SIP.