github mikopbx/Core 2025.1.158-dev
MikoPBX Pre Release

pre-release10 hours ago

The English version is shown below

Это dev-сборка предназначена только для тестирования - не использовать в production.
Перед обновлением:

  1. Сделайте копию рабочей MikoPBX
  2. Отключите все модули расширений
  3. Выполните обновление
  4. Предоставьте отчет об ошибках в наш Telegram: @mikopbx_dev

🔥🔥 Dev Build Warning / Предупреждение о Dev-сборке 🔥🔥

This is a development build intended for testing only - do not use in production.
Before updating:

  1. Make a backup copy of your working MikoPBX
  2. Disable all extension modules
  3. Perform the update
  4. Report any bugs to our Telegram: @mikopbx_dev

MikoPBX Примечания к выпуску

Версия 2026.1.x (Ветка разработки)

Дата выпуска: TBD
Обновление с версии: 2024.1.x
Период разработки: Май 2024 — Февраль 2026


🎉 НОВЫЕ ВОЗМОЖНОСТИ

Полная поддержка IPv6

MikoPBX теперь полностью поддерживает IPv6 наравне с IPv4.

Что это дает:

  • Возможность работать в современных IPv6-сетях
  • Dual-stack режим (IPv4 и IPv6 одновременно)
  • Три режима IPv6 для каждого интерфейса:
    • Выключено — IPv6 отключен
    • Автоматически — DHCPv6 с автоматическим fallback на SLAAC
    • Вручную — статический IPv6 адрес и шлюз

Как использовать:

  1. Откройте Система → Сетевые настройки
  2. Выберите сетевой интерфейс
  3. В разделе IPv6 выберите режим:
    • Автоматически — для получения адреса от DHCPv6 сервера
    • Вручную — для настройки статического адреса
  4. При ручной настройке укажите IPv6 адрес, префикс и шлюз
  5. Сохраните изменения

Дополнительно:

  • Firewall поддерживает правила для IPv4 и IPv6
  • DNS можно настроить отдельно для IPv4 и IPv6
  • Веб-интерфейс доступен по IPv6 адресу

Статические маршруты

Теперь можно настраивать статические маршруты прямо в веб-интерфейсе.

Что это дает:

  • Управление маршрутизацией без SSH доступа
  • Поддержка сложных сетевых топологий
  • Работа в сетях с несколькими шлюзами

Как использовать:

  1. Откройте Система → Сетевые настройки → Статические маршруты
  2. Нажмите Добавить маршрут
  3. Укажите сеть назначения и шлюз
  4. Сохраните изменения

Cloud Provisioning — Автоматическая настройка при развертывании

MikoPBX автоматически настраивается при развертывании в облаке или виртуализации.

Поддерживаемые платформы:

  • Облачные провайдеры: AWS, Google Cloud, Azure, Yandex Cloud, DigitalOcean, Vultr, VK Cloud, Alibaba Cloud
  • Виртуализация: VMware, Proxmox, KVM (через NoCloud)
  • Контейнеры: Docker, LXC/Proxmox

Что настраивается автоматически:

  • Имя хоста и сетевые параметры
  • Пароль администратора
  • SSH ключи авторизации
  • Язык интерфейса
  • Настройки SIP портов
  • Топология сети (public/private)

Как использовать (AWS EC2 пример):

  1. При создании инстанса укажите user-data в формате cloud-init:
#cloud-config
mikopbx:
  hostname: pbx-office
  web_password: MySecurePassword123!
  ssh_authorized_keys:
    - ssh-rsa AAAAB3NzaC1... admin@company.com
  pbx_settings:
    PBXLanguage: ru-ru
    SIPPort: 5160
  network:
    topology: private
  1. Запустите инстанс — система настроится автоматически
  2. Войдите в веб-интерфейс с указанным паролем

Proxmox LXC:

  • Поддерживается провижининг через cloud-init drive
  • Автоматическое получение настроек из Proxmox
  • Полная поддержка DHCP (IPv4 и IPv6)

