The English version is shown below
Это dev-сборка предназначена только для тестирования - не использовать в production.
Перед обновлением:
- Сделайте копию рабочей MikoPBX
- Отключите все модули расширений
- Выполните обновление
- Предоставьте отчет об ошибках в наш Telegram: @mikopbx_dev
🔥🔥 Dev Build Warning / Предупреждение о Dev-сборке 🔥🔥
This is a development build intended for testing only - do not use in production.
Before updating:
- Make a backup copy of your working MikoPBX
- Disable all extension modules
- Perform the update
- 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 адрес и шлюз
Как использовать:
- Откройте Система → Сетевые настройки
- Выберите сетевой интерфейс
- В разделе IPv6 выберите режим:
- Автоматически — для получения адреса от DHCPv6 сервера
- Вручную — для настройки статического адреса
- При ручной настройке укажите IPv6 адрес, префикс и шлюз
- Сохраните изменения
Дополнительно:
- Firewall поддерживает правила для IPv4 и IPv6
- DNS можно настроить отдельно для IPv4 и IPv6
- Веб-интерфейс доступен по IPv6 адресу
Статические маршруты
Теперь можно настраивать статические маршруты прямо в веб-интерфейсе.
Что это дает:
- Управление маршрутизацией без SSH доступа
- Поддержка сложных сетевых топологий
- Работа в сетях с несколькими шлюзами
Как использовать:
- Откройте Система → Сетевые настройки → Статические маршруты
- Нажмите Добавить маршрут
- Укажите сеть назначения и шлюз
- Сохраните изменения
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 пример):
- При создании инстанса укажите 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- Запустите инстанс — система настроится автоматически
- Войдите в веб-интерфейс с указанным паролем
Proxmox LXC:
- Поддерживается провижининг через cloud-init drive
- Автоматическое получение настроек из Proxmox
- Полная поддержка DHCP (IPv4 и IPv6)
LXC Контейнеры (Proxmox)
Полная поддержка LXC системных контейнеров для на-premise виртуализации.
Преимущества LXC над Docker:
- Полное управление сетевыми настройками
- Поддержка DHCP клиентов (IPv4/IPv6)
- Работа firewall правил (с правильными capabilities)
- Ведет себя как полноценная VM, но легче
Как развернуть в Proxmox:
- Создайте LXC контейнер с образом MikoPBX
- Настройте сеть:
- Bridge для подключения к сети
- DHCP или статический IP
- Добавьте capabilities (опционально):
CAP_NET_ADMIN— для firewall и сетевых настроек
- Запустите контейнер
- Веб-интерфейс доступен по IP контейнера
Автонастройка в LXC:
- Чтение файлов
/etc/mikopbx-*.confот Proxmox - Автоматический DNS search domain
- Провижининг SSH ключей из
/etc/shadow
Passkeys (WebAuthn) — Вход без пароля
Войдите в систему с помощью биометрии или аппаратного ключа безопасности.
Что это дает:
- Более высокая безопасность (невозможно украсть пароль)
- Удобство — используйте отпечаток пальца или Face ID
- Совместимость с USB/NFC ключами (YubiKey, etc.)
Как настроить:
- Откройте *Система → Общие настройки
- В разделе Passkeys нажмите Добавить Passkey
- Следуйте инструкциям браузера:
- Приложите палец к сканеру
- Или вставьте аппаратный ключ
- Дайте имя ключу (например, "MacBook Touch ID")
- Сохраните
Вход с Passkey:
- На странице входа нажмите Войти с Passkey
- Подтвердите биометрией или ключом
- Готово — вы вошли без пароля
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
- Изоляция — разные ключи для разных интеграций
Как настроить:
- При создании API ключа откроется редактор прав
- Для каждого ресурса (Extensions, CDR, Providers, etc.) выберите:
- ✅ Чтение — получение данных
- ✅ Запись — создание/изменение
- ✅ Удаление — удаление записей
- Сохраните — ключ будет работать только с выбранными правами
Пример:
- CRM нужен только список внутренних номеров → дайте Extensions: Чтение
- Billing система должна читать CDR → дайте CDR: Чтение
- Система автонастройки должна создавать провайдеров → дайте Providers: Запись
GeoIP2 — Определение страны по IP адресу
Система автоматически определяет страну для каждого IP адреса.
Где используется:
- История заблокированных IP — видно флаг страны рядом с каждым IP
- Уведомления о входе — в письме указана страна, откуда выполнен вход
- История подключений устройств — флаги стран в таблице
Как это работает:
- Используется бесплатная база MaxMind GeoLite2
- База автоматически обновляется раз в месяц
- Работает без подключения к интернету
Где посмотреть:
- Заблокированные IP: Система → Безопасность → Fail2Ban
- История устройств: Настройки → Расширения → История
S3 облачное хранилище для записей
Автоматическая синхронизация записей разговоров в Amazon S3 или совместимые хранилища.
Что это дает:
- Экономия места на сервере PBX
- Надежное хранение в облаке
- Автоматическое удаление локальных файлов после загрузки
- Соблюдение срока хранения записей
Как настроить:
- Откройте Система → Хранилище → S3 синхронизация
- Введите параметры S3:
- Endpoint (например,
s3.amazonaws.com) - Access Key и Secret Key
- Bucket name
- Region
- Endpoint (например,
- Включите автосинхронизацию
- Настройте срок хранения (например, 90 дней)
- Сохраните
Мониторинг:
- Статус синхронизации виден в веб-интерфейсе
- Показывается процент загруженных записей
- Уведомления при ошибках загрузки
Asterisk REST Interface (ARI)
Управление ARI пользователями для продвинутых интеграций.
Что это дает:
- Создание пользователей ARI для внешних приложений
- Контроль доступа к ARI WebSocket
- Интеграция с внешними call-control системами
Как использовать:
- Откройте Настройки → Asterisk Manager → ARI пользователи
- Нажмите Добавить пользователя
- Укажите имя пользователя и пароль
- Выберите разрешения
- Сохраните
Применение:
- Разработка собственных IVR приложений
- Интеграция с contact-центрами
- Реализация кастомной логики обработки звонков
IAX Транки
Поддержка IAX2 протокола для соединения с провайдерами и офисами.
Что это дает:
- Альтернатива SIP для транков
- NAT-friendly протокол
- Меньше нагрузка на firewall (один порт вместо диапазона RTP)
Как настроить:
- Откройте Настройки → Провайдеры связи
- Выберите тип IAX Транк
- Заполните параметры провайдера:
- Host
- Username/Password
- Контекст
- Настройте правила маршрутизации
- Сохраните и примените изменения
OAuth2 для почты
Безопасная интеграция с современными почтовыми сервисами без паролей приложений.
Поддерживаемые провайдеры:
- Microsoft 365 / Outlook
- Gmail / Google Workspace
- Yandex Mail
Преимущества:
- Не нужно создавать пароли приложений
- Более безопасная аутентификация
- Работает с двухфакторной аутентификацией
Как настроить (Gmail пример):
- Откройте Система → Уведомления → Почта
- Выберите Провайдер: Gmail (OAuth2)
- Нажмите Авторизовать в Gmail
- Войдите в Google аккаунт в открывшемся окне
- Разрешите доступ MikoPBX к отправке почты
- Вернитесь в MikoPBX — настройка завершена
Уведомления о входе в админ-панель
Получайте email когда кто-то входит в систему администрирования.
Что это дает:
- Безопасность — мгновенное оповещение о несанкционированном доступе
- Аудит — история всех входов с IP и геолокацией
Как настроить:
- Откройте Система → Уведомления → Email уведомления
- Включите Уведомлять о входе в систему
- Укажите email для уведомлений
- Сохраните
Содержание уведомления:
- Дата и время входа
- IP адрес
- Страна (через GeoIP2)
- Имя пользователя
Консольное меню в стиле ESXi
Полноэкранное консольное меню с системной информацией и метриками.
Что это:
- Графическое меню при подключении к консоли сервера
- Отображение статуса системы в реальном времени
- Управление без веб-интерфейса
Что показывается:
- ASCII логотип MikoPBX
- Текущие IP адреса всех интерфейсов
- Загрузка CPU, памяти, диска
- Количество активных звонков
- Время работы системы (uptime)
- Последний вход в систему
Доступные действия:
- Настройка сети (IP, DNS, DHCP)
- Перезагрузка/выключение
- Просмотр логов
- Мониторинг системы (top, netstat)
- Проверка целостности системы
- Управление модулями
Как использовать:
- Подключитесь к консоли сервера (IPMI, виртуальная консоль, SSH)
- После входа появится меню
- Используйте цифровые клавиши для выбора действий
0для выхода в shell
CSV импорт/экспорт сотрудников
Массовая загрузка и выгрузка внутренних номеров через CSV файлы.
Что это дает:
- Быстрое создание десятков/сотен внутренних номеров
- Миграция с других АТС
- Резервное копирование настроек
Как импортировать:
- Откройте Настройки → Расширения
- Нажмите Импорт из CSV
- Выберите файл CSV с колонками:
- number (номер)
- mobile (мобильный)
- name (имя)
- username (логин SIP)
- secret (пароль SIP)
- Выберите стратегию обновления:
- Объединить — обновить существующие, добавить новые
- Заменить — перезаписать существующие
- Пропустить — добавить только новые
- Нажмите Импортировать
Как экспортировать:
- Откройте Настройки → Расширения
- Нажмите Экспорт в CSV
- Скачайте файл со всеми внутренними номерами
Копирование конфигураций
Функция "Сохранить как" для быстрого дублирования настроек.
Где доступно:
- IVR меню
- Очереди
- Конференции
- Asterisk Manager пользователи
Как использовать:
- Откройте карточку существующей конфигурации (например, IVR меню)
- Нажмите Сохранить как копию
- Измените имя и параметры
- Сохраните — создана независимая копия
Применение:
- Создание похожих 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
Как настроить:
- Откройте Система → Безопасность → Firewall
- Найдите Максимум запросов в секунду
- Укажите лимит (по умолчанию 10)
- Сохраните
Аудит событий аутентификации
Что логируется:
- Все успешные входы в систему
- Неудачные попытки входа
- Выход из системы
- 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:latestLXC развертывание
Новое: Полная поддержка 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:
- Open System → Network Settings
- Select network interface
- In IPv6 section choose mode:
- Auto — to obtain address from DHCPv6 server
- Manual — for static address configuration
- For manual setup specify IPv6 address, prefix, and gateway
- 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:
- Open System → Network Settings → Static Routes
- Click Add Route
- Specify destination network and gateway
- 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):
- 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- Launch instance — system configures automatically
- 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:
- Create LXC container with MikoPBX image
- Configure network:
- Bridge for network connection
- DHCP or static IP
- Add capabilities (optional):
CAP_NET_ADMIN— for firewall and network settings
- Start container
- Web interface available at container IP
Auto-configuration in LXC:
- Read
/etc/mikopbx-*.conffiles 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:
- Open System → General Settings
- In Passkeys section click Add Passkey
- Follow browser instructions:
- Touch fingerprint scanner
- Or insert hardware key
- Name the key (e.g., "MacBook Touch ID")
- Save
Login with Passkey:
- On login page click Login with Passkey
- Confirm with biometrics or key
- 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:
- When creating API key, permissions editor opens
- For each resource (Extensions, CDR, Providers, etc.) select:
- ✅ Read — retrieve data
- ✅ Write — create/modify
- ✅ Delete — delete records
- 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:
- Banned IPs: System → Security → Fail2Ban
- 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:
- Open System → Storage → S3 Synchronization
- Enter S3 parameters:
- Endpoint (e.g.,
s3.amazonaws.com) - Access Key and Secret Key
- Bucket name
- Region
- Endpoint (e.g.,
- Enable auto-sync
- Set retention period (e.g., 90 days)
- 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:
- Open Settings → Asterisk Manager → ARI Users
- Click Add User
- Specify username and password
- Select permissions
- 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:
- Open Settings → Providers
- Select type IAX Trunk
- Fill provider parameters:
- Host
- Username/Password
- Context
- Configure routing rules
- 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):
- Open System → Notifications → Email
- Select Provider: Gmail (OAuth2)
- Click Authorize with Gmail
- Login to Google account in opened window
- Grant MikoPBX permission to send email
- 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:
- Open System → Notifications → Email Notifications
- Enable Notify on system login
- Specify email for notifications
- 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:
- Connect to server console (IPMI, virtual console, SSH)
- After login, menu appears
- Use number keys to select actions
0to 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:
- Open Settings → Extensions
- Click Import from CSV
- Select CSV file with columns:
- number
- mobile
- name
- username (SIP login)
- secret (SIP password)
- Choose update strategy:
- Merge — update existing, add new
- Replace — overwrite existing
- Skip — add only new
- Click Import
How to export:
- Open Settings → Extensions
- Click Export to CSV
- 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:
- Open existing configuration card (e.g., IVR menu)
- Click Save as Copy
- Change name and parameters
- 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
PBXFirewallMaxReqSecparameter
How to configure:
- Open System → Security → Firewall
- Find Maximum requests per second
- Specify limit (default 10)
- 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:latestLXC 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)