MikoPBX 2026.3.40
Опубликован 3 августа 2026
Выпуск MikoPBX 2026.3.40 делает повседневное администрирование станции надёжнее. Операции с модулями теперь выполняются в фоне и восстанавливаются после сбоев, обновление из образа стало безопаснее для однодисковых систем, а Asterisk заметно экономнее расходует оперативную память. Улучшена работа SIP-провайдеров, маршрутизации, записей разговоров, Passkeys и сетевых правил.
Надёжные операции с модулями
Установка, обновление, включение, выключение и удаление модулей теперь выполняются отдельным фоновым процессом. Операция продолжается даже после перезапуска рабочего процесса REST API и не зависит от открытой страницы браузера. Текущий этап и прогресс отображаются непосредственно на кнопке, а полное состояние операции и возможная ошибка сохраняются в журнале.
Если страница была перезагружена или сообщение о завершении не дошло до браузера, интерфейс восстановит актуальное состояние из журнала. При отсутствии событий он самостоятельно проверяет ход операции, а если процесс перестал отвечать, сообщает о зависании вместо бесконечного отображения индикатора. Одновременно выполняется только одна операция с модулями, что защищает их от конфликтующих изменений.
Установка и обновление стали "атомарными": архив сначала распаковывается во временную директорию и проходит проверку, после чего новая версия заменяет старую. Если на любом этапе возникает ошибка, MikoPBX возвращает предыдущую версию модуля, его настройки и состояние включён/выключен. Повторный запуск фонового процесса не может повредить уже восстановленный модуль.
Исправлена и работа модулей после отключения: их фоновые процессы больше не запускаются повторно и не остаются в системе как осиротевшие процессы. Ошибка в одном модуле не исключает из наблюдения остальные системные и модульные службы, а журналы долгоживущих процессов корректно продолжают ротироваться.
SIP-провайдеры и DNS
Расширена поддержка DNS для SIP-провайдеров. Asterisk теперь использует асинхронный резолвер с поддержкой A, AAAA, SRV и NAPTR-записей, учитывает время жизни DNS-записей и может переключаться между несколькими узлами провайдера. Это особенно важно для операторов, которые публикуют адреса SIP-серверов через SRV/NAPTR и используют DNS для распределения нагрузки и отказоустойчивости.
Устранена проблема холодного запуска, при которой входящие вызовы могли отклоняться до заполнения DNS-кеша. Конфигурация сохраняет постоянный маршрут по имени провайдера и после разрешения hostname в IP-адрес повторно согласует настройки PJSIP и диалплана.
Мониторинг провайдеров больше не создаёт ложные события Регистрация потеряна после перезапуска worker-процесса или Redis. Цвет статуса теперь одинаков в списке провайдеров и на суточной шкале: отключённый провайдер отображается серым, потерявший регистрацию — красным. Если регистрация сохранена, но сервер перестал отвечать на OPTIONS-запросы, транк получает жёлтый статус Недоступен.
При выключении или удалении исходящего SIP-провайдера станция отправляет оператору запрос на снятие регистрации до обновления конфигурации. Благодаря этому провайдер сразу удаляет активную привязку и перестаёт направлять входящие вызовы на уже отключённый транк.
Для новых установок обновлён набор кодеков по умолчанию. Для аудио включены Opus, G.722, alaw, ulaw и G.729, для видео — H.265, H.264, VP9 и VP8. GSM остаётся включённым для системных звуков. При обновлении существующей станции выбранные администратором кодеки не изменяются.
Безопасное обновление из образа
Исправлено обновление MikoPBX из .img-образа на системах, где операционная система и хранилище находятся на одном физическом диске. Ранее пересоздание таблицы разделов могло сместить или отформатировать раздел Storage вместе с записями разговоров и другими пользовательскими данными.
Перед обновлением станция определяет однодисковую конфигурацию, сохраняет положение раздела Storage и проверяет его файловую систему. После записи образа раздел восстанавливается на прежнем месте с тем же UUID. Если проверка не пройдена, процесс останавливается для восстановления и не пытается автоматически форматировать раздел.
В веб-интерфейсе перед таким обновлением показывается отдельное предупреждение. Хотя раздел Storage сохраняется автоматически, перед обновлением настоятельно рекомендуется сделать резервную копию. Вывод в консоли стал понятнее: штатные сообщения утилит разметки диска скрыты, а важные предупреждения и ошибки остаются видимыми.
Стабильность и потребление памяти
Asterisk теперь запускается с менеджером памяти jemalloc, который лучше возвращает освобождённую память операционной системе. На тестовой станции при простое потребление памяти стабилизировалось примерно на 65 МБ вместо роста с 64 до 350 МБ и более в течение суток. Если подходящая библиотека jemalloc недоступна, MikoPBX автоматически использует безопасное ограничение для стандартного менеджера памяти.
Определение последовательных портов больше не открывает устройства /dev/ttyS* и /dev/ttyAMA* в блокирующем режиме. На некоторых VPS и виртуальных машинах несуществующий физически порт выглядел доступным, но навсегда блокировал проверяющий процесс. Это могло привести к появлению сотен зависших процессов, высокой нагрузке и пустому экрану приветствия в консоли.
Системные настройки при запуске заново загружаются в кеш из базы данных. Благодаря этому изменения больше не подменяются устаревшими значениями Redis после перезапуска служб. Настройки SSH, включая порт и запрет входа по паролю, применяются сразу: конфигурация Dropbear и Monit перечитывается без перезагрузки станции.
Перезагрузка диалплана теперь выполняется последовательно с обновлением PJSIP и не может запустить несколько конфликтующих операций одновременно. Дополнительная проверка состояния Asterisk позволяет Monit обнаружить зависшую перезагрузку и восстановить службу автоматически.
Маршрутизация и записи разговоров
Исправлено извлечение DID и CallerID по регулярным выражениям во входящих маршрутах. Раньше диалплан получал только признак совпадения вместо найденного номера, из-за чего вызов мог попасть не в тот маршрут. Теперь номер извлекается отдельным AGI-скриптом, а входные данные и результат проходят проверку перед использованием в диалплане.
При редактировании входящий маршрут больше не теряет привязку к выбранному провайдеру. Для исходящих маршрутов исправлена сортировка при десяти и более правилах: приоритеты обрабатываются как числа, поэтому правило с приоритетом 10 больше не оказывается перед правилом 2. Изменение порядка отправляет одну команду перезагрузки вместо отдельной команды для каждого правила.
После неудачного сопровождаемого перевода запись разговора продолжается в тех же раздельных аудиодорожках, с которых она началась. При переводе на очередь с параллельным вызовом нескольких сотрудников сохраняется CDR ответившего сотрудника, а продолжение разговора попадает в итоговый файл записи.
Индивидуальная настройка Записывать разговоры у сотрудника снова применяется корректно. Если запись для внутреннего номера запрещена, его разговоры не записываются независимо от глобальных настроек станции.
В поле мобильного номера сотрудника можно сохранять короткие внутренние номера. Пользовательская строка набора больше не заменяется автоматически при изменении мобильного номера; если отдельная строка набора не задана, MikoPBX по-прежнему заполняет её автоматически.
Безопасность и управление доступом
Исправлена регистрация аппаратных ключей Passkey, включая YubiKey. MikoPBX теперь обязательно создаёт обнаруживаемые учётные данные, которые браузер может предложить при входе без указания имени пользователя. Аппаратные ключи, зарегистрированные в предыдущих версиях и не появляющиеся на странице входа, необходимо удалить из настроек и зарегистрировать заново.
Пользователи с ограниченными правами снова могут назначать надёжные пароли сотрудникам. Проверка сложности пароля доступна всем авторизованным ролям, а при временной недоступности REST API интерфейс выполняет локальную проверку и не отклоняет пароль из-за сетевой ошибки.
В Docker-окружениях изменения сетевых фильтров, доверенных адресов и состояния Firewall/Fail2Ban применяются без перезагрузки. Блокировка адреса только для AMI больше не попадает в SIP ACL и не мешает регистрации телефонов. Обновление ACL выполняется лёгкой перезагрузкой соответствующих модулей Asterisk и не прерывает активные разговоры.
Усилена проверка архивов устанавливаемых модулей. Установщик отклоняет абсолютные пути, обратные слеши, попытки выхода из временной директории и символические ссылки внутри ZIP-архива. При ошибке частично распакованные файлы и временные ответы API удаляются.
Предупреждение о критическом обновлении модуля теперь учитывает минимальную безопасную версию. Оно показывается только для установленного модуля, версия которого действительно старше версии с исправлением безопасности, и автоматически исчезает после обновления.
Исправления веб-интерфейса
На странице обновления системы восстановлено получение списка доступных версий через REST API v3. Ответ API теперь обрабатывается по актуальному формату, поэтому таблица обновлений не остаётся пустой при успешной проверке.
Активация лицензионного купона больше не отправляет повторный запрос и не показывает ложное сообщение Купон уже активирован после успешной операции.
В маркетплейсе снова отображаются логотипы и снимки экрана, размещённые на новом CDN MikoPBX. В настройках модулей восстановлена работа выпадающего списка группы меню, а индикаторы включения и выключения корректно показывают незавершённую фоновую операцию.
Last updated
Was this helpful?