LXC Контейнеры (Proxmox)

Полная поддержка LXC системных контейнеров для на-premise виртуализации.

Преимущества LXC над Docker:

  • Полное управление сетевыми настройками
  • Поддержка DHCP клиентов (IPv4/IPv6)
  • Работа firewall правил (с правильными capabilities)
  • Ведет себя как полноценная VM, но легче

Как развернуть в Proxmox:

  1. Создайте LXC контейнер с образом MikoPBX
  2. Настройте сеть:
    • Bridge для подключения к сети
    • DHCP или статический IP
  3. Добавьте capabilities (опционально):
    • CAP_NET_ADMIN — для firewall и сетевых настроек
  4. Запустите контейнер
  5. Веб-интерфейс доступен по IP контейнера

Автонастройка в LXC:

  • Чтение файлов /etc/mikopbx-*.conf от Proxmox
  • Автоматический DNS search domain
  • Провижининг SSH ключей из /etc/shadow

Passkeys (WebAuthn) — Вход без пароля

Войдите в систему с помощью биометрии или аппаратного ключа безопасности.

Что это дает:

  • Более высокая безопасность (невозможно украсть пароль)
  • Удобство — используйте отпечаток пальца или Face ID
  • Совместимость с USB/NFC ключами (YubiKey, etc.)

Как настроить:

  1. Откройте *Система → Общие настройки
  2. В разделе Passkeys нажмите Добавить Passkey
  3. Следуйте инструкциям браузера:
    • Приложите палец к сканеру
    • Или вставьте аппаратный ключ
  4. Дайте имя ключу (например, "MacBook Touch ID")
  5. Сохраните

Вход с Passkey:

  1. На странице входа нажмите Войти с Passkey
  2. Подтвердите биометрией или ключом
  3. Готово — вы вошли без пароля

REST API v3 — Полностью переработанный API

Современный REST API для интеграции с внешними системами.

Основные улучшения:

  • 259 endpoints для управления всеми функциями PBX
  • JWT аутентификация — безопасные Bearer токены
  • Гранулярные права доступа — настройте разрешения для каждого API ключа
  • Интерактивная документация — встроенная в веб-интерфейс
  • OpenAPI 3.1.0 — стандартизированная спецификация

Интерактивная документация:

  • Откройте в браузере: https://your-pbx/admin-cabinet/api-keys/openapi
  • Выберите endpoint
  • Нажмите Try it out для тестирования

Примеры использования:

  • Интеграция с CRM (создание внутренних номеров из CRM)
  • Получение статистики звонков для дашбордов
  • Автоматизация управления провайдерами и маршрутизацией

Детальные права доступа для API ключей

Настройте точные разрешения для каждого API ключа.

Что это дает:

  • Безопасность — давайте только необходимые права
  • Аудит — знайте, кто и что может делать через API
  • Изоляция — разные ключи для разных интеграций

Как настроить:

  1. При создании API ключа откроется редактор прав
  2. Для каждого ресурса (Extensions, CDR, Providers, etc.) выберите:
    • Чтение — получение данных
    • Запись — создание/изменение
    • Удаление — удаление записей
  3. Сохраните — ключ будет работать только с выбранными правами

Пример:

  • CRM нужен только список внутренних номеров → дайте Extensions: Чтение
  • Billing система должна читать CDR → дайте CDR: Чтение
  • Система автонастройки должна создавать провайдеров → дайте Providers: Запись

GeoIP2 — Определение страны по IP адресу

Система автоматически определяет страну для каждого IP адреса.

Где используется:

  • История заблокированных IP — видно флаг страны рядом с каждым IP
  • Уведомления о входе — в письме указана страна, откуда выполнен вход
  • История подключений устройств — флаги стран в таблице

Как это работает:

  • Используется бесплатная база MaxMind GeoLite2
  • База автоматически обновляется раз в месяц
  • Работает без подключения к интернету

Где посмотреть:

  1. Заблокированные IP: Система → Безопасность → Fail2Ban
  2. История устройств: Настройки → Расширения → История

S3 облачное хранилище для записей

Автоматическая синхронизация записей разговоров в Amazon S3 или совместимые хранилища.

Что это дает:

  • Экономия места на сервере PBX
  • Надежное хранение в облаке
  • Автоматическое удаление локальных файлов после загрузки
  • Соблюдение срока хранения записей

Как настроить:

  1. Откройте Система → Хранилище → S3 синхронизация
  2. Введите параметры S3:
    • Endpoint (например, s3.amazonaws.com)
    • Access Key и Secret Key
    • Bucket name
    • Region
  3. Включите автосинхронизацию
  4. Настройте срок хранения (например, 90 дней)
  5. Сохраните

Мониторинг:

  • Статус синхронизации виден в веб-интерфейсе
  • Показывается процент загруженных записей
  • Уведомления при ошибках загрузки

Asterisk REST Interface (ARI)

Управление ARI пользователями для продвинутых интеграций.

Что это дает:

  • Создание пользователей ARI для внешних приложений
  • Контроль доступа к ARI WebSocket
  • Интеграция с внешними call-control системами

Как использовать:

  1. Откройте Настройки → Asterisk Manager → ARI пользователи
  2. Нажмите Добавить пользователя
  3. Укажите имя пользователя и пароль
  4. Выберите разрешения
  5. Сохраните

Применение:

  • Разработка собственных IVR приложений
  • Интеграция с contact-центрами
  • Реализация кастомной логики обработки звонков

IAX Транки

Поддержка IAX2 протокола для соединения с провайдерами и офисами.

Что это дает:

  • Альтернатива SIP для транков
  • NAT-friendly протокол
  • Меньше нагрузка на firewall (один порт вместо диапазона RTP)

Как настроить:

  1. Откройте Настройки → Провайдеры связи
  2. Выберите тип IAX Транк
  3. Заполните параметры провайдера:
    • Host
    • Username/Password
    • Контекст
  4. Настройте правила маршрутизации
  5. Сохраните и примените изменения

OAuth2 для почты

Безопасная интеграция с современными почтовыми сервисами без паролей приложений.

Поддерживаемые провайдеры:

  • Microsoft 365 / Outlook
  • Gmail / Google Workspace
  • Yandex Mail

Преимущества:

  • Не нужно создавать пароли приложений
  • Более безопасная аутентификация
  • Работает с двухфакторной аутентификацией

Как настроить (Gmail пример):

  1. Откройте Система → Уведомления → Почта
  2. Выберите Провайдер: Gmail (OAuth2)
  3. Нажмите Авторизовать в Gmail
  4. Войдите в Google аккаунт в открывшемся окне
  5. Разрешите доступ MikoPBX к отправке почты
  6. Вернитесь в MikoPBX — настройка завершена

Уведомления о входе в админ-панель

Получайте email когда кто-то входит в систему администрирования.

Что это дает:

  • Безопасность — мгновенное оповещение о несанкционированном доступе
  • Аудит — история всех входов с IP и геолокацией

Как настроить:

  1. Откройте Система → Уведомления → Email уведомления
  2. Включите Уведомлять о входе в систему
  3. Укажите email для уведомлений
  4. Сохраните

Содержание уведомления:

  • Дата и время входа
  • IP адрес
  • Страна (через GeoIP2)
  • Имя пользователя

Консольное меню в стиле ESXi

Полноэкранное консольное меню с системной информацией и метриками.

Что это:

  • Графическое меню при подключении к консоли сервера
  • Отображение статуса системы в реальном времени
  • Управление без веб-интерфейса

Что показывается:

  • ASCII логотип MikoPBX
  • Текущие IP адреса всех интерфейсов
  • Загрузка CPU, памяти, диска
  • Количество активных звонков
  • Время работы системы (uptime)
  • Последний вход в систему

Доступные действия:

  • Настройка сети (IP, DNS, DHCP)
  • Перезагрузка/выключение
  • Просмотр логов
  • Мониторинг системы (top, netstat)
  • Проверка целостности системы
  • Управление модулями

Как использовать:

  1. Подключитесь к консоли сервера (IPMI, виртуальная консоль, SSH)
  2. После входа появится меню
  3. Используйте цифровые клавиши для выбора действий
  4. 0 для выхода в shell

CSV импорт/экспорт сотрудников

Массовая загрузка и выгрузка внутренних номеров через CSV файлы.

Что это дает:

  • Быстрое создание десятков/сотен внутренних номеров
  • Миграция с других АТС
  • Резервное копирование настроек

Как импортировать:

  1. Откройте Настройки → Расширения
  2. Нажмите Импорт из CSV
  3. Выберите файл CSV с колонками:
    • number (номер)
    • mobile (мобильный)
    • email
    • name (имя)
    • username (логин SIP)
    • secret (пароль SIP)
  4. Выберите стратегию обновления:
    • Объединить — обновить существующие, добавить новые
    • Заменить — перезаписать существующие
    • Пропустить — добавить только новые
  5. Нажмите Импортировать

Как экспортировать:

  1. Откройте Настройки → Расширения
  2. Нажмите Экспорт в CSV
  3. Скачайте файл со всеми внутренними номерами

Копирование конфигураций

Функция "Сохранить как" для быстрого дублирования настроек.

Где доступно:

  • IVR меню
  • Очереди
  • Конференции
  • Asterisk Manager пользователи

Как использовать:

  1. Откройте карточку существующей конфигурации (например, IVR меню)
  2. Нажмите Сохранить как копию
  3. Измените имя и параметры
  4. Сохраните — создана независимая копия

Применение:

  • Создание похожих IVR для разных офисов
  • Дублирование очередей с небольшими изменениями
  • Тестирование изменений на копии

Улучшения DataTable

Современные таблицы данных с расширенными возможностями.

Новое:

  • Retry механизм — автоматическая повторная попытка при ошибке сети
  • ACL интеграция — автоматически скрываются недоступные действия
  • Фильтры CDR — сохраняются между обновлениями страницы
  • Более быстрая загрузка — оптимизированный код на ES6

Интерактивные подсказки (tooltips)

Контекстные подсказки с подробными объяснениями настроек.

Что это:

  • Значок (i) рядом со сложными настройками
  • При наведении — всплывающая подсказка
  • Объяснение "простым языком" что делает настройка

Где используется:

  • Настройки провайдеров (кодеки, транспорт)
  • Сетевые параметры (MTU, VLAN)
  • Настройки безопасности (Rate Limit, Fail2Ban)

Визуализация хранилища

Графическое отображение использования дискового пространства.

Что показывается:

  • Круговая диаграмма (pie chart) с категориями:
    • Записи разговоров
    • Системные логи
    • Backup файлы
    • Модули
    • Другие файлы
  • Процент и размер в GB для каждой категории
  • Общее использование диска

Где посмотреть:

  • Система → Хранилище → Использование диска

🔐 УЛУЧШЕНИЯ БЕЗОПАСНОСТИ

SHA-512 хеши паролей

Что изменилось:

  • Пароли теперь хранятся в формате SHA-512 (ранее MD5)
  • Автоматическая миграция при первом входе
  • Более высокая стойкость к взлому

Что делать: Ничего — миграция происходит автоматически.


Rate Limiting в Nginx

Что это:

  • Ограничение количества запросов с одного IP
  • Защита от DDoS и brute-force атак
  • Настраивается через параметр PBXFirewallMaxReqSec

Как настроить:

  1. Откройте Система → Безопасность → Firewall
  2. Найдите Максимум запросов в секунду
  3. Укажите лимит (по умолчанию 10)
  4. Сохраните

Аудит событий аутентификации

Что логируется:

  • Все успешные входы в систему
  • Неудачные попытки входа
  • Выход из системы
  • IP адрес и время

Где посмотреть:

  • Лог файл: /var/log/mikopbx/authentication.log
  • Через веб-интерфейс: Система → Логи → Аутентификация

Защита от path traversal в CDR

Что исправлено:

  • Валидация путей к файлам записей
  • Невозможно скачать системные файлы через API

Shell escaping в DHCP callbacks

Что исправлено:

  • Экранирование аргументов команд
  • Защита от command injection через DHCP параметры

🔧 ИЗМЕНЕНИЯ В КОНФИГУРАЦИИ

Docker развертывание

Без изменений: Работает как раньше.

Улучшения:

  • Поддержка cloud provisioning через ENV переменные
  • Унифицированный entrypoint для Docker и LXC
  • Все ENV переменные работают идентично

Пример запуска:

docker run -d \
  -e WEB_ADMIN_PASSWORD=MyPassword123 \
  -e WEB_SSH_PASSWORD=SshPassword456 \
  -e PBX_NAME=office-pbx \
  -e PBX_LANGUAGE=ru-ru \
  -p 80:80 -p 443:443 -p 5060:5060/udp \
  mikopbx/mikopbx:latest

LXC развертывание

Новое: Полная поддержка LXC контейнеров.

Особенности:

  • Управление сетью внутри контейнера
  • Поддержка DHCP (IPv4/IPv6)
  • Firewall работает с CAP_NET_ADMIN

Proxmox конфигурация:

# /etc/pve/lxc/100.conf
arch: amd64
cores: 2
memory: 2048
net0: name=eth0,bridge=vmbr0,firewall=1,ip=dhcp,type=veth
rootfs: local-lvm:vm-100-disk-0,size=32G
lxc.cap.keep: CAP_NET_ADMIN

Расположение файлов

База данных: /cf/conf/mikopbx.db (основная БД, не изменилось)

Новое: /storage/usbdisk1/mikopbx/recordingstorage.db (метаданные записей)

Аватары: /storage/usbdisk1/mikopbx/custom_modules/avatars/ (ранее в БД)

Логи:

  • Система: /storage/usbdisk1/mikopbx/log/system/messages
  • PHP: /storage/usbdisk1/mikopbx/log/php/error.log
  • Nginx: /storage/usbdisk1/mikopbx/log/nginx/error.log
  • Asterisk: /storage/usbdisk1/mikopbx/log/asterisk/
  • Аутентификация: /var/log/mikopbx/authentication.log (новое)

MikoPBX Release Notes

Version 2026.1.x (Development Branch)

Release Date: TBD
Upgrade from: 2024.1.x
Development Period: May 2024 — February 2026


⚠️ IMPORTANT INFORMATION BEFORE UPGRADING

🎉 NEW FEATURES

Complete IPv6 Support

MikoPBX now fully supports IPv6 alongside IPv4.

What this provides:

  • Work in modern IPv6 networks
  • Dual-stack mode (IPv4 and IPv6 simultaneously)
  • Three IPv6 modes for each interface:
    • Off — IPv6 disabled
    • Auto — DHCPv6 with automatic SLAAC fallback
    • Manual — static IPv6 address and gateway

How to use:

  1. Open System → Network Settings
  2. Select network interface
  3. In IPv6 section choose mode:
    • Auto — to obtain address from DHCPv6 server
    • Manual — for static address configuration
  4. For manual setup specify IPv6 address, prefix, and gateway
  5. Save changes

Additional features:

  • Firewall supports rules for both IPv4 and IPv6
  • DNS can be configured separately for IPv4 and IPv6
  • Web interface accessible via IPv6 address

Static Routes

Configure static routes directly in the web interface.

What this provides:

  • Routing management without SSH access
  • Support for complex network topologies
  • Work in networks with multiple gateways

How to use:

  1. Open System → Network Settings → Static Routes
  2. Click Add Route
  3. Specify destination network and gateway
  4. Save changes

Cloud Provisioning — Automatic Configuration on Deployment

MikoPBX automatically configures itself when deployed in cloud or virtualization.

Supported platforms:

  • Cloud providers: AWS, Google Cloud, Azure, Yandex Cloud, DigitalOcean, Vultr, VK Cloud, Alibaba Cloud
  • Virtualization: VMware, Proxmox, KVM (via NoCloud)
  • Containers: Docker, LXC/Proxmox

What gets configured automatically:

  • Hostname and network parameters
  • Administrator password
  • SSH authorized keys
  • Interface language
  • SIP port settings
  • Network topology (public/private)

How to use (AWS EC2 example):

  1. When creating instance specify user-data in cloud-init format:
#cloud-config
mikopbx:
  hostname: pbx-office
  web_password: MySecurePassword123!
  ssh_authorized_keys:
    - ssh-rsa AAAAB3NzaC1... admin@company.com
  pbx_settings:
    PBXLanguage: en-us
    SIPPort: 5160
  network:
    topology: private
  1. Launch instance — system configures automatically
  2. Login to web interface with specified password

Proxmox LXC:

  • Provisioning supported via cloud-init drive
  • Automatic configuration retrieval from Proxmox
  • Full DHCP support (IPv4 and IPv6)

LXC Containers (Proxmox)

Full support for LXC system containers for on-premise virtualization.

LXC advantages over Docker:

  • Full network configuration management
  • DHCP client support (IPv4/IPv6)
  • Firewall rules work (with proper capabilities)
  • Behaves like full VM but lighter

How to deploy in Proxmox:

  1. Create LXC container with MikoPBX image
  2. Configure network:
    • Bridge for network connection
    • DHCP or static IP
  3. Add capabilities (optional):
    • CAP_NET_ADMIN — for firewall and network settings
  4. Start container
  5. Web interface available at container IP

Auto-configuration in LXC:

  • Read /etc/mikopbx-*.conf files from Proxmox
  • Automatic DNS search domain
  • SSH key provisioning from /etc/shadow

Passkeys (WebAuthn) — Passwordless Login

Login using biometrics or hardware security key.

What this provides:

  • Higher security (password cannot be stolen)
  • Convenience — use fingerprint or Face ID
  • Compatibility with USB/NFC keys (YubiKey, etc.)

How to setup:

  1. Open System → General Settings
  2. In Passkeys section click Add Passkey
  3. Follow browser instructions:
    • Touch fingerprint scanner
    • Or insert hardware key
  4. Name the key (e.g., "MacBook Touch ID")
  5. Save

Login with Passkey:

  1. On login page click Login with Passkey
  2. Confirm with biometrics or key
  3. Done — you're logged in without password

REST API v3 — Completely Redesigned API

Modern REST API for integration with external systems.

Key improvements:

  • 259 endpoints for managing all PBX functions
  • JWT authentication — secure Bearer tokens
  • Granular permissions — configure permissions for each API key
  • Interactive documentation — built into web interface
  • OpenAPI 3.1.0 — standardized specification

Interactive documentation:

  • Open in browser: https://your-pbx/admin-cabinet/api-keys/openapi
  • Select endpoint
  • Click Try it out to test

Use cases:

  • CRM integration (create extensions from CRM)
  • Call statistics for dashboards
  • Automate provider and routing management

Granular API Key Permissions

Configure precise permissions for each API key.

What this provides:

  • Security — grant only necessary permissions
  • Audit — know who can do what via API
  • Isolation — different keys for different integrations

How to configure:

  1. When creating API key, permissions editor opens
  2. For each resource (Extensions, CDR, Providers, etc.) select:
    • Read — retrieve data
    • Write — create/modify
    • Delete — delete records
  3. Save — key will work only with selected permissions

Example:

  • CRM needs only extension list → grant Extensions: Read
  • Billing system should read CDR → grant CDR: Read
  • Auto-provisioning system should create providers → grant Providers: Write

GeoIP2 — Country Detection by IP Address

System automatically determines country for each IP address.

Where used:

  • Banned IP history — country flag visible next to each IP
  • Login notifications — email includes country of login
  • Device connection history — country flags in table

How it works:

  • Uses free MaxMind GeoLite2 database
  • Database auto-updates monthly
  • Works without internet connection

Where to view:

  1. Banned IPs: System → Security → Fail2Ban
  2. Device history: Settings → Extensions → History

S3 Cloud Storage for Recordings

Automatic call recording synchronization to Amazon S3 or compatible storage.

What this provides:

  • Save space on PBX server
  • Reliable cloud storage
  • Automatic local file deletion after upload
  • Recording retention period compliance

How to configure:

  1. Open System → Storage → S3 Synchronization
  2. Enter S3 parameters:
    • Endpoint (e.g., s3.amazonaws.com)
    • Access Key and Secret Key
    • Bucket name
    • Region
  3. Enable auto-sync
  4. Set retention period (e.g., 90 days)
  5. Save

Monitoring:

  • Sync status visible in web interface
  • Shows percentage of uploaded recordings
  • Notifications on upload errors

Asterisk REST Interface (ARI)

Manage ARI users for advanced integrations.

What this provides:

  • Create ARI users for external applications
  • Control ARI WebSocket access
  • Integration with external call-control systems

How to use:

  1. Open Settings → Asterisk Manager → ARI Users
  2. Click Add User
  3. Specify username and password
  4. Select permissions
  5. Save

Applications:

  • Develop custom IVR applications
  • Contact center integration
  • Implement custom call handling logic

IAX Trunks

IAX2 protocol support for connecting providers and offices.

What this provides:

  • SIP alternative for trunks
  • NAT-friendly protocol
  • Less firewall load (single port instead of RTP range)

How to configure:

  1. Open Settings → Providers
  2. Select type IAX Trunk
  3. Fill provider parameters:
    • Host
    • Username/Password
    • Context
  4. Configure routing rules
  5. Save and apply changes

OAuth2 for Email

Secure integration with modern email services without app passwords.

Supported providers:

  • Microsoft 365 / Outlook
  • Gmail / Google Workspace
  • Yandex Mail

Advantages:

  • No need to create app passwords
  • More secure authentication
  • Works with two-factor authentication

How to configure (Gmail example):

  1. Open System → Notifications → Email
  2. Select Provider: Gmail (OAuth2)
  3. Click Authorize with Gmail
  4. Login to Google account in opened window
  5. Grant MikoPBX permission to send email
  6. Return to MikoPBX — setup complete

Login Notifications

Receive email when someone logs into admin panel.

What this provides:

  • Security — instant notification of unauthorized access
  • Audit — history of all logins with IP and geolocation

How to configure:

  1. Open System → Notifications → Email Notifications
  2. Enable Notify on system login
  3. Specify email for notifications
  4. Save

Notification content:

  • Login date and time
  • IP address
  • Country (via GeoIP2)
  • Username

ESXi-style Console Menu

Fullscreen console menu with system information and metrics.

What this is:

  • Graphical menu when connecting to server console
  • Real-time system status display
  • Management without web interface

What's displayed:

  • MikoPBX ASCII logo
  • Current IP addresses of all interfaces
  • CPU, memory, disk usage
  • Active calls count
  • System uptime
  • Last login

Available actions:

  • Network configuration (IP, DNS, DHCP)
  • Reboot/shutdown
  • View logs
  • System monitoring (top, netstat)
  • System integrity check
  • Module management

How to use:

  1. Connect to server console (IPMI, virtual console, SSH)
  2. After login, menu appears
  3. Use number keys to select actions
  4. 0 to exit to shell

CSV Employee Import/Export

Bulk upload and download extensions via CSV files.

What this provides:

  • Quick creation of dozens/hundreds of extensions
  • Migration from other PBX
  • Configuration backup

How to import:

  1. Open Settings → Extensions
  2. Click Import from CSV
  3. Select CSV file with columns:
    • number
    • mobile
    • email
    • name
    • username (SIP login)
    • secret (SIP password)
  4. Choose update strategy:
    • Merge — update existing, add new
    • Replace — overwrite existing
    • Skip — add only new
  5. Click Import

How to export:

  1. Open Settings → Extensions
  2. Click Export to CSV
  3. Download file with all extensions

Configuration Copying

"Save As" feature for quick configuration duplication.

Where available:

  • IVR menus
  • Queues
  • Conferences
  • Asterisk Manager users

How to use:

  1. Open existing configuration card (e.g., IVR menu)
  2. Click Save as Copy
  3. Change name and parameters
  4. Save — independent copy created

Applications:

  • Create similar IVRs for different offices
  • Duplicate queues with minor changes
  • Test changes on copy

Interactive Tooltips

Context-aware tooltips with detailed setting explanations.

What this is:

  • (i) icon next to complex settings
  • On hover — popup tooltip
  • "Plain language" explanation of what setting does

Where used:

  • Provider settings (codecs, transport)
  • Network parameters (MTU, VLAN)
  • Security settings (Rate Limit, Fail2Ban)

Storage Visualization

Graphical display of disk space usage.

What's shown:

  • Pie chart with categories:
    • Call recordings
    • System logs
    • Backup files
    • Modules
    • Other files
  • Percentage and size in GB for each category
  • Total disk usage

Where to view:

  • System → Storage → Disk Usage

🔐 SECURITY IMPROVEMENTS

SHA-512 Password Hashes

What changed:

  • Passwords now stored in SHA-512 format (previously MD5)
  • Automatic migration on first login
  • Higher resistance to cracking

What to do: Nothing — migration happens automatically.


Rate Limiting in Nginx

What this is:

  • Limit number of requests from single IP
  • Protection from DDoS and brute-force attacks
  • Configurable via PBXFirewallMaxReqSec parameter

How to configure:

  1. Open System → Security → Firewall
  2. Find Maximum requests per second
  3. Specify limit (default 10)
  4. Save

Authentication Event Audit

What's logged:

  • All successful system logins
  • Failed login attempts
  • System logouts
  • IP address and time

Where to view:

  • Log file: /var/log/mikopbx/authentication.log
  • Via web interface: System → Logs → Authentication

Path Traversal Protection in CDR

What's fixed:

  • Recording file path validation
  • Impossible to download system files via API

Shell Escaping in DHCP Callbacks

What's fixed:

  • Command argument escaping
  • Protection from command injection via DHCP parameters

🔧 CONFIGURATION CHANGES

Docker Deployment

No changes: Works as before.

Improvements:

  • Cloud provisioning support via ENV variables
  • Unified entrypoint for Docker and LXC
  • All ENV variables work identically

Launch example:

docker run -d \
  -e WEB_ADMIN_PASSWORD=MyPassword123 \
  -e WEB_SSH_PASSWORD=SshPassword456 \
  -e PBX_NAME=office-pbx \
  -e PBX_LANGUAGE=en-us \
  -p 80:80 -p 443:443 -p 5060:5060/udp \
  mikopbx/mikopbx:latest

LXC Deployment

New: Full LXC container support.

Features:

  • Network management inside container
  • DHCP support (IPv4/IPv6)
  • Firewall works with CAP_NET_ADMIN

Proxmox configuration:

# /etc/pve/lxc/100.conf
arch: amd64
cores: 2
memory: 2048
net0: name=eth0,bridge=vmbr0,firewall=1,ip=dhcp,type=veth
rootfs: local-lvm:vm-100-disk-0,size=32G
lxc.cap.keep: CAP_NET_ADMIN

File Locations

Database: /cf/conf/mikopbx.db (main DB, unchanged)

New: /storage/usbdisk1/mikopbx/recordingstorage.db (recording metadata)

Avatars: /storage/usbdisk1/mikopbx/custom_modules/avatars/ (previously in DB)

Logs:

  • System: /storage/usbdisk1/mikopbx/log/system/messages
  • PHP: /storage/usbdisk1/mikopbx/log/php/error.log
  • Nginx: /storage/usbdisk1/mikopbx/log/nginx/error.log
  • Asterisk: /storage/usbdisk1/mikopbx/log/asterisk/
  • Authentication: /var/log/mikopbx/authentication.log (new)

Don't miss a new Core release

NewReleases is sending notifications on new releases.