arrow-left

Only this pageAll pages
gitbookPowered by GitBook
triangle-exclamation
Couldn't generate the PDF for 253 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Russian

Loading...

Loading...

Loading...

Loading...

Установка

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Руководство пользователя

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Часто задаваемые вопросы

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Знакомство с MikoPBX

Это статья про первый вход в MikoPBX. Здесь вы найдете процесс первого входа в систему и некоторые рекомендации по первоначальной настройки после входа.

hashtag
Первый вход в систему MikoPBX

Перейдите в консоль MikoPBX, вверху будет находиться IP-адрес, по которому вы можете подключиться через WEB-интерфейс. При установках не на локальный компьютер используйте внутренний IP-адрес. Скопируйте или запомните его.

IP-адрес MikoPBX для подключения к WEB-интерфейсу

Введите или вставьте IP-адрес MikoPBX в web-браузере. Отобразится страница авторизации в web-интерфейс. Введите логин и пароль по умолчанию.

circle-info

Данные по умолчанию:

Логин - admin

Пароль - admin

После первой успешной авторизации, MikoPBX автоматически откроет настройки для смены пароля. Поменяйте пароль и нажмите "Сохранить".

circle-check

Более подробную информацию об Общих настройках в разделе

После смены пароля система будет полностью готова к работе. Рекомендуется сразу же настроить правила firewall. Прочитать про то, как это сделать, можно по .

Системных настроек.
ссылке
Страница авторизации в web-интерфейс
Первая авторизация в WEB-интерфейс MikoPBX

Хранилище

Использование дискового пространства и настройки хранения

Быстрое начало работы

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

Следуйте инструкциям шаг-за-шагом в том порядке, в котором они представлены для быстрой и успешной настройки системы.

hashtag
Установка MikoPBX

MikoPBX - полноценная операционная система для вашего оборудования, не является отдельной программой. Поставляется в виде образа (файл *.iso, *.img, *.raw).

Она поддерживает многие способы установки:

  • Установка .

  • Установка .

  • Установка .

Перейдите по ссылке к интересующему Вас способу установки и произведите её по данным инструкциям.

hashtag
Первый вход в веб-интерфейс

После установки Вам необходимо перейти в web-интерфейс MikoPBX для дальнейшей настройки системы. Для того, чтобы это сделать - найдите IP-адрес станции в консоли MikoPBX:

В данном примере - IP-адрес 172.25.233.36. Для перехода в web-интерфейс введите этот IP в адресную строку вашего браузера:

circle-check

Если в логах Вам не даны логин и пароль, используйте данные по-умолчанию:

Username: admin

Password: admin

После первой авторизации, система попросит Вас поменять пароль.

hashtag
Настройки внутри web-интерфейса:

hashtag
Настройки сети и сетевого экрана

Для стабильной работы АТС необходимо настроить сеть через раздел Сеть и Firewall → Сетевые интерфейсы. Ознакомится с подробной инструкцией по данным настройкам можно .

В MikoPBX все локальные подсети возможно описать в разделе Сеть и Firewall → Сетевой экран. Сетевой экран предназначен для ограничения доступа к станции по типу трафика и подсетям. Выполните настройку по .


hashtag
Настройка защиты от взлома (Fail2Ban)

Fail2ban блокирует IP адреса с нестандартной активностью, он способен снизить скорость неудачных попыток аутентификации, позволяет защитить Вашу АТС от взлома. Инструкцию, которая поможет в настройке можно найти .


hashtag
Добавление и настройка учетных записей сотрудников

После окончания первоначальной настройки АТС, Вы можете перейти к созданию учетных записей ваших сотрудников. В этом вам поможет .


hashtag
Подключение провайдеров

После добавления сотрудников, Вам необходимо подключить провайдеров к вашей станции. Инструкцию про этот раздел вы можете найти . Инструкции с примерами настройки реальных провайдеров вы можете найти .


hashtag
Настройка входящей и исходящей маршрутизации

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

Для создания правил маршрутизации Вам так же могут понадобиться следующие функции:


hashtag
Маркетплейс и модули

Маркетплейс позволяет расширить стандартный функционал системы с помощью модулей:

  • Подробнее про Модули в MikoPBX Вы можете прочитать в .

  • Про регистрацию в Маркетплейсе MikoPBX Вы можете прочитать в .

arrow-turn-down-left

На этом, основная настройка MikoPBX завершена! Для более глубокого изучения возможностей MikoPBX рекомендуем обратиться к общей документации.

Руководство по MikoPBX

Описание MikoPBX и разделов, которые вы сможете найти в документации. Вступление в документацию.

hashtag
Предисловие

Добро пожаловать на ресурс документации по MikoPBX! Здесь Вы сможете найти пошаговые инструкции, связанные с взаимодействием с АТС MikoPBX. Для удобства, они собраны в разделы - прямо как в Web-интерфейсе, поэтому ориентироваться в документации очень легко.

Благодарим Вас за выбор MikoPBX! ❤️

Системные требования

В данной статье вы сможете найти системные требования для MikoPBX.

hashtag
Требование к сетевому каналу

Пример расчета необходимой пропускной способности канала для различных кодеков на 30 одновременных звонков. АТС поддерживает наиболее популярные кодеки:

AWS

Варианты установки MikoPBX с помощью AWS

Самый простой способ установки MikoPBX - установка готового образа из AWS Marketplace, если вы хотите запустить нестандартную версию MikoPBX, то воспользуйтесь подробной инструкцией, где мы по шагам описали каким образом можно создать AMI образ из любого дистрибутива MikoPBX.

Google Cloud

Варианты установки MikoPBX в Google Cloud

Установка MikoPBX в Google Cloud может быть выполнена двумя способами: из образа в маркетплейсе Google Cloud или из образа на основе загруженного файла из дистрибутива MikoPBX. Первый способ обеспечивает быстрое и простое развертывание стандартной версии MikoPBX, а второй подходит для промежуточных релизов.

G.711
- 4.67 Mbps
  • GSM - 1.68 Mbps

  • G.722 - 4.67 Mbps

  • G.729 - 1.38 Mbps

  • circle-info

    Расчет ориентировочный, при использовании одного кодека на всех устройствах, подключенных к АТС. Подробнее тутarrow-up-right.

    hashtag
    Минимальные системные требования

    circle-exclamation

    Мы рекомендуем использовать два жестких диска для развертывания АТС.

    • Жесткий диск объемом 800 Mb для основной системы

    • Жесткий диск объемом 50+ Gb для записей разговоров

    • 1 (2 ядра) процессор x86-64

    • 2Gb оперативной памяти

    • Сетевой адаптер

    circle-check

    ПК, с такими параметрами, в наших тестах, держит 38 одновременных входящих звонков при условиях:

    • К очереди подключено 10 агентов (все online)

    • Каждую секунду поступает новый звонок

    • Клиенту во время ожидания воспроизводится музыка (MOH)

    • На АТС не установлено доп. модулей

    circle-exclamation

    Ориентировочно, 1 час разговора занимает 14Мб места на диске. Для диска хранения записей разговоров рекомендуемый размер - не менее 50 гигабайт.

    Установка в Docker контейнереarrow-up-right.
    на отдельный компьютерarrow-up-right
    в виртуальную машинуarrow-up-right
    с помощью облачных сервисовarrow-up-right
    здесь
    инструкции
    здесь
    инструкция
    здесь
    здесь
    Маршрутизация входящих вызовов
    Маршрутизация исходящих вызовов
    Очереди вызовов
    IVR-меню
    Конференции
    этой статье
    этой статье
    Пример консоли MikoPBX
    Окно входа в MikoPBX
    Cover

    AWS подробная инструкция

    Подробная инструкция по созданию AMI образа

    Cover

    AWS Маркетплейс

    Инструкция по установке готового образа из AWS Marketplace

    Cover

    Google Cloud Маркетплейс

    Инструкция по установке готового образа из Google Cloud Маркетплейс

    Cover

    Google Cloud подробная инструкция

    Подробная инструкция по загрузке MikoPBX из образа на основе .vhd файла из дистрибутива

    Виртуальные машины

    В данной статье Вы сможете найти инструкции по установке MikoPBX с помощью различных виртуальных машин.

    MikoPBX поддерживает установку с помощью многих виртуальных машин. В данном разделе Вы можете найти подробные инструкции по ним. Нажмите на элемент в списке ниже для перехода к инструкции по конкретной виртуальной машине:

    VMware ESXichevron-rightVMware Fusionchevron-rightVirtualBOXchevron-rightVMware Workstation Prochevron-rightHyper-Vchevron-rightProxmoxchevron-rightUTMchevron-right

    Облачные сервисы

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

    MikoPBX поддерживает установку с помощью многих облачных сервисов. В данном разделе Вы можете найти подробные инструкции по ним. Нажмите на элемент в списке ниже для перехода к инструкции по конкретной виртуальной машине:

    Yandex Cloudchevron-rightVK Cloudchevron-right1С:Облачная инфраструктураchevron-rightAWSchevron-rightMicrosoft Azurechevron-rightGoogle Cloudchevron-rightHetzner cloud (Empty)chevron-rightVscalechevron-rightSelectelchevron-rightDigitalOceanchevron-rightAlibaba cloudchevron-rightVultrchevron-right

    Hetzner cloud (Empty)

    Установка MikoPBX с помощью Hetzner Cloud

    Отменить перехват на ответственного для конкретного провайдера

    Интеграция с 1С

    Перехват на ответственного в панели телефонии 4.0 как в панели 1.0

    Обслуживание

    Установка

    Перехват на ответственного

    hashtag
    Что такое MikoPBX?

    MikoPBX - это бесплатный сервер телефонии с операционной системой и простым, удобным веб-интерфейсом. Она работает практически с любой телефонной технологией в мире.

    Интерфейс MikoPBX

    MikoPBX — это полностью модульный интерфейс для Asterisk, написанный на PHP и Javascript. Это значит что в MikoPBX возможно реализовать абсолютно любой дополнительный функционал Asterisk телефонии. Более того, если вы разработаете полезный модуль, его можно поместить в общий репозиторий и сделать доступным для всех пользователей MikoPBX. Помимо этого, MikoPBX имеет очень низкие требования к аппаратному обеспечению ПК:

    Одновременные звонки
    Минимально рекомендуемая конфигурация

    5 - 10

    1 GHz x86-64, 512 MB RAM

    До 25

    3 GHz x86-64, 1 GB RAM

    Более 25

    2 CPUs 3 GHz x86-64, 2 GB RAM или больше

    hashtag
    С чего начать?

    Для начала вам следует установить MikoPBX любым удобным для вас способом. Ниже находятся опции установки. Нажав на их название - вы можете перейти к подробным профильным статьям:

    • Установка на отдельный компьютер.

    • Установка в виртуальную машину.

    • Установка с помощью облачных сервисов.

    • Установка в .

    После установки вы можете перейти к изучению вашей станции. В этом вам поможет дальнейшая документация "Руководство пользователя", которая подробно рассказывает про конкретные разделы:

    • Телефония.

    • Маршрутизация.

    • Модули.

    • .

    • .

    • .

    За дополнительной помощью по "быстрому старту", вы можете обратиться к данной статье.

    hashtag
    Модули

    В случае, если вы разобрались с базовой настройкой и эксплуатацией MikoPBX, Вы можете расширить ее функционал с помощью модулей.

    Они позволяют добавить дополнительные функции вашей системы. Разобраться в них подробнее вы можете по шагам:

    1. Регистрация в Маркетплейсе MikoPBX - здесь подробно описан процесс регистрации и его особенности.

    2. Управление модулями - здесь подробно описан процесс установки и управления модулями.

    3. Документация по конкретным модулям - в этом разделе вы найдете подробное описание каждого модуля, а так же шаги по его настройки и использованию.

    hashtag
    Раздел FAQ

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

    Если у вас возник вопрос, который не разобран в данном разделе - Вы можете обратиться за помощью в Telegram Communityarrow-up-right, где пользователи MikoPBX помогают друг другу решить вопросы и потребности, связанные с АТС.

    Yandex Cloud

    Варианты установки MikoPBX в Yandex Cloud

    В сервисе Yandex Cloud есть возможность загрузить АТС MikoPBX из образа в маркетплейсе Яндекса или из образа на основе загруженного *.raw файла из дистрибутива MikoPBX (промежуточные релизы)

    Коммандная строка YC

    Установка MikoPBX в Yandex Cloud с помощью утилиты yc

    Утилита Yandex Cloudarrow-up-right позволяет автоматизировать создание инстансов. Ее можно использовать в скриптах.

    1. На странице продуктаarrow-up-right скопируйте значение image_id. В текущем примере fd83g1qbk6m3jnl5cvah (для версии 2022.3.15). Идентификатор образа следует укзаать в параметре create-boot-disk image-id

    2. Получим список каталогов

    yc resource-manager folder list

    Выбираем каталог и указываем его имя в параметре folder-name

    1. Список зон

    Описываем зону в параметре zone

    1. Запускаем инстанс

    1. Список инстансов обновится

    Используйте EXTERNAL IP для входа и ID в качестве пароля для пользователя admin web интерфейса

    В Docker контейнере

    Варианты установки MikoPBX в Docker контейнере

    triangle-exclamation

    «Host система» должна быть запущена на базе Linux 5+. Тестировалось на Debian 11 и Ubuntu-21.04, Ubuntu Server 22.04 LTS

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

    Модули

    Описание раздела Модули в MikoPBX

    Раздел «Модули» в MikoPBX — это интерфейс для управления дополнительными функциональными компонентами системы, который включает два подраздела: «Управление модулями» и «Приложения диалплана».

    Управление этими подразделами позволяет настроить MikoPBX максимально гибко и эффективно, расширяя функциональность телефонной системы и адаптируя ее под уникальные требования организации.

    Раздел "Модули" в MikoPBX

    hashtag
    Регистрация в маркетплейсе модулей

    Регистрация в маркетплейсе модулейchevron-right

    Регистрация в Маркетплейсе MikoPBX не влияет на базовый функционал системы. Вы можете использовать MikoPBX для работы со звонками без регистрации и установки дополнительных модулей. Однако, Мы рекомендуем пройти процедуру регистрации в маркетплейсе для получения возможности расширения функционала системы.

    Регистрация даст вам доступ к дополнительным модулям и расширениям.


    hashtag
    Управление модулями

    Управление модулями в MikoPBX — это интерфейс для управления дополнительными компонентами системы, расширяющими ее функциональность. Здесь администраторы могут устанавливать, обновлять, включать или отключать модули, добавляя новые возможности или интеграции с внешними сервисами. Этот раздел позволяет адаптировать систему под специфические потребности компании, обеспечивая гибкость и масштабируемость телефонной сети.


    hashtag
    Приложения диалпланов

    Приложения диалпланов в MikoPBX — это набор инструментов, которые позволяют настраивать индивидуальные сценарии обработки звонков внутри системы. С их помощью вы можете определить последовательность действий, которую система выполнит при поступлении или совершении вызова. Это может включать перенаправление звонка на определенный внутренний номер, воспроизведение специальных аудиосообщений, запрос дополнительной информации у звонящего или выполнение других функций.

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

    Обслуживание

    Описание раздела Обслуживание в MikoPBX

    Раздел «Обслуживание» в MikoPBX — это интерфейс для управления техническими аспектами системы и обеспечения ее стабильной работы. Здесь администраторы могут выполнять задачи по резервному копированию и восстановлению данных, обновлению программного обеспечения, мониторингу состояния системы и управлению журналами событий. Этот раздел помогает поддерживать работоспособность телефонной системы, своевременно обнаруживать и устранять возможные проблемы.

    Раздел "Обслуживание"

    hashtag
    Обновление системы

    Обновление PBXchevron-right

    Раздел «Обновление» в MikoPBX — это интерфейс для управления обновлениями программного обеспечения системы. Здесь администраторы могут проверять наличие новых версий, устанавливать обновления и просматривать историю изменений. Регулярное использование этого раздела обеспечивает актуальность, безопасность и стабильность работы MikoPBX.


    hashtag
    Диагностика системы

    Раздел «Диагностика системы» в MikoPBX — это инструмент для мониторинга и анализа состояния телефонной системы. Здесь администраторы могут просматривать журналы событий, проверять с помощью них статус различных сервисов и компонентов системы, а также выполнять тестирование соединений и вызовов. Использование этого раздела помогает своевременно обнаруживать и устранять технические проблемы, обеспечивая стабильную и эффективную работу MikoPBX.


    hashtag
    Перезагрузка и выключение системы

    Раздел «Перезагрузка и выключение системы» в MikoPBX — это интерфейс для безопасного управления состоянием телефонной системы через веб-интерфейс. Здесь администраторы могут перезагрузить систему для применения новых настроек или корректно выключить ее для технического обслуживания. Использование этого раздела предотвращает возможные ошибки и обеспечивает стабильную работу MikoPBX. Помимо этого, будет рассмотрена возможность перезагрузки через консоль.

    Обновление PBX

    Данная статья содержит пошаговые инструкции по обновлению MikoPBX на более новую версию.

    triangle-exclamation

    Перед обновлением обязательно сделайте резервную копию настроек АТС. Делается это при помощи модуля резервного копирования.

    Отдельный компьютер

    В данной статье Вы сможете найти инструкции по установке MikoPBX на отдельный компьютер

    MikoPBX поддерживает установку на отдельный компьютер. Существуют два способа:

    • Live USB - запись образа на флешку с последующей её установкой на другой диск.

    • Bootable USB - установка системы на непосредственно сам USB-носитель с последующей возможностью загрузки с нее.

    В данном разделе представлены варианты записи образов на всех возможных системах (Windows, MacOS, Linux)

    Установка докера и cоздание пользователя и каталогов

    Подготовка к установке MikoPBX в Docker-контейнер

    hashtag
    Установка Docker и Docker Compose на Ubuntu 22.04

    Перед началом работы с Docker, необходимо установить сам Docker и Docker Compose. Вот как это можно сделать:

    hashtag

    Конференции

    Создание и настройка конференций в MikoPBX

    Конференции в MikoPBX — это функция, позволяющая организовывать групповые телефонные звонки с участием нескольких абонентов одновременно. Она позволяет проводить коллективные обсуждения, совещания и встречи по телефону, улучшая коммуникацию как внутри компании, так и с внешними партнерами.

    hashtag
    Создание конференц-комнат

    Список конференц-комнат располагается в разделе "Телефония" -> "Конференции".

    Звуковые файлы

    Добавление/создание звуковых файлов в MikoPBX

    Звуковые файлы в MikoPBX — это аудиозаписи, которые используются системой для воспроизведения различных сообщений, таких как приветствия, объявления, инструкции в IVR-меню или сигналы ожидания. Они позволяют персонализировать аудиоконтент, который слышат звонящие, улучшая взаимодействие с системой и предоставляя необходимую информацию.

    hashtag
    Загрузка звукового файла на АТС

    circle-exclamation

    Маршрутизация

    Описания раздела маршрутизации MikoPBX

    Раздел «Маршрутизация» в MikoPBX — это интерфейс для настройки правил направления вызовов внутри телефонной системы. Здесь администраторы могут определить, как обрабатывать входящие и исходящие звонки, устанавливая условия и маршруты для эффективного распределения звонков между сотрудниками, отделами или внешними линиями.

    hashtag
    Провайдеры телефонии

    Провайдеры телефонии в MikoPBX — это раздел системы, где настраиваются подключения к внешним операторам связи через интернет-протоколы для IP-телефонии. Здесь администраторы могут добавлять и настраивать учетные записи SIP-транков или других типов соединений, которые позволяют системе совершать и принимать звонки с городских и мобильных номеров.

    Обновление из web-интерфейса

    Вариант обновления из web-интерфейса

    В некоторых разделах интерфейса (например, Сотрудники) в правом нижнем углу указана текущая версия MikoPBX.

    В web-интерфейсе АТС перейдите в Обслуживание → Обновление PBX.

    Если есть версии АТС новее вашей текущей, они будут отображены в таблице Доступны онлайн обновления, в которой в первом поле номер версии, а во втором - список изменений.

    circle-exclamation

    Перезагрузка и выключение системы

    Описание возможностей раздела

    hashtag
    Перезагрузка станции через интерфейс MikoPBX

    Меню выключения/перезагрузки системы вы можете найти в MikoPBX в "Перезагрузка" -> "Обслуживание".

    При открытии страницы будет отображен список активных звонков на АТС. Отображается дата начала звонка, «Кто» и «Кому

    Защита от взлома

    В данном разделе производится настройка Fail2ban.

    Fail2ban включается вместе с Сетевым экраном переключателем в разделе Сеть и Firewall → Сетевой экран.

    Сервис Fail2ban блокирует IP адреса с нестандартной активностью. При неудачной попытке авторизации в лог АТС попадет информация об ошибке, Fail2ban анализирует все неудачные попытки авторизации и считает их. Когда количество неудачных попыток авторизации превышает максимально допустимое количество, IP-адрес отправляется в бан.

    triangle-exclamation

    Дата и время

    В данном разделе происходит настройка часов и календаря

    Раздел «Дата и время» в MikoPBX — это интерфейс для настройки системных параметров даты и времени. Здесь администраторы могут установить текущую дату и время, выбрать часовой пояс и настроить синхронизацию с серверами точного времени (NTP). Корректная настройка даты и времени важна для точной регистрации событий, журналов вызовов и работы функций, зависящих от расписания, обеспечивая синхронизацию системы с другими сетевыми устройствами и сервисами.

    Настройка производится в разделе «Система» - «Дата и время»:

    Существует возможность установить время «вручную», без использования NTP сервера. По возможности, рекомендуем использовать автоматическое определение времени.

    Для настройки времени вручную переключите тумблер "Корректировать время вручную"

    Сеть и Firewall

    Описание раздела Сеть и Firewall в MikoPBX

    Раздел «Сеть и Firewall» в MikoPBX — это интерфейс для настройки сетевых параметров и управления брандмауэром системы. Здесь администраторы могут настраивать IP-адреса, сетевые интерфейсы и создавать правила брандмауэра для защиты системы от несанкционированного доступа. Этот раздел обеспечивает безопасную и стабильную работу MikoPBX в сетевой инфраструктуре организации.

    hashtag
    Сетевые интерфейсы

    Раздел «Сетевые интерфейсы» в MikoPBX — это интерфейс для настройки параметров сетевых подключений системы. Здесь администраторы могут управлять IP-адресами, масками подсети, шлюзами и другими сетевыми настройками для каждого сетевого интерфейса. Это позволяет корректно интегрировать MikoPBX в сеть организации и обеспечить ее стабильную работу в соответствии с требованиями сетевой инфраструктуры.

    Docker контейнер
    Обслуживание
    Сеть и Firewall
    Система

    Магазин приложений

    Инструкция по установке готового образа из Яндекс Маркетплейс

    Произвольный образ

    Подробная инструкция по загрузке MikoPBX из произвольного образа

    Утилита коммандной строки yc

    Установка MikoPBX в Yandex Cloud с помощью утилиты yc

    Cover
    Cover
    Cover

    Установка докера и cоздание пользователя и каталогов

    Команды для установки Docker и Docker Compose и настройка перед созданием контейнера

    Запуск MikoPBX в контейнере

    Инструкции по запуску готового контейнера MikoPBX, созданию контейнера из произвольного образа и его запуску

    Запуск MikoPBX с помощью docker compose

    Инструкции по запуску нескольких MikoPBX на одном хосте с помощью docker compose

    Cover
    Cover
    Cover
    Управление модулямиchevron-right
    Приложения диалплановchevron-right
    Диагностика системы chevron-right
    Перезагрузка и выключение системыchevron-right

    Обновление онлайн из web-интерфейса

    Через web-интерфейс MikoPBX, используя встроенный механизм обновлений

    Обновление из консоли MikoPBX

    Из консоли MikoPBX командой для загрузки и установки новой версии

    Обновление Docker

    Путём скачивания последнего образа контейнера MikoPBX и перезапуска с новым образом

    Cover
    Cover
    Cover

    В данной статье Вы найдете подробную документацию по подключению провайдеров к станции, их настройку и особенности.


    hashtag
    Входящие маршруты (Входящая маршрутизация)

    Входящие маршруты в MikoPBX — это набор правил, определяющих, как система обрабатывает входящие звонки от внешних провайдеров телефонии. С их помощью администраторы могут настраивать направления вызовов в зависимости от различных условий, таких как номер вызывающего абонента, время суток или конкретный номер, на который поступил звонок. Это позволяет автоматически распределять входящие звонки на определенных сотрудников, отделы, IVR-меню или очереди вызовов. Настройка входящих маршрутов способствует оптимизации обработки вызовов и повышению качества обслуживания клиентов, обеспечивая гибкое и эффективное управление телефонными коммуникациями в компании.

    В данной статье Вы найдете подробную документацию по настройке входящей маршрутизации.


    hashtag
    Исходящие маршруты (Исходящая маршрутизация)

    Исходящие маршруты в MikoPBX — это набор правил и настроек, определяющих, как система обрабатывает исходящие звонки от сотрудников к внешним номерам. С их помощью администраторы могут управлять направлением вызовов через различные провайдеры телефонии или линии связи в зависимости от определенных условий, таких как набранный номер, префиксы, время суток или права доступа пользователя. Это позволяет оптимизировать затраты на связь, распределять нагрузку между каналами и применять политики безопасности, ограничивая или разрешая определенные типы вызовов. Настройка исходящих маршрутов обеспечивает гибкость и контроль над исходящей телефонной связью, способствуя эффективной работе коммуникационной системы компании.

    В данной статье Вы найдете подробную документацию по настройке исходящей маршрутизации.


    hashtag
    Нерабочее время

    Нерабочее время в MikoPBX — это инструмент для настройки правил обработки вызовов в периоды, когда компания не работает, например, ночью, в выходные или праздничные дни. С его помощью администраторы могут определить, как система будет обрабатывать входящие звонки в нерабочие часы: перенаправлять на автоответчик, воспроизводить специальные голосовые сообщения или переадресовывать вызовы на мобильные номера дежурных сотрудников. Это позволяет обеспечить корректное взаимодействие с клиентами вне рабочего времени и поддерживать высокий уровень обслуживания.

    В данной статье Вы найдете подробную документацию по настройке нерабочего времени для Вашей станции.

    Провайдеры телефонииchevron-right
    Раздел "Маршрутизация" в MikoPBX
    Входящие маршрутыchevron-right
    Исходящие маршрутыchevron-right
    Нерабочее времяchevron-right

    hashtag
    Сетевой экран (Firewall)

    Раздел «Сетевой экран» в MikoPBX — это интерфейс для настройки брандмауэра (Firewall) системы. Здесь администраторы могут создавать и управлять правилами фильтрации сетевого трафика, контролируя доступ к MikoPBX и защищая ее от несанкционированного доступа и сетевых угроз. Настройка сетевого экрана обеспечивает безопасность телефонной системы, предотвращая потенциальные атаки и обеспечивая стабильную работу в сетевой инфраструктуре организации.


    hashtag
    Защита от взлома (Fail2Ban)

    Раздел «Защита от взлома (Fail2Ban)» в MikoPBX — это инструмент для обеспечения безопасности системы от несанкционированного доступа и сетевых атак. Fail2Ban мониторит журналы событий и автоматически блокирует IP-адреса, с которых происходят подозрительные или многократные неудачные попытки входа. Настройка этого раздела помогает предотвратить взлом системы и защитить конфиденциальные данные организации.

    Сетевые интерфейсыchevron-right
    Раздел "Сеть и Firewall" в MikoPBX
    Сетевой экранchevron-right
    Защита от взломаchevron-right
    yc compute zone list 
    Создание пользователя и каталогов на хост-системе

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

    hashtag
    Полезные команды

    Команда для подключения к консоли АТС:

    Команда для подключения к консольному меню АТС:

    Подключение к shgrep для анализа SIP

    # Обновление списка пакетов и установка необходимых зависимостей
    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
    # Добавление ключа GPG официального репозитория Docker
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    # Добавление репозитория Docker в список источников APT
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
    # Установка Docker CE
    sudo apt update
    sudo apt install docker-ce
    
    # Установка Docker Compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
    # Проверка версии Docker Compose
    sudo docker-compose --version
    
    yc compute instance create \
    	--folder-name apor-test-catalog \
    	--name test\
    	--zone ru-central1-c \
    	--cores 2 \
    	--memory 2gb \
    	--create-boot-disk image-id=fd83g1qbk6m3jnl5cvah \
    	--ssh-key ~/.ssh/id_rsa.pub \
    	--public-ip \
    	--create-disk name=storage-test-mikopbx,size=20,auto-delete=1
    yc compute instance list                 
    +----------------------+-----------------+---------------+---------+-----------------+-------------+
    |          ID          |      NAME       |    ZONE ID    | STATUS  |   EXTERNAL IP   | INTERNAL IP |
    +----------------------+-----------------+---------------+---------+-----------------+-------------+
    | ef38gedvuug8qvv4l74p | test            | ru-central1-c | RUNNING | 51.250.39.55    | 10.130.0.6  |
    +----------------------+-----------------+---------------+---------+-----------------+-------------+
    # Создание нового пользователя (например, www-user) без прав суперпользователя
    sudo adduser --disabled-password --gecos "" www-user
    
    # Создание каталогов для хранения данных
    sudo mkdir -p /var/spool/mikopbx/cf
    sudo mkdir -p /var/spool/mikopbx/storage
    
    # Назначение прав созданному пользователю на каталоги
    sudo chown -R www-user:www-user /var/spool/mikopbx/
    sudo docker exec -it mikopbx sh
    sudo docker exec -it mikopbx /etc/rc/console_menu
    sudo docker exec -it mikopbx sngrep
    Для создания новой конференц-комнаты нажмите кнопку Добавить конференцию.
    Кнопка "Добавить конференцию"

    Необходимо указать название конференции и ее внутренний номер, позвонив на который можно в эту конференцию зайти.

    Название и внутренний номер конференции

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

    Установка пин-кода для входа в конференцию

    В этом случае для того чтобы попасть в данную конференцию сотруднику после набора номера конференции необходимо будет ввести пин-код.

    hashtag
    Характерные особенности конференц-связи

    • Все собеседники общаются только голосом (никаких других способов передачи информации, кроме речевого, не предоставляется);

    • все собеседники могут говорить и слышать друг друга одновременно (то есть обеспечивается дуплексная связь);

    • участники используют для общения телефоны (аппаратные или программные).

    hashtag
    Использование

    • Каждый участник конференции звонит на номер конференции. Первый участник слышит музыку на удержании до тех пор, пока к конференции не присоединится хотя бы еще один участник.

    • Сотрудник может перевести своего собеседника в конференцию, реализовав перевод с помощью комбинации стар-кодов на своем телефоне. Перевести в конференцию можно как внутренний номер, так и внешний. Комбинация для переводов задается в разделе "Система" -> "Общие настройки" -> "Переводы вызовов". Пример: Сотрудник набирает комбинацию **1111 (комбинация для безусловного перевода) и его собеседник попадает в конференцию и становится её первым участником. У переводившего сотрудника вызов завершается, и, чтобы попасть в конференцию он звонит на номер конференции 1111.

    circle-info

    Максимальное количество участников конференции не ограничено.

    Раздел "Телефония" -> "Конференции"
    Поддерживаемый формат файлов mp3 и wav

    Звуковые файлы в MikoPBX используются в различных сценариях звонков и интерактивных голосовых меню (в IVR меню, в Нерабочем времени, в Очередях вызовов и для разных системных оповещений, а также В музыке на удержании) для воспроизведения голосового приветствия или оповещения клиента.

    Список доступных звуковых файлов отображается в разделе "Телефония" -> "Звуковые файлы".

    Раздел "Звуковые файлы"

    Для добавления нового звукового файла нажмите "Добавить звуковой файл".

    Элемент "Добавить новый звуковой файл"

    Нажмите Загрузить и выберите звуковой файл.

    Кнопка для загрузки новых файлов

    Откорректируйте наименование файла при необходимости.

    Имя файла записи

    Сохраните изменения.

    circle-info

    При работе по протоколу https есть возможность записать звуковой файл с использованием микрофона. При работе по https должен использоваться доверенный сертификат.

    Запись файла с помощью микрофона, используя протокол https

    Звуковые файлы хранятся на АТС по пути /storage/usbdisk1/mikopbx/media/custom

    hashtag
    Музыка на удержании

    circle-exclamation

    Функция доступна начиная с версии 2020.2.XXX

    Если клиент при звонке попадает в очередь или ожидает переадресацию, АТС проигрывает для него мелодию. Есть возможность загрузить свои мелодии для прослушивания во время ожидания. Это можно сделать на вкладке Музыка на удержании описанным выше способом.

    Вкладка "Музыка на удержании"
    Рекомендуем проводить обновления последовательно, «не перепрыгивая» через релизы.
    Раздел "Доступные онлайн обновления"

    Далее возможны два варианта обновления: обновление онлайн, обновление скачанным img-файлом.

    hashtag
    Обновление онлайн

    triangle-exclamation

    Будьте внимательны! Если система установлена на тот же диск, где хранятся записи разговоров, то могут быть сложности с обновлением. см. форумarrow-up-right

    Обновления загружаются на АТС и сразу же применяются. Для обновления таким способом нажмите кнопку в нужной вам версии обновления.

    Кнопка для обновления системы

    Появится окно предупреждения. Нажмите в нем Обновить.

    Окно предупреждения

    АТС загрузит и применит обновления, а затем перезагрузится.

    hashtag
    Обновление скачанным img-файлом

    circle-info

    Следует сразу заметить, что данным способом можно выполнить не только обновление, но и откат на более прежнюю версию.

    Для обновления данным способом нажмите кнопку в нужной вам версии обновления.

    Кнопка для загрузки файла обновления

    Начнется скачивание img-образа. Дождитесь завершения загрузки.

    Затем нажмите кнопку и выберите данный img-файл.

    Выбор файла для обновления

    Затем нажмите Применить обновление, а в появившемся окне предупреждения нажмите Обновить.

    Установка обновления

    Начнется применение обновлений. После окончания которого АТС перезагрузится.

    Процесс обновления
    Отображение версии в web-интерфейсе
    Раздел "Обновление PBX"
    » звонит.
    circle-exclamation

    Пока есть активные вызовы перезагрузка и отключение не будут доступны через web интерфейс.

    Список активных звонков
    • «Перезагрузить АТС» - команда начинает перезагрузку станции.

    • «Выключение АТС» - завершает все процессы и отключает станцию.

    Опции выключения/перезагрузки системы

    hashtag
    Перезагрузка станции через консольное меню

    Вы можете перезагрузить станцию через консольное меню. Для этого выберете раздел «[3] Перезагрузить систему».

    Консоль MikoPBX

    Если вы хотите перезагрузить станцию: нажмите «[1] Перезагрузить MikoPBX».

    Если вы хотите выключить станцию: нажмите «[2] Выключить».

    Перезагрука/выключение станции

    hashtag
    Перезагрузка с проверкой диска

    В случае аварийной перезагрузки АТС (например, выключение электроэнергии) может потребоваться выполнить проверку диска на ошибки.

    В консольном меню АТС введите команду «[9] Консоль(Shell)» и нажмите Enter

    Система запустит консоль АТС.

    Консольное меню MikoPBX

    Введите команду Reboot. Нажмите Enter

    Система перезагрузится с проверкой диска.

    Команда Reboot
    Раздел "Обслуживание" -> "Перезагрузка"
    Будьте внимательны, Fail2ban не поможет при использовании простых паролей.

    Настройки защиты от взлома можно найти в боковом меню:

    Раздел "Защита от взлома"
    • Если происходит определенное число неудачных попыток входа "Количество попыток для блокировки" в течение определенного периода "В течение (секунд)", IP адрес будет заблокирован в течение заданного периода времени "Блокировать на (секунд)".

    • Белый список адресов определяет IP - адреса, которые не будут заблокированы Fail2ban. Указывать можно как ip адрес 93.188.40.10, так и подсеть 93.188.40.0/24. В качестве разделителя используется «пробел».

    • Обратите внимание, что если Вы в разделе «Сетевой экран» для подсети указали настройку «Никогда не блокировать адреса из этой сети», то подсеть автоматом попадает в белый список и добавлять ее вручную не требуется. Не нужно пытаться наполнять вручную список белых IP-адресов, желательно в исключительных случаях прописывать IP-адреса.

    • Максимальное количество входящих пакетов SIP - опция позволяет ограничить количество пакетов с одного IP адреса в секунду. Если ограничение будет превышено, новые пакеты будут отброшены. Это может повысить устойчивость сервера к атакам.

    Параметры защиты

    Список заблокированных адресов показывает , какие IP-адреса в настоящее время заблокированы.

    Список заблокированных адресов

    Так же вы можете разблокировать адрес кликом на соответствующую кнопку в таблице.

    Переключатель "Сетевой экран и защита от взлома включены"
    Элемент для корректировки времени вручную
    Раздел "Дата и время" в MikoPBX

    Vscale

    Установка MikoPBX с помощью Vscale

    triangle-exclamation

    Vscale переехал в Selectel

    Инструкция по установке MikoPBX в Selectel доступна по ссылке: https://docs.mikopbx.com/mikopbx/setup/cloud/selectelarrow-up-right

    hashtag
    Загрузка образа

    1. Скачайте актуальный образ системы с расширением .raw на

    2. Выполните авторизацию на портале

    3. Перейдите в раздел "Облако" - "Образы" - кликните по кнопке "Создать"

    hashtag
    Создание сервера

    1. Перейдите в раздел "Облако" - "Серверы" - кликните по кнопке "Создать"

    2. Введите имя сервера

    3. В поле "Флейвор" выберите конфигурацию сервера

    hashtag
    Вход в web интерфейс

    После создания сервера можно перейти к его статусу в разделе "Облако" - "Серверы"

    Пароль для входа в вэб интерфейс по умолчанию устанавливается в значение, равному "instance-id", на текущий момент нет возможности получить этот идентификатор из web интерфейса Vscale.

    Для получения пароля от web интерфейса в перейдите на вкладку "Логи":

    Теперь можно перейти по публичному адресу и начать настройку АТС.

    Телефония

    Описание раздела телефонии MikoPBX

    Глава "Телефония" в документации MikoPBX содержит подробную информацию и инструкции, связанные с настройкой и использованием телефонии в системе.

    Раздел "Телефония" в MikoPBX

    hashtag
    Сотрудники

    Сотрудникиchevron-right

    Сотрудники в MikoPBX — это индивидуальные пользователи системы, которым назначены внутренние номера для совершения и приема звонков. Они имеют персональные учетные записи, позволяющие настроить права доступа, переадресацию вызовов и другие персональные настройки в системе.

    В данной статье Вы найдете подробную документацию по добавлению новых сотрудников в станцию, настройку их прав и профилей. Помимо этого, информацию про их дополнительные параметры.


    hashtag
    Очереди вызовов

    Очереди вызовов в MikoPBX — это функция, позволяющая распределять входящие звонки между группой операторов, удерживая вызовы в очереди до момента, когда оператор станет доступен. Это обеспечивает эффективное управление большим потоком звонков и улучшает качество обслуживания клиентов.

    В данной статье Вы найдете подробную документацию по созданию и настройке таких очередей.


    hashtag
    IVR меню

    IVR меню в MikoPBX — это интерактивное голосовое меню, которое позволяет звонящим взаимодействовать с телефонной системой с помощью нажатия клавиш или голосовых команд. Оно автоматически направляет вызовы к нужным отделам или сотрудникам, улучшая эффективность обработки звонков и повышая качество обслуживания клиентов.

    В данной статье вы найдете документацию по созданию и настройке IVR меню.


    hashtag
    Конференции

    Конференции в MikoPBX — это функция, позволяющая организовывать групповые телефонные звонки с участием нескольких абонентов одновременно. Она позволяет проводить коллективные обсуждения, совещания и встречи по телефону, улучшая коммуникацию как внутри компании, так и с внешними партнерами.

    В данной статье вы найдете документацию по созданию и настройке комнат конференций.


    hashtag
    Звуковые файлы

    Звуковые файлы в MikoPBX — это аудиозаписи, которые используются системой для воспроизведения различных сообщений, таких как приветствия, объявления, инструкции в IVR-меню или сигналы ожидания. Они позволяют персонализировать аудиоконтент, который слышат звонящие, улучшая взаимодействие с системой и предоставляя необходимую информацию.

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


    hashtag
    История вызовов

    История вызовов в MikoPBX — это журнал, который сохраняет информацию о всех входящих и исходящих звонках через систему. Она предоставляет детальные данные о каждом вызове, включая время, длительность, номера участников и статус, что позволяет анализировать коммуникации и оптимизировать работу телефонной сети компании. В данной статье Вы найдете информацию про хранение записей разговоров и их фильтров.

    Нерабочее время

    Настройка правил нерабочего времени

    hashtag
    Назначение

    «Нерабочее время» в MikoPBX — это инструмент для настройки правил обработки вызовов в периоды, когда компания не работает, например, ночью, в выходные или праздничные дни. С его помощью администраторы могут определить, как система будет обрабатывать входящие звонки в нерабочие часы: перенаправлять на автоответчик, воспроизводить специальные голосовые сообщения или переадресовывать вызовы на мобильные номера дежурных сотрудников. Это позволяет обеспечить корректное взаимодействие с клиентами вне рабочего времени и поддерживать высокий уровень обслуживания.

    Раздел "Нерабочее время" в MikoPBX

    hashtag
    Создание правила

    Чтобы добавить новое правило нажмите на кнопку Добавить интервал времени.

    Откроется форма создания нового правила.

    В ней есть возможность указать:

    • Период - календарный период отсутствия сотрудников в офисе. Например, на время новогодних или майских праздников

    • Дни недели - конкретные дни недели, для которых будет выполняться данное правило

    • Период времени - период времени отсутствия сотрудников в течении суток.

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

    Кнопкой с ластиком можно очистить поля, напротив которых эта кнопка располагается.

    hashtag
    Применять только к определенным входящим маршрутам

    Активировав эту функцию, сверху у вас появится новое меню "Ограничения по маршрутам"

    Здесь вы можете выбрать к каким конкретно маршрутам будет применяться создаваемое вами правило.

    hashtag
    Примеры правил

    Данным правилом указываются звонки с конца рабочего дня (19:00) и до начала рабочего дня (9:00).

    Данным правилом указываются звонки по выходным дням: в субботу и воскресенье.

    Установка на MDADM RAID1

    hashtag
    Подготовка

    triangle-exclamation

    ВНИМАНИЕ: Все данные на дисках будут уничтожены.

    1. Подготовьте ПК с двумя дисками одинакового объема

    2. Загрузите машину в режиме

    3. Подключитесь к машине через

    hashtag
    Сборка RAID 1

    1. Выполните в консоли команду.

    1. Будут отображены имена дисков. В моем случае это.

    1. Затираем суперблоки на дисках.

    1. Чистим старые метаданные.

    1. Создаем RAID1.

    1. На вопрос «Continue creating array?» отвечаем утвердительно "y".

    2. Далее можно начать установку . При выборе диска следует указать md0

    hashtag
    Полезные статьи

    hashtag
    Grub

    circle-exclamation

    TODO: Необходимо править grub.cfg файл. Иначе, не факт, что при сбое одного из дисков, система загрузится.

    Обновление из консоли MikoPBX

    Вариант обновления из консоли MikoPBX

    Ниже приведен пример с АТС, установленной на виртуальную машину VirtualBOX. Обновление производится с версии 2022.2.102 до версии 2022.3.15. Скачайте из репозиторияarrow-up-right iso-образ нужной вам версии АТС.

    iso-образ в репозитории релизов MikoPBX

    В программе VirtualBOX откройте настройки виртуальной машины на которой установлена АТС. Перейдите в раздел Носители. Выделите виртуальный оптический привод. Нажмите на значок в группе Атрибуты, нажмите Выбрать файл диска. Выберите скачанный iso-образ АТС. Запустите машину.

    Выбор файла диска в интерфейсе VirtualBox

    В консоли отобразится соответствующая строка "The system loaded in Recovery mode" («АТС загружена в режиме восстановления» на русском).

    Консоль MikoPBX

    Выберите Install / Repair (или нажмите на клавиатуре цифру 8) и нажмите «Enter».

    Вам нужна команда "Update to version ****.*.**". Нажмите на клавиатуре цифру 2, затем нажмите «Enter». Начнется установка обновления. Когда она завершится, АТС перезагрузится.

    После перезагрузки АТС сообщения "The system loaded in Recovery mode" уже не будет, что означает, что АТС загрузилась с жесткого диска, а не с виртуального оптического привода. Вверху зеленым шрифтом будет обозначена установленная версия обновления.

    Сетевой экран

    Описание и настройка Firewall правил в MikoPBX

    Сетевой экран в MikoPBX — это интерфейс для настройки брандмауэра (Firewall) системы. Здесь администраторы могут создавать и управлять правилами фильтрации сетевого трафика, контролируя доступ к MikoPBX и защищая ее от несанкционированного доступа и сетевых угроз. Настройка сетевого экрана обеспечивает безопасность телефонной системы, предотвращая потенциальные атаки и обеспечивая стабильную работу в сетевой инфраструктуре организации.

    В MikoPBX все локальные подсети возможно описать в разделе «Сеть и Firewall» → «Сетевой экран». Сетевой экран предназначен для ограничения доступа к станции по типу трафика и подсетям.

    Раздел "Сеть и Firewall" -> "Сетевой экран" в MikoPBX

    Для того, чтобы добавить новое правило, необходимо нажать на кнопку "Добавить новую подсеть":

    Элемент для создания нового правила

    hashtag
    Общие настройки

    Название - задайте произвольное имя для нового правила сетевого экрана. Справа от адреса подсети находится поле Маска подсети в формате CIDR.

    hashtag
    Доступные сервисы

    • SIP&RTP-регистрация телефонов и голосовой трафик - Session Initiation Protocol используется для установки соединений между VoIP телефонами

    • WEB-доступ к административному интерфейсу настройки АТС

    • SSH-root доступ к системе. SSH(Secure Shell) позволяет получить доступ к консоли MikoPBX.

    hashtag
    Дополнительные параметры

    • У каждой подсети есть флаг «Это VPN или локальная сеть». При установке этого флага MikoPBX будет представляться всем локальным подсетям локальным IP, а не внешним.

    • Флаг «Никогда не блокировать адреса из этой сети» следует включать только для доверенных подсетей. Если включен данный флаг, то правила защиты от взлома на данную подсеть не распространяются.

    Система

    Описание раздела "Система" в MikoPBX

    Раздел «Система» в MikoPBX — это интерфейс для управления общими настройками и параметрами телефонной системы. Здесь администраторы могут настраивать основные системные параметры, управлять обновлениями, датой и другими функциями, обеспечивающими стабильную и безопасную работу MikoPBX. Этот раздел позволяет контролировать и оптимизировать работу системы на уровне всей инфраструктуры.

    Раздел "Система" в MikoPBX

    hashtag
    Общие настройки

    Общие настройкиchevron-right

    В разделе «Общие настройки» в MikoPBX администраторы могут управлять основными параметрами системы, такими как настройки срока хранения записей разговоров, уведомления, параметры журналов, язык звуковых оповещений и многими другими системными опциями. Этот раздел обеспечивает контроль над общими функциями и поведением MikoPBX, позволяя оптимизировать работу системы под потребности организации.


    hashtag
    Дата и время

    Раздел «Дата и время» в MikoPBX — это интерфейс для настройки системных параметров даты и времени. Здесь администраторы могут установить текущую дату и время, выбрать часовой пояс и настроить синхронизацию с серверами точного времени (NTP). Корректная настройка даты и времени важна для точной регистрации событий, журналов вызовов и работы функций, зависящих от расписания, обеспечивая синхронизацию системы с другими сетевыми устройствами и сервисами.


    hashtag
    Почта и уведомления

    Раздел «Почта и уведомления» в MikoPBX позволяет настроить отправку системных уведомлений через электронную почту. Здесь администраторы указывают параметры SMTP-сервера, определяют события для уведомлений, такие как голосовые сообщения или системные ошибки, и редактируют шаблоны писем. Этот раздел помогает своевременно информировать пользователей и администраторов о важных событиях, обеспечивая эффективный контроль за работой системы.


    hashtag
    Доступ к AMI

    Раздел «Доступ к AMI» в MikoPBX — это интерфейс для настройки доступа к Asterisk Manager Interface (AMI). Здесь администраторы могут управлять параметрами подключения к AMI, такими как включение или отключение доступа, указание логинов и паролей для аутентификации. Настройка доступа к AMI позволяет внешним приложениям или скриптам взаимодействовать с системой MikoPBX для мониторинга и управления звонками, расширяя функциональные возможности телефонной системы.


    hashtag
    Кастомизация системных файлов

    Раздел «Кастомизация системных файлов» в MikoPBX предоставляет администраторам возможность напрямую изменять или дополнять стандартные конфигурационные файлы системы. Здесь вы можете внести индивидуальные настройки, которые не доступны через стандартный веб-интерфейс, и адаптировать поведение системы под специфические требования вашей организации.

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

    • Редактировать конфигурационные файлы: вносить изменения в существующие файлы или добавлять новые параметры.

    • Переопределять стандартные настройки: изменять значения по умолчанию для определенных функций или модулей.

    • Добавлять собственные скрипты или модули: расширять функциональность системы путем интеграции пользовательских решений.

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

    Перенос с помощью резервного копирования

    Вариант переноса MikoPBX на другой хост

    Данный способ заключается в создании резервной копии текущей конфигурации MikoPBX, её переносе и восстановлении на новом сервере. Он прост в реализации, подходит для небольших систем. Этот метод удобен для пользователей с минимальным техническим опытом.

    1. Для начала нужно выполнить резервное копирование Вашей прошлой системы. Подробнее прочитать про это Вы можете в данной статье.

    Создание новой резервной копии
    1. Выберите данные, которые Вы хотите перенести, дождитесь окончания процесса.

    1. Выполните загрузку Вашего архива, нажав на соответствующий элемент в разделе "Модуль резервного копирования":

    1. На новом хосте (сервере) Вашей MikoPBX выполните восстановление из архива, нажав на элемент "Загрузите файл для восстановления"

    После этого Ваша система будет восстановлена из архива. Данный способ идеально подходит для переноса небольшого объёма данных.

    Сброс к заводским настройкам

    hashtag
    Способ 1

    1. Перейдите в раздел «Общие настройки» -> "Удаление настроек системы"

    1. В поле ввода вставьте текст "удалить всё", нажмите "Сохранить"

    hashtag
    Способ 2

    1. Откройте консольное меню MikoPBX. С клавиатуры введите 9 для перехода в консоль АТС.

    1. Введите последовательно две команды:

    1. После выполнения данных команд MikoPBX перезагрузится. Вход в web-интерфейс происходит с логином (admin) и паролем (admin) по умолчанию.

    Proxmox

    Установка MikoPBX с помощью Proxmox.

    hashtag
    Загрузка образа MikoPBX

    1. Откройте вкладку local / ISO images и выберите Download from URL

    Selectel

    Установка MikoPBX с помощью Selectel

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

    Перед началом вам необходимо скачать актуальный образ MikoPBX с расширением .raw. Сделать это можно по .

    hashtag
    Загрузка образа в Selectel

    IVR меню

    Создание и настройка IVR меню в MikoPBX

    IVR меню в MikoPBX — это интерактивное голосовое меню, которое позволяет звонящим взаимодействовать с телефонной системой с помощью нажатия клавиш или голосовых команд. Оно автоматически направляет вызовы к нужным отделам или сотрудникам, улучшая эффективность обработки звонков и повышая качество обслуживания клиентов.

    hashtag
    Предварительная настройка

    Перед созданием IVR меню необходимо загрузить звуковые файлы, которые будут проигрываться клиенту при звонке в Вашу компанию. Звуковые файлы добавляются в разделе Телефония → Звуковые файлы

    Входящие маршруты

    Описание и настройка входящей маршрутизации

    В данном разделе необходимо создать правила и шаблоны распределения входящих звонков для созданных в MikoPBX провайдеров. Правила входящих звонков описывают маршрут звонка с момента его поступления в АТС до момента его завершения. Вы можете создавать неограниченное количество правил входящей маршрутизации. Для одного провайдера можно создать несколько правил.

    circle-info

    Дополнительные примеры настройки входящей маршрутизации доступны в .

    Обновление Docker

    Вариант обновления для MikoPBX в Docker контейнере

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

    hashtag
    Обновление Docker контейнера

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

    Для запуска нового контейнера с использованием последней версии образа и теми же настройками, что и ранее (включая монтирование томов и прочие параметры сети), воспользуйтесь следующими командами:

    Настройка Gmail (Архив)

    Настройка почты для сервиса gmail

    circle-exclamation

    Всегда используйте «Пароли приложений» для авторизации. . smtp от Gmail

    Для получения уведомлений о пропущенных вызовах по электронной почте необходимо настроить SMTP-клиент. Подробная информация об уведомлениях в MikoPBX рассмотрена . В рамках данной инструкции будет рассмотрен пример настройки уведомлений о пропущенных вызовах для почтового сервиса Gmail.

    Настройка Mail.ru (Логин, Пароль)

    Настройка почты для сервиса Mail.ru

    circle-exclamation

    Для большей безопасности следует использовать «». Не используйте основной пароль от почтового ящика.

    Для получения уведомлений о пропущенных вызовах по электронной почте необходимо настроить SMTP-клиент. Подробная информация об уведомлениях в MikoPBX рассмотрена . В рамках данной инструкции будет рассмотрен пример настройки уведомлений о пропущенных вызовах для почтового сервиса Mail.

    Настройка Yandex Mail (Логин, Пароль)

    Настройка почты для сервиса Yandex

    Для получения уведомлений о пропущенных вызовах по электронной почте необходимо настроить SMTP-клиент. Подробная информация об уведомлениях в MikoPBX рассмотрена . В рамках данной инструкции будет рассмотрен пример настройки уведомлений о пропущенных вызовах для почтового сервиса Yandex.

    circle-exclamation

    по настройки smtp. Для большей безопасности следует использовать «». Не используйте основной пароль от почтового ящика.

    Настройка Proton (Логин, Пароль)

    Настройка почты для сервиса proton.me

    hashtag
    Генерация SMTP токена

    1. Для начала, перейдите в настройки своего аккаунта Proton ().

    Перенос MikoPBX на другой сервер

    Разбор вариантов переноса MikoPBX на другой сервер

    Существует несколько способов для переноса MikoPBX на другой хост (сервер). Каждый из них имеет свои положительные моменты и особенности. Всю краткую информацию по каждому из вариантов Вы можете изучить далее в этом разделе.

    hashtag
    Вариант №1: Перенос с помощью резервного копирования

    Описание:

    Создаётся резервная копия текущей конфигурации MikoPBX, которая затем загружается на новый сервер. Этот способ подходит для небольших объемов данных.

    Перенос с помощью резервного копирования по расписанию

    Вариант переноса MikoPBX на другой хост

    Второй способ предполагает настройку автоматического резервного копирования с сохранением данных напрямую на целевой сервер через SFTP. Этот метод особенно удобен для переноса большего объёма данных, так как исключает необходимость промежуточного хранения резервной копии.

    hashtag
    Настройка Резервного копирования по расписанию

    Для начала нам необходимо настроить резервное копирование по расписанию для MikoPBX, с которой необходимо перенести данные.

    Тонкая настройка firewall

    При публикации АТС на публичном IP адресе возникает задача по защите АТС от сканеров, вредителей, кто пытается подобрать пароли к SIP учетным записям АТС. Если установлен простой числовой пароль, то он будет подобран очень быстро, что повлечет убытки.

    Для базовой защиты от сканеров обязательно следует включить fail2ban. Дополнительно, можно более тонко настроить правила iptables.

    1. Перейдите в раздел "Кастомизация системных файлов"

    Установка с записью образа на USB-носитель (LiveUSB)

    Установка системы на USB- носитель (BootableUSB)

    Cover
    Cover
    Очереди вызововchevron-right
    IVR менюchevron-right
    Конференцииchevron-right
    Звуковые файлыchevron-right
    История вызововchevron-right

    Применять только к определенным входящим маршрутам - можно активировать эту функцию и с помощью нее выбирать на какие входящие маршруты будет распространяться данное правило. (Подробнее ниже)

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

  • Создание нового правила нерабочего времени
    Форма создания нового правила
    Параметр "Применять только к определённым маршрутам"
    Раздел "Ограничения по маршрутам"
    Пример правила №1
    Пример правила №2
    Установка обновления
    Обновленная версия
    AMI-доступ к asterisk manager api через telnet. Asterisk Manager Interface (AMI) предоставляет доступ к Asterisk по TCP/IP протоколу.
  • AJAM - доступ к asterisk manager api, через http, https

  • ICMP-проверка связи командой ping

  • CTICLIENT-подключение панели телефонии для 1С

  • Параметры правила
    Раздел "Доступные сервисы"
    Раздел "Дополнительные параметры"
    Дата и времяchevron-right
    Почта и уведомленияchevron-right
    Доступ к AMIchevron-right
    Кастомизация системных файловchevron-right
    Опции архивирования
    Кнопка для загрузки архива
    "Загрузите файл для восстановления"
    Плюсы:
    • Простота в настройке.

    • Позволяет сохранить текущую конфигурацию.

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

    • Может быть ненадёжен при больших объемах данных.

    • Требует промежуточного хранения резервной копии (например, на локальном диске или облаке).


    hashtag
    Вариант №2: Перенос с помощью SFTP и резервного копирования по расписанию

    Описание:

    Резервная копия автоматически создаётся и сохраняется сразу на целевой сервер через протокол SFTP. Этот способ особенно эффективен для больших объемов данных.

    Плюсы:

    • Подходит для больших объемов данных.

    • Позволяет минимизировать ручные действия.

    • Обеспечивает прямой перенос данных между серверами.

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

    • Требует настроек SFTP на обоих серверах.

    • Необходим доступ к данным текущего пользователя SSH для корректной работы.


    hashtag
    Вариант №3: Перенос с использованием rsync

    Описание:

    Используется команда rsync для синхронизации данных напрямую между старым и новым серверами. Этот метод удобен для опытных пользователей.

    Плюсы:

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

    • Сохранение прав доступа и структуры каталогов.

    • Не требует создания промежуточных резервных копий.

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

    • Требует базовых знаний работы с командной строкой.

    • Возможны ошибки при настройке (например, указание неправильных путей).

    • Серверы должны быть одновременно доступны в сети.


    Перенос с помощью резервного копированияchevron-right
    Перенос с помощью резервного копирования по расписаниюchevron-right
    Перенос с помощью rsyncchevron-right
    LiveCD или LiveUSB
    SSH
    по инструкции
    Работа с mdadm в Linux для организации RAIDarrow-up-right

    hashtag
    Обновление с помощью docker compose

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

    Следующий шаг — это скачивание последней версии образа MikoPBX:

    Пример файла docker-compose.yml, который может быть использован для обновления вашего контейнера MikoPBX через Docker Compose:

    Сохраните содержимое в файл docker-compose.yml, выполните необходимые корректировки и запускайте командой:

    hashtag
    Примечания

    • Данные: Поскольку данные сохраняются в Docker Volume, они остаются нетронутыми при обновлении, что позволяет сохранить настройки и пользовательские данные.

    • Переменные окружения: Убедитесь, что все необходимые переменные окружения передаются корректно.

    • Безопасность: Перед обновлением всегда рекомендуется создать резервные копии ваших данных.

    Эти шаги помогут обеспечить гладкое и безопасное обновление вашего контейнера MikoPBX.

    fdisk -l 
    /dev/sda 
    /dev/sdb
    mdadm --zero-superblock --force /dev/sd{b,a} 
    wipefs --all --force /dev/sd{b,a}
    mdadm --create --metadata=0.90 --verbose /dev/md0 -l 1 -n 2 /dev/sd{b,a}
    cp /conf.default/mikopbx.db /cf/conf/mikopbx.db
    reboot
    # Остановка текущего контейнера
    sudo docker stop mikopbx
    
    # Удаление текущего контейнера
    sudo docker rm mikopbx
    # Скачивание последней версии образа контейнера
    sudo docker pull ghcr.io/mikopbx/mikopbx-x86-64:latest
    
    # Запуск контейнера в не привилегированном режиме
    sudo docker run --cap-add=NET_ADMIN --net=host --name mikopbx --hostname mikopbx \
               -v data_volume:/cf \
               -v data_volume:/storage \
               -e SSH_PORT=23 \
               -it -d --restart always ghcr.io/mikopbx/mikopbx-x86-64:latest
    # Остановка текущего контейнера
    sudo docker stop mikopbx
    
    # Удаление текущего контейнера
    sudo docker rm mikopbx
    # Скачивание последней версии образа контейнера
    sudo docker pull ghcr.io/mikopbx/mikopbx-x86-64:latest
    docker-compose.yml
    services:
      mikopbx:
        container_name: "mikopbx"
        image: "ghcr.io/mikopbx/mikopbx-x86-64:latest"
        network_mode: "host"
        cap_add:
          - NET_ADMIN
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-a-docker"
        volumes:
          - data_volume:/cf
          - data_volume:/storage
        tty: true
        environment:
          # Изменение имени станции через переменные окружения
          - PBX_NAME=MikoPBX-in-Docker
          # Изменение стандартного порта SSH на 23
          - SSH_PORT=23
          # Изменение стандартного порта WEB на 8080
          - WEB_PORT=8080
          # Изменение стандартного порта WEB HTTPS на 8443
          - WEB_HTTPS_PORT=8443
          
    volumes:
      data_volume:
    sudo docker compose -f docker-compose.yml up
  • Выберите тип образа - "File" (п.1)

  • Формат образа - "raw" (п.3)

  • Операционная система - "Linux" (п.4)

  • Выберите файл для загрузки (п.2)

  • Кликните по кнопке "Создать" (п.5) и дождитесь завершения операции

  • Выберите загруженный ранее образ MikoPBX

  • Настройте два диска, первый на 5Гб, второй на 50Гб

  • В разделе "Сеть" - "Публичный IP" - выберите "Создать новый публичный IP"

  • В разделе "Доступ" задайте сложный пароль

  • Кликните по кнопке "Создать сервер" и дождитесь завершения операции

  • сайтеarrow-up-right
    https://vscale.io arrow-up-right
    В поле URL вставьте ссылку на файл из дистрибутива MikoPBX с расширением .iso
  • Нажмите кнопку Download, дождитесь окончания загрузки файла

  • hashtag
    Создание виртуальной машины

    1. Выберите Create VM

    2. На вкладке General введите имя (Name) виртуальной машины, например mikopbx-vm

    1. Перейдите к следующей вкладке OS, в поле ISO image выберите загруженный ранее образ

    2. Укажите тип OS (Type) - Linux

    1. На вкладке System уберите флажок Qemu Agent, для других полей используйте значения по умолчанию

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    • диск объемом 50+ Гб для хранения записей разговоров

    1. Перейдите к вкладке Disks

    2. Скорректируйте размер диска под систему до 1 Гб

    1. Нажмите кнопку Add и добавьте дополнительный диск для хранения данных

    2. Укажите размер диска не менее 50 Гб

    1. На вкладках CPU и Memory укажите параметры вычислительных ресурсов виртуальной машины, исходя из ожидаемой нагрузки на АТС. Для тестовой машины можно указать в поле Cores (вкладка CPU) - 2, в поле Memory (вкладка Memory) - 2 Гб

    1. На вкладке Network уберите флажок Firewall

    1. Перейдите к последней вкладке Confirm и установите флажок Start after created

    2. Завершив ввод значений, нажмите кнопку Finish

    hashtag
    Установка АТС MikoPBX

    1. Перейдите к созданной виртуальной машине mikopbx-vm

    2. На открытой вкладке перейдите в раздел Console

    3. Если загрузка прошла успешно, появится консольное меню. Введите с клавиатуры 8 для начала установки

    1. Выберите диск под систему и введите с клавиатуры имя диска, например sda. Подтвердите выбор, введите с клавиатуры y

    1. Подключите диск для хранения записей разговоров, ведите с клавиатуры наименование диска для подключения, например sdb

    triangle-exclamation

    После появления сообщения “Press any key within 30 seconds to boot from LiveCD…” не нажимайте никаких кнопок. В этом случае система загрузится с жесткого диска.

    hashtag
    Запуск АТС MikoPBX

    1. На открытой вкладке в разделе Console скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    1. Для входа используйте логин - admin и пароль - admin

    Перейдите в раздел Облачная платформа -> Образы.
    Раздел "Образы"
    1. Нажмите "Создать образ".

    Кнопка "Создать образ"
    1. Укажите:

    • Имя образа - любое желаемое название для вашего образа.

    • ОС - Linux

    • Источник - Файл

    • Файл - выберите раннее загруженный файл с расширением .raw

    Все остальное - по умолчанию.

    Нажмите создать и дождитесь окончания процесса.

    Параметры загружаемого образа диска

    hashtag
    Создание сервера в Selectel

    1. Перейдите в раздел Облачная платформа -> Серверы

    Раздел "Серверы"
    1. Нажмите "Создать сервер":

    "Создать сервер"
    1. В конфигурации вашей ВМ укажите:

    • Имя - произвольное название.

    • Пул - такой же, как у раннее созданного образа.

    • Источник - выберите раннее загруженный образ.

    • Конфигурация - желаемое "железо" исходя из ваших потребностей.

    Первая секция конфигурации
    • Диски: Здесь вам необходимо указать размер для первого диска (он же - системный диск) - 5Гб (минимально возможный в Selectel). А так же создайте новый диск, используя кнопку "Добавить". Укажите размер. Для диска, который используется для записи разговоров - рекомендуемое значение >50Гб. Типы дисков - "Базовый HDD"

    • Сеть - "Приватная + 1 публичный IP"

    Вторая секция конфигурации
    1. Нажмите "Создать сервер".

    "Создать сервер"

    После создания, сразу остановите запуск сервера.

    hashtag
    Включение DHCP

    1. Перейдите в раздел Облачная платформа -> Сеть.

    Раздел "Сеть"
    1. Перейдите в конфигурацию сети "Nat":

    Сеть "Nat"
    1. Перейдите в раздел Подсети -> Автоматические сетевые настройки.

    Автоматические сетевые настройк
    1. Включите переключатель "DHCP-сервер".

    "DHCP-сервер"

    hashtag
    Первый запуск MikoPBX

    1. Вернитесь к разделу Облачная платформа -> Серверы. Далее - в созданный сервер.

    2. Включите сервер:

    Элемент переключения состояния сервера
    1. Перейдите в раздел "Syslog":

    Раздел "Syslog"

    Произведите подключение по:

    External IP Address - внешний IP-адрес вашей MikoPBX. Скопируйте и вставьте его в адресную строку.

    Web credentials - данные для входа в WEB-интерфейс. Введите логин и пароль.

    ссылкеarrow-up-right
    Загрузка звуковых файлов в MikoPBX

    Также есть возможность записать файл с помощью микрофона, если с АТС соединиться по https.

    Запись файла с помощью микрофона

    hashtag
    Создание IVR-меню

    Перейдите в Телефония → IVR меню.

    Раздел "Интерактивные голосовые меню - IVR"

    Нажмите Создать новое IVR меню. Задайте наименование IVR меню, номер и при необходимости комментарий. Выберите звуковой файл, который вы загрузили на предыдущем этапе.

    Создаение нового IVR (Интерактивного голосового меню)

    Настройте Действия при донаборе. В первой колонке укажите добавочный номер, а во второй настройте правило адресации.

    Настройка действия при донаборе

    Задайте Количество повторов перед переводом на номер по умолчанию.

    Установите Таймаут ожидания ввода добавочного номера (значение в секундах), после которого будет повтор голосового приветствия.

    Номер по умолчанию необходим для случая, если клиент не ввел добавочный номер (к примеру не было технической возможности).

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

    Введите номер IVR меню, позвонив на который, можно на это IVR попасть.

    Нажмите Сохранить.

    Настройки IVR

    hashtag
    Описания принципа работы IVR

    • При звонке на голосовое меню (Номер IVR меню) начинает проигрываться звуковой файл Голосовое приветствие.

    • Во время проигрывания голосового меню можно набирать добавочный номер сотрудника. За эту возможность отвечает флаг Разрешить донабор любого внутреннего номера. IVR позволяет разрешить донабор любого внутреннего номера: очереди, IVR, внутреннего номер сотрудника.

    • После проигрывания голосового меню происходит ожидание в течении Таймаут ожидания ввода добавочного номера для набора добавочного. Общее время для набора номера = Длительность звукового файла + Таймаут ожидания ввода добавочного номера.

    • Если общее время для набора номера истекло происходит повторное голосовое оповещение и ожидание в течении таймаута, то есть следующая попытка IVR.

    • Если пользователь некорректно набирает номер или вообще ничего не набирает, то также происходит повторное голосовое оповещение и ожидание в течении таймаута - следующая попытка IVR.

    • Максимальное количество попыток задается в параметре Количество повторов, перед переводом на номер по умолчанию.

    • Как только попытки превысят указанное значение, происходит переадресация на Номер по умолчанию.

    hashtag
    Приоритет правил маршрутизации и маршрут по умолчанию

    Правила располагаются в списке в порядке их приоритета. Если за указанный в правиле интервал времени никто не ответит на входящий вызов, то вызов направится на следующее по приоритету правило. Правила можно перемещать в списке вверх-вниз, то есть изменять их приоритет, перетаскивая их за стрелки.

    Настройка приоритета правил маршрутизации

    Если ни по одному из правил на звонок не ответили, применяется входящий маршрут по умолчанию.

    Маршрут по умолчанию

    Доступны следующие действия, которые можно указать в качестве правила по умолчанию:

    • Воспроизвести сигнал занято - клиент будет воспроизведен сигнал занято и входящий вызов будет завершен;

    • Положить трубку;

    • Перевести вызов - вызов можно перевести на номер, который вы можете выбрать в поле, расположенном справа от действия. В качестве номера для перевода можно выбрать IVR-меню, очередь вызовов, конференцию, внутренний номер сотрудника.

    hashtag
    Несколько маршрутов для одного провайдера

    Для одного провайдера можно описать несколько входящих маршрутов.

    Сперва вызов идет по верхнему маршруту. Если клиент не дозвонился, то вызов идет по нижнему правилу (более низкий приоритет). Если клиент не дозвонился и по второму маршруту, то вызов идет по маршруту по умолчанию.

    Несколько маршрутов для одного провайдера

    hashtag
    Создание правила маршрутизации

    Чтобы добавить новое правило входящей маршрутизации нажмите на кнопку Добавить новое правило.

    Элемент "Добавить новое правило"

    В поле Заметка опишите маршрут, который хотите реализовать. В дальнейшем это поможет вам в отладке схемы звонка.

    Выберите Провайдера, для которого создаете новый шаблон распределения входящих звонков.

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

    Параметры обработки входящих

    Голосовое приветствие - необязательное поле, допускается выбрать медиа файл для воспроизведения звонящему.

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

    Укажите время, в течение которого вызов будет идти на указанный вами телефонный номер.

    Если спустя указанный интервал времени никто не ответит на входящий вызов, то вызов направится на следующее по приоритету правило.

    разделе FAQ
    Раздел "Входящие маршруты" в MikoPBX

    Введем IP адрес АТС MikoPBX в браузере и перейдем в Система → Почта и уведомления.

    Раздел "Почта и уведомления"

    Настройки SMTP клиента для сервиса Gmail:

    • SMTP хост - smtp.gmail.com

    • SMTP Порт - 465 (Порт для обслуживания клиентов)

    • Адрес отправителя и Логин - E-mail с которого будут отправляться сообщения о пропущенных вызовах

    • Пароль - пароль от электронной почты, необходимый для авторизации

    • Метод шифрования - Использовать TLS

    Параметры настроек отправки сообщений
    1. Сохраним введённые настройки и перейдем к настройке Вашего почтового аккаунта. Особенностью сервиса Gmail является то, что к Вашему аккаунту автоматически запрещен доступ ненадежным приложениям, к которым относится MikoPBX, поэтому необходимо вручную разрешить доступ к данным приложениям (инструкции по настройке размещены здесьarrow-up-right).

    2. Возвращаемся в Система → Почта и уведомления. Осуществим отправку тестового письма на электронную почту любого сервиса. В случае успешного тестирования на указанный Вами адрес электронной почты придет тестовое письмо.

    О том, как настроить шаблон письма для создания E-mail уведомления вы можете прочитать здесь.

    См. инструкцииarrow-up-right
    Инструкции по настройкеarrow-up-right
    здесь
    Введем IP адрес АТС MikoPBX в браузере и перейдем в Система → Почта и уведомления.
    Раздел "Почта и уведомления"

    Настройки SMTP клиента для сервиса Mail:

    • SMTP хост - smtp.mail.ru

    • SMTP Порт - 465 (Порт для обслуживания клиентов)

    • Адрес отправителя и Логин - E-mail с которого будут отправляться сообщения о пропущенных вызовах

    • Пароль - пароль от электронной почты, необходимый для авторизации

    • Метод шифрования - Использовать TLS

    Параметры настроек отправки сообщений
    1. Возвращаемся в Система → Почта и уведомления. Осуществим отправку тестового письма на электронную почту любого сервиса. В случае успешного тестирования на указанный Вами адрес электронной почты придет тестовое письмо.

    О том, как настроить шаблон письма для создания e-mail уведомлений вы можете прочитать здесь.

    Пароли приложенийarrow-up-right
    здесь

    Введем IP адрес АТС MikoPBX в браузере и перейдем в Система → Почта и уведомления.

    Раздел "Почта и уведомления"

    Настройки SMTP клиента для сервиса Yandex:

    • SMTP хост - smtp.yandex.ru

    • SMTP Порт - 465 (Порт для обслуживания клиентов)

    • Адрес отправителя и Логин - E-mail с которого будут отправляться сообщения о пропущенных вызовах

    • Пароль - пароль от электронной почты, необходимый для авторизации

    • Метод шифрования - Использовать TLS

    Параметры настроек отправки сообщений
    1. Осуществим отправку тестового письма на электронную почту любого сервиса. В случае успешного тестирования на указанный Вами адрес электронной почты придет тестовое письмо.

    О том, как настроить шаблон письма для создания e-mail уведомлений вы можете прочитать здесь.

    здесь
    Документация Yandexarrow-up-right
    Пароли приложенийarrow-up-right

    Далее перейдите в раздел "Proton Mail" -> "IMAP/SMTP".

    Раздел "IMAP/SMTP"
    1. Далее пролистайте до секции "SMTP submission". Нажмите "Generate token".

    Кнопка для создания нового токена "Generate token"
    1. Введите произовольное название в поле "Token name" - MikoPBX в нашем случае, так же выберите Email address для которого Вы создаете токен.

    Создание нового SMTP токена

    Будет создан токен. Его параметры будут показаны один раз и когда Вы закроете окно, станут недоступны. Сохраните их, мы будем использовать их для дальнейшей настройки.

    Параметры созданного токена

    hashtag
    Подключение в MikoPBX

    1. Перейдите в раздел "Система" -> "Почта и уведомления".

    Раздел "Система" -> "Почта и уведомления".
    1. Перейдите в "Настройки SMTP". Заполните все необходимые параметры:

    • Адрес отправителя - Ваш адрес электронной почты, под которым Вы генерировали токен.

    • Имя отправителя - имя от которого отправляется почта.

    • Тип аутунтификации - "Логин и пароль".

    • SMTP логин - SMTP Username из окна с данными токена.

    • SMTP пароль - SMTP token из окна с данными токена.

    • SMTP хост - smtp.protonmail.ch

    • SMTP порт - 587.

    • Тип шифрования - STARTLS (порт 587).

    Нажмите "Сохранить".

    Параметры почты в MikoPBX

    Нажмите "Проверить подключение". Вы увидите следующее окно, подтверждающее правильность введенных данных:

    Успешное подключение
    ссылкаarrow-up-right
    Настройки учетной записи Proton

    Перейдите в модуль "Резервное копирование":

    Страница модуля резервного копирования
    1. Перейдите во вкладку "Расписание архивации":

    Вкладка "Расписание архивации"
    1. Далее настраиваем параметры архивации по расписанию:

    • Адрес сервера - адрес Вашей новой станции MikoPBX.

    • Протокол - SFTP

    • Порт - 22

    • Имя пользователя - имя пользователя для SSH подключения к вашей новой станции.

    • Пароль - пароль для SSH подключения к вашей новой станции.

    • Путь на сервере - "/storage/usbdisk1/mikopbx/backup/"

    Прочитать про SSH подключение Вы можете в этой статье. Для начала резервного копирования сразу после сохранения настроек - выберите параметр "Начать создание копии сразу после сохранения настроек". Так же вы можете выбрать необходимые данные для переноса в соответствующем разделе.

    Параметры разервного копирования по расписанию

    Дождитесь завершения резервного копирования и отключите старую машину.

    hashtag
    Восстановление из копии на новом хосте

    При успешном переносе данных, Ваша резервная копия появится в разделе модуля на новом хосте:

    Резервная копия

    Выполните восстановление из копии на вашем новом хосте, для этого:

    1. Перейдите в раздел настроек резервной копии, нажав на соответствующий элемент:

    Переход в настройки восстановления из копии
    1. Выберите данные, которые Вам необходимо перенести и нажмите "Восстановить из архива":

    Окно восстановления из архива

    Перейдите к редактированию файла /etc/firewall_additional

    Файл "/etc/firewall_additional"
    1. Установите режим "Добавлять в конец файла", вставьте следующий код:

    Код для файла "/etc/firewall_additional"
    circle-exclamation

    Добавленное правило позволит блокировать все входящие запросы по UDP протоколу, которые содержат подстроку «friendly-scanner»

    Более полный пример набора правил:

    Это обезопасит от большинства сканеров, которые при запросе упоминаю User-Agent.

    Накладываем ограничение на 30 запросов в 1 секунду.

    Раздел "Кастомизация системных файлов"

    Hyper-V

    Установка MikoPBX с помощью HyperV.

    hashtag
    Создание виртуальной машины

    1. Выберите Действие / Создать / Виртуальная машина

    2. На вкладке Укажите имя и местонахождение введите имя виртуальной машины, например mikopbx-vm

    1. Перейдите к следующей вкладке Укажите поколение, выберите поколение - Поколение 1

    1. На вкладке Выделить память выделите необходимый размер оперативной памяти, исходя из ожидаемой нагрузки на АТС. Для тестовой машины можно указать 2 Гб

    1. Перейдите к вкладке Настройка сети, выберите заранее настроенное сетевое соединение

    1. На вкладке Подключить виртуальный жесткий диск скорректируйте размер диска под систему до 1 Гб

    1. На вкладке Параметры установки установите флажок Установить операционную систему с загрузочного компакт- или DVD-диска

    2. Выберите Файл образа (.iso) и укажите ссылку на файл из дистрибутива MikoPBX с расширением .iso

    1. Завершив ввод значений, нажмите кнопку Готово

    hashtag
    Диск для хранения данных

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. Перейдите к Параметрам созданной виртуальной машины

    2. Выберите IDE контроллер, к которому подключен диск под систему

    3. На открывшейся вкладке выберите Жесткий диск, нажмите кнопку Добавить

    1. На вкладке Выберите тип диска укажите тип диска - Фиксированного размера

    1. На вкладке Укажите имя и местонахождение укажите имя, например storage.vhd, и расположение диска

    1. На вкладке Настройка диска задайте размер диска для хранения данных не менее 50Гб

    1. Для других полей используйте значения по умолчанию

    2. Завершите настройку, нажав кнопку Готово

    hashtag
    Установка АТС MikoPBX

    1. Для запуска виртуальной машины нажмите Пуск

    1. Перейдите к вкладке Подключить созданной виртуальной машины mikopbx-vm

    2. Если загрузка прошла успешно, появится консольное меню. Введите с клавиатуры 8 для начала установки

    1. Выберите диск под систему и введите с клавиатуры имя диска, например sdb. Подтвердите выбор, введите с клавиатуры y

    1. Подключите диск для хранения записей разговоров, ведите с клавиатуры наименование диска для подключения, например sdc

    triangle-exclamation

    После появления сообщения “Press any key within 30 seconds to boot from LiveCD…” не нажимайте никаких кнопок. В этом случае система загрузится с жесткого диска.

    hashtag
    Запуск АТС MikoPBX

    1. На открытой вкладке Подключить скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    1. Для входа используйте логин - admin и пароль - admin

    Proxmox LXC контейнер

    Установка MikoPBX в LXC контейнер

    Proxmox LXC — это легковесные контейнеры в составе платформы виртуализации Proxmox VE, работающие на базе технологии LXC (Linux Containers). Они позволяют запускать изолированные Linux-системы с минимальным потреблением ресурсов по сравнению с полноценными виртуальными машинами.

    hashtag
    Загрузка шаблона контейнера

    1. Перейдите в "local" хранилище, далее "CT Templates". Нажмите "Download from URL" для перехода к диалогу загрузки шаблона из URL.

    1. Перейдите на с релизами и скопируйте ссылку на скачивание файла-шаблона с расширением "lxc.tar.gz".

    1. Вставьте ссылку в поле "URL", нажмите "Query URL". Если Вы скопировали правильную ссылку, то в поле "File name" будет подставлено название файла с расширением "lxc.tar.gz".

    Нажмите "Download" для начала загрузки.

    После окончания загрузки, Вы увидите надпись "TASK OK".

    hashtag
    Создание LXC контейнера

    1. Нажмите "Create CT" в правой верхней части интерфейса для создания нового контейнера.

    1. Заполните все базовые параметры контейнера:

    • Hostname - укажите название для сервиса.

    • Password - укажите пароль для входа в Web-интерфейс MikoPBX.

    • SSH public keys - сгенерируйте и вставьте Ваш ssh-ключ. Далее Вы сможете использовать его для подключения к станции по SSH. Подробнее про генерацию ключей и SSH подключение можно прочитать .

    Нажмите "Next".

    1. Выберите ранее загруженный шаблон в разделе "Template".

    Нажмите "Next".

    1. Далее укажите размер системного диска. Рекомендуемое значение - 1 ГБ.

    Нажмите "Add" для добавления нового диска.

    1. Укажите размер второго диска: на нем будут храниться записи разговоров. Рекомендуемый размер - не менее 50 ГБ. Так же укажите путь к диску - "/storage".

    Нажмите "Add" для добавления нового диска.

    1. Укажите размер третьего диска для хранения конфигурации. Рекомендуемый размер - 0.5 ГБ. Так же укажите путь к диску - "/cf".

    Нажмите "Next".

    1. На следующей вкладке укажите количество ядер, которые будут использованы. Для небольшой компании можно указать 1-2 ядра (подробнее в ).

    Нажмите "Next".

    1. Далее укажите количество оперативной и Swap памяти для контейнера.

    circle-info

    Swap — это область на диске, которую система использует как дополнительную память, когда заканчивается оперативная память (RAM). Она работает значительно медленнее RAM и служит резервом, чтобы система не завершала процессы при нехватке памяти.

    Нажмите "Next".

    1. В следующем разделе, выберите Ваши параметры сети. В нашем случае используется DHCP для получения IPv4. Firewall здесь можно не включать, но необходимо настроить его позже в MikoPBX (подробнее можно прочитать в ).

    Нажмите "Next".

    1. В разделе с настройкой параметров DNS нажмите "Next".

    Вы увидите итоговую конфигурацию контейнера. Нажмите "Finish".

    hashtag
    Первый запуск

    1. Перейдите в окно управления созданного контейнера, нажав на его название. Нажмите на кнопку "Start" для запуска.

    1. Далее перейдите во вкладку "Console". Дождитесь загрузки системы и найдите IP-адрес Web-интерфейса.

    Введите его в адресную строку Вашего браузера. Далее произведите первую авторизацию в MikoPBX.

    circle-info

    Данные для входа:

    Login: admin

    Password: пароль, который Вы задали на начальном этапе создания контейнера.

    UTM

    Установка MikoPBX в UTM

    В данной иснтрукции будет произведена установка на UTM. Перед ее началом скачайте файл образа диска с расширением ".iso". Сделать это можно по ссылкеarrow-up-right.

    circle-info

    Данная инструкция актуальна с первого релиза, опубликованного в 2026 году. Протестированно на процессорах Apple Silicon.

    hashtag
    Создание виртуальной машины

    1. Перейдите в UTM. Нажмите "Create a New Virtual Machine" для создания новой виртуальной машины.

    1. В качестве типа виртуальной машины выберите "Virtualize".

    1. В качестве типа операционной системы выберите "Preconfigured" - "Linux".

    1. Выберите ранее загруженный файл образа диска в разделе "Boot ISO Image". Для этого нажмите на "Browse...".

    1. Далее укажите характеристики Вашей виртуальной машины. В нашем случае будут использованы 2 ГБ ОЗУ и 2 ядра процессора.

    1. Далее укажите размер для системного диска. В нашем случае - 1 Гб.

    circle-info

    В MikoPBX используются два диска:

    1. Системный диск. На него устанавливается система, рекомендуемый размер - 1 Гб.

    2. Диск для хранения записей разговоров. Рекомендуемый размер - от 50 Гб.

    1. Нажмите Continue.

    1. Будет отображена итоговая конфигурация виртуальной машины. Задайте ей желаемое имя (поле "Name"). И нажмите "Save".

    hashtag
    Подключение диска для хранения данных

    1. Перейдите в настройки ВМ. Для этого нажмите правой кнопкой мыши по её названию, далее "Edit".

    1. Перейдите в "Drives". Нажмите "New..."

    1. Создайте новый диск со следующими параметрами:

    • Interface - VirtlO

    • Size - не менее 50Гб (в этой документации для тестовой машины будет использовано 10Гб)

    Нажмите "Create".

    hashtag
    Установка системы

    1. Запустите виртуальную машину.

    1. После загрузки Вы увидите надпись PBX is running in Live or Recovery mode. Это означает, что система загружена из образа диска в Live режиме. Необходимо произвести установку системы. Для этого перейдите к разделу "[8] Install on Hard Drive".

    1. Выберите диск для установки системы. В нашем случае доступны диски vda и vdb, для установки выбираем диск vda.

    1. Подтвердите выбор: введите "y" с клавиатуры и нажмите Enter.

    1. Далее выберите диск для хранения записей разговоров. В нашем случае единственный оставшийся размером 10 Гб.

    После этого система будет перезагружена и доступна в обычном режиме (надпись "PBX is running in Live or Recovery mode" пропадет).

    Введите этот IP-адрес в строку браузера для перехода в Веб-интерфейс.

    circle-info

    Стандартные данные для входа:

    • Login: admin

    • Password: admin

    Магазин приложений

    Установка MikoPBX в Yandex Cloud из Marketplace

    Для начала зарегистрируйтесь в сервисе Yandex Cloudarrow-up-right.

    Приступим к настройке

    hashtag
    Создание виртуальной машины

    1. Откройте Все сервисы / Инфраструктура и сеть / Compute Cloud

    2. Перейдите в раздел Виртуальные машины

    3. На вкладке выберите Создать ВМ

    4. Введите имя виртуальной машины, например vm-mikopbx

    5. Укажите зону доступности

    1. Укажите параметры вычислительных ресурсов виртуальной машины, исходя из ожидаемой нагрузки на АТС и вашего бюджета. Для тестовой машины можно указать Гарантированная доля vCPU - 20%, RAM - 1 Гб

    hashtag
    Загрузка АТС MikoPBX из образа в маркетплейсе

    1. В разделе Выбор образа/загрузочного диска выберите Marketplace / Показать все продукты Marketplace / VoIP / MikoPBX IP АТС

    2. В разделе Диски и файловые хранилища скорректируйте размер загрузочного диска до 1 Гб

    hashtag
    Настройка дисков

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. В разделе Диски и файловые хранилища выберите Добавить диск

    2. На открытой вкладке введите имя диска для хранения данных, например storage-mikopbx

    3. Укажите тип диска HDD

    hashtag
    Настройка сети

    1. В разделе Сетевые настройки выберите существующую или создайте новую облачную сеть

    2. В поле Подсеть в выпадающем меню выберите Добавить подсеть

    3. На открытой вкладке введите имя подсети, например local-mikopbx

    1. Публичный адрес и Внутренний IPv4-адрес оставьте в положении Автоматически

    hashtag
    Настройка параметров SSH

    1. В разделе Доступ укажите Сервисный аккаунт

    2. Введите Логин и SSH-ключ, предварительно сгенерированный по

    3. В разделе Дополнительные настройки установите флажок Разрешить доступ к серийной консоли

    1. Завершив ввод значений, нажмите кнопку Создать ВМ

    hashtag
    Запуск АТС MikoPBX

    1. Дождитесь запуска созданной виртуальной машины, обычно первый запуск занимает 6-8 минут. Статус Running, еще не означает что система полностью развернулась

    2. Откройте созданную виртуальную машину и перейдите в раздел Серийная консоль

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные во вкладке Серийная консоль логин и пароль

    Google Cloud Маркетплейс

    Установка MikoPBX в Google Cloud с помощью Маркетплейса

    Авторизуйтесь на платформе https://console.cloud.google.com/arrow-up-right

    MikoPBX в Google Cloud Маркетплейс: https://console.cloud.google.com/marketplace/product/mikopbx-public/mikopbxarrow-up-right

    Приступим к настройке

    circle-info

    Для быстрого и удобного поиска на платформе Google Cloud используйте панель поиска

    hashtag
    Добавление ролей сервисной учетной записи

    Если у вас есть сервисная учетная запись, проверьте наличие нужных ролей, в случае необходимости добавьте их

    Если сервисной учетной записи нет, создайте и добавьте ей нужные роли

    1. Откройте Navigation menu / Products & solutions / Management / IAM & Admin

    2. Перейдите к вкладке Service accounts и нажмите на CREATE SERVICE ACCOUNT

    3. Введите имя сервисной учетной записи, например mikopbx-service-account

    1. Добавьте роли Cloud Infrastructure Manager Agent, Compute Admin, Compute Network Admin, Service Account User

    1. Нажмите кнопку DONE

    hashtag
    Создание виртуальной машины

    1. Откройте Marketplace и введите в поисковой строке MikoPBX

    2. Выберите образ

    3. На открытой вкладке выберите LAUNCH

    1. В поле Deployment name введите имя, например mikopbx-vm

    2. В разделе Deployment Service Account установите флажок Existing account и выберите созданный ранее сервисный аккаунт

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. При необходимости измените размер диска для хранения данных в разделе Data Storage, по умолчанию его размер - 50Гб

    1. В разделе Networking все необходимые правила Firewall настраиваются автоматически

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку DEPLOY

    hashtag
    Запуск АТС MikoPBX

    1. Откройте вкладку Compute Engine и перейдите в раздел Virtual machines / VM Instance

    2. Перейдите к созданной виртуальной машине mikopbx-vm-mikopbx-vm

    3. На открытой вкладке перейдите к Logs / Serial port 1 (console)

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные в Serial port 1 (console) логин и пароль

    История вызовов

    Просмотр и фильтр истории вызовов в MikoPBX

    История вызовов в MikoPBX — это журнал, который сохраняет информацию о всех входящих и исходящих звонках через систему. Она предоставляет детальные данные о каждом вызове, включая время, длительность, номера участников и статус, что позволяет анализировать коммуникации и оптимизировать работу телефонной сети компании. Располагается в разделе "Телефония" -> "История вызовов".

    Раздел "История вызовов"

    hashtag
    Чем она полезна

    История вызовов в MikoPBX позволяет:

    • Отобразить все вызовы;

    • Отобразить вызовы по отбору;

    • Визуально отобразить пропущенные вызовы из общего списка звонков;

    Каждый элемент списка содержит информацию о:

    • номере телефона звонящего абонента (Кто);

    • номере телефона, на который звонили (Кому);

    • дате и времени свершения звонка (Дата звонка);

    Вызовы, отмеченные красным цветом, являются пропущенными. Длительность разговора для пропущенных вызовов равна нулю, такие вызовы невозможно прослушать.

    Для каждой записи истории звонков доступна возможность прослушивания и скачивания записи разговоров. Записи разговоров скачиваются локально на ПК в формате .mp3.

    Каждая строка вызова содержит полную информацию об участниках разговора.

    На скриншоте выше отображено следующее:

    1. Вызов поступил на номер 79255283744;

    2. На вызов ответила Белкина;

    3. Белкина осуществила консультативный перевод на Шевченко;

    hashtag
    Отборы

    circle-info

    Для применения отбора нужно после ввода в поле значения нажать Enter.

    В строке поиска истории вызовов можно реализовать следующие отборы:

    1) Отбор по номеру телефона

    В строке поиска можно ввести как внутренний номер сотрудника, так и номер клиента (внешний).

    2) Отбор по двум номерам телефона

    В строке поиска через пробел можно ввести два номера телефона. Если ввести "74952293042 302", то будут отображены все отвеченные вызовы между двумя номерами. Отвеченные вызовы - это вызовы, имеющие длительность разговора больше 0 секунд, время голосового приветствия не учитывается.

    3) Отбор по дате

    При открытии истории звонков, журнал по умолчанию формируется на текущую дату. Установите нужный вам период и нажмите Применить.

    4) Отбор по linkedid

    linkedid - уникальный идентификатор звонка. Данным отбором удобно пользоваться, если необходимо найти вызов, исходя из данных . Для применения этого отбора: 1. Откройте журнал звонков 1С; 2. Выделите нужную строку; 3. Нажмите Подробнее во встроенном плеере (или вызвав контекстное меню на данной строке); 4. Скопируйте поле Идентификатор; 5. Вставьте это значение в строку поиска истории вызовов MikoPBX и нажмите Enter.

    Почта и уведомления (new)

    Настройка почты и уведомлений

    Раздел «Почта и уведомления» в MikoPBX позволяет настроить отправку системных уведомлений через электронную почту. Здесь администраторы указывают параметры SMTP-сервера, определяют события для уведомлений, такие как голосовые сообщения или системные ошибки, и редактируют шаблоны писем. Этот раздел помогает своевременно информировать пользователей и администраторов о важных событиях, обеспечивая эффективный контроль за работой системы.

    Раздел "Почта и уведомления" в MikoPBX

    hashtag
    Общие настройки

    Общие настройки почты
    • Использовать оповещения - позволяет включить/отключить все оповещения на email, включая голосовую почту.

    • Отправлять уведомления о пропущенных вызовах - позволяет включить/отключить уведомления о пропущенных вызовах.

    • Единый Email для уведомлений о пропущенных вызовах - общий адрес электронной почты для отправки уведомлений о пропущенных внешних вызовах (если у сотрудника не указан email, используется этот общий адрес).

    • Отправлять уведомления о голосовых сообщениях - позволяет включить/отключить уведомления о голосовых сообщениях.

    • Единый Email для уведомлений о голосовых сообщениях - общий адрес электронной почты для отправки уведомлений о голосовых сообщениях (приоритет: 1. Личный email сотрудника; 2. Указанный email в этом поле)

    • Отправлять уведомления о входах в систему - позволяет включить/отключить уведомления о входах в систему.

    • Отправлять системные уведомления - позволяет включить/отключить отправку системных уведомлений.

    • Email системного администратора - адрес, на который будут отправляться системные уведомления.

    hashtag
    Настройки SMTP

    • Адрес отправителя, Имя отправителя - от имени этого адреса и имени будут отправляться электронные письма.

    • Тип аутентификации:

      • Логин и пароль - классический тип аутентификации при подключении к SMTP-серверу, при котором используется адрес почтового ящика (логин) и пароль от него. Все параметры (сервер, порт, шифрование, логин и пароль) вводятся и хранятся вручную

    hashtag
    Аунтефикация по логину и паролю

    • SMTP логин, SMTP пароль - параметры авторизации.

    • SMTP хост - адрес почтового сервера.

    • SMTP порт - порт почтового сервера.

    hashtag
    Аунтефикация с OAuth2

    • SMTP логин - параметры авторизации.

    • Провайдер OAuth2 - почтовый сервис, через который выполняется OAuth-аутентификация (например, Microsoft/Outlook, Google/Gmail).

    • Идентификатор приложения (Client ID) - уникальный идентификатор приложения, созданного в панели управления выбранного OAuth-провайдера. Используется для того, чтобы провайдер понимал, какое именно приложение запрашивает доступ к почтовому ящику.

    hashtag
    Как подключить?

    В нашей документации приведено несколько примеров подключения для каждого из типов аунтефикации. Ниже Вы можете найти ссылки на эти инструкции.

    • Аутентификация по логину и паролю:

    • Аутентификация oAuth2:

    Настройка Yandex Mail (oAuth2)

    Настройка почты для сервиса Yandex Mail через oAuth2 авторизацию

    hashtag
    Создание приложения в Yandex

    1. Авторизуйтесь в Ваш аккаунт Яндекс и далее перейдите на страницу создания приложенияarrow-up-right. Нажмите "Создать".

    Главная страница приложений Яндекс ID | OAuth
    1. В диалоговом окне выберите опцию "Для атворизации пользователей". Нажмите "Перейти к созданию".

    1. Далее заполните необходимую информацию:

    • Название - произвольное.

    • Иконка сервиса - произвольное изображение.

    • Почта для связи - почта на которую будут приходить уведомления об авторизации.

    Нажмите "Продолжить".

    1. Далее выберите в качестве платформы "Веб-сервисы". В поле "Redirect URl" вставьте следующую ссылку:

    Замените 192.168.100.60 на ip-адрес Вашей станции.

    Нажмите "Продолжить".

    1. Далее на странице "Права доступа к данным пользователей" в разделе "Дополнительные" впишите "smtp" и выберите доступ "Отправка писем через Яндекс.Почту по протоколу SMTP".

    1. На следующей странице нажмите "Всё верно, создать приложение".

    После создания приложения будет выведены ClientID и Client Secret. Далее они понадобятся нам для настройки внутри web-интерфейса MikoPBX.

    hashtag
    Настройки внутри MikoPBX

    1. Перейдите в Web-интерфейс MikoPBX. Далее "Система" -> "Почта и уведомления" -> "Настройки SMTP".

    Заполните все необходимые данные:

    • Адрес отправителя, Имя отправителя - Ваша почта и от какого имени будут отправляться письма.

    • Тип аутентификации - OAuth2.

    • SMTP логин - Ваша почта.

    Все остальные настройки оставьте по умолчанию. Более подробное описание Вы можете найти в главное статье о параметрах почты ().

    После этого нажмите "Сохранить"!

    1. Нажмите "Подключить через OAuth2". Войдите в Ваш аккаунт Яндекс. После авторизации, нажмите "Log in as...".

    1. При успешной авторизации Вы увидите соответствующее окно.

    Изменить имя для авторизации

    При добавлении на АТС нового Сотрудника на АТС заводится учетная запись SIP с числовым внутренним номером. В ряде случаев, в целях безопасности есть необходимость изменить имя для авторизации этого сотрудника.

    При настройке SIP Клиентов часто можно увидеть два ключевых параметра:

    1. Username - обычно равен ID учетной записи, в случае с MikoPBX равен внутреннему номеру

    2. Auth Username - имя пользователя для авторизации. В случае MikoPBX равен внутреннему номеру

    Для изменения имени авторизации:

    1. Откройте учетную запись сотрудника на редактирование

    1. Перейдите к «Расширенным настройкам» → «Дополнительные параметры SIP»

    1. Добавьте следующие строчки:

    Вместо MIKO204 укажите имя для авторизации, желательно использовать и буквы и цифры

    AWS Маркетплейс

    Установка MikoPBX с помощью образа из AWS Маркетплейса

    Авторизуйтесь в сервисе Amazon Web Services https://aws.amazon.comarrow-up-right

    MikoPBX в AWS Маркетплейс: https://aws.amazon.com/marketplace/pp/prodview-ota6fb2tftuhwarrow-up-right

    Приступим к настройке

    circle-info

    Для быстрого и удобного поиска в сервисе Amazon используйте панель поиска

    hashtag
    Создание виртуальной машины

    1. Откройте Services / Compute / EC2 и перейдите в раздел Images / AMI Catalog

    2. На открытой вкладке в поисковой строке введите MikoPBX

    3. В разделе AWS Marketplace AMIs выберите образ , нажав кнопку Select

    1. Введите имя виртуальной машины (Name), например mikopbx-vm

    Если у вас есть ключ SSH, выполните следующее

    1. Укажите SSH ключ в поле Key pair

    Если у вас есть нет ключа SSH, выполните следующее

    1. Выберите Create new key pair и укажите имя пары ключей (Key pair name), например mikopbx_key

    Следуйте дальше по инструкции

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. При необходимости измените размер диска для хранения данных в разделе Configure storage, по умолчанию его размер - 50Гб

    1. В разделе Network settings все необходимые правила Firewall настраиваются автоматически

    1. Для других полей используйте значения по умолчанию

    2. Нажмите кнопку Launch instance

    hashtag
    Запуск АТС MikoPBX

    1. Перейдите к созданной виртуальной машине mikopbx-vm

    2. На открытой вкладке выберите Connect / EC2 serial console, дождитесь полной загрузки системы, пока не отобразятся параметры авторизации

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные в EC2 serial console логин и пароль

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    VMware Fusion

    Установка MikoPBX с помощью VMware Fusion.

    hashtag
    Создание виртуальной машины

    1. Создаем новую виртуальную машину.

    DigitalOcean

    Установка MikoPBX с помощью сервиса DigitalOcean

    triangle-exclamation

    Инструкция актуальна для версии 2024.2.111 и новее!

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

    Перед началом Вам необходимо скопировать ссылку на актуальный образ MikoPBX с расширением .raw. Сделать это можно на .

    Регистрация в маркетплейсе модулей

    Описание процесса регистрации

    hashtag
    Общая информация

    Регистрация в Маркетплейсе MikoPBX не влияет на базовый функционал системы. Вы можете использовать MikoPBX для работы со звонками без регистрации и установки дополнительных модулей. Однако, Мы рекомендуем пройти процедуру регистрации в маркетплейсе для получения возможности расширения функционала системы.

    Регистрация даст вам доступ к дополнительным модулям и расширениям. Есть бесплатные модули, который мы вынесли из базового функционала для упрощения первоначальной настройки, а также платные модули от нас и других разработчиков. Если вы разработчик, то можете связаться с нами, написав на почту [email protected] для получения инструкций о том, как разработать собственный модуль и добавить его в Marketplace.

    Почта и уведомления

    Настройка почты и уведомлений

    Раздел «Почта и уведомления» в MikoPBX позволяет настроить отправку системных уведомлений через электронную почту. Здесь администраторы указывают параметры SMTP-сервера, определяют события для уведомлений, такие как голосовые сообщения или системные ошибки, и редактируют шаблоны писем. Этот раздел помогает своевременно информировать пользователей и администраторов о важных событиях, обеспечивая эффективный контроль за работой системы.

    circle-check

    Настройка уведомлений для почтовых сервисов:

    Мониторинг провайдеров на MikoPBX

    При работе с поставщиками услуг связи периодически могут возникать проблемы. К примеру сервер поставщика не отвечает / не доступен. В рамках данной статьи будет предложен механизм оповещения на email системного администратора.

    circle-check

    Для работы оповещений потребуется настроить SMTP клиент. См. инструкции в разделе «»

    1. Создайте новое «

    Перенос с помощью rsync

    Вариант переноса данных с использованием rsync (предпочтительный)

    В данной статье будет разобран вариант переноса данных на новый хост с помощью rsync. Данный вариант - перенос с использованием генерируемого ключа для ssh-авторизации (предпочтительный). Этот способ является самым надёжным из представленных в разделе, поэтому и является рекомендуемым к использованию.

    Схематично процесс переноса можно изобразить следующим образом:

    hashtag
    Создание файла для хранения скрипта и наполнение его содержимым

    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'friendly-scanner' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'sipcli' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'sip-scan' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'iWar' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'sipvicious' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'sipsak' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'sundayddr' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'VaxSIPUserAgent' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m udp --dport 5060 -m string --string 'friendly-scanner' --algo bm --to 65535 -j DROP
    
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'sipcli' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'sip-scan' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'iWar' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'sipvicious' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'sipsak' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'sundayddr' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'VaxSIPUserAgent' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p tcp -m tcp --dport 5060 -m string --string 'friendly-scanner' --algo bm --to 65535 -j DROP
    iptables -I INPUT 2 -p udp -m state --state NEW -m recent --set --name SipAttacks --mask 255.255.255.255 --rsource -m udp --dport 5060
    iptables -I INPUT 2 -p udp -m state --state NEW -m recent --update --seconds 1 --hitcount 30 --name SipAttacks --mask 255.255.255.255 --rsource -m udp --dport 5060 -j DROP
    iptables -I INPUT 2 -p tcp -m state --state NEW -m recent --set --name SipAttacks --mask 255.255.255.255 --rsource -m tcp --dport 5060
    iptables -I INPUT 2 -p tcp -m state --state NEW -m recent --update --seconds 1 --hitcount 30 --name SipAttacks --mask 255.255.255.255 --rsource -m tcp --dport 5060 -j DROP
    iptables -I INPUT 2 -p tcp -m state --state NEW -m recent --set --name SipAttacks --mask 255.255.255.255 --rsource -m tcp --dport 5061
    iptables -I INPUT 2 -p tcp -m state --state NEW -m recent --update --seconds 1 --hitcount 30 --name SipAttacks --mask 255.255.255.255 --rsource -m tcp --dport 5061 -j DROP
    Github MikoPBXarrow-up-right
    здесь
    этой статье
    этой статье
    Загрузка шаблона из ссылки
    Копирование ссылки на шаблон
    Загрузка шаблона из URL
    Успешная загрузка шаблона
    Кнопка "Create CT" для создания нового контейнера
    Базовые параметры контейнера
    Выбор шаблона для создаваемого контейнера
    Параметры системного диска
    Указание параметров для второго диска
    Указание парметров для третьего диска
    Параметры создаваемого контейнера (CPU)
    Параметры создаваемого контейнера (Memory)
    Параметры создаваемого контейнера (Network)
    Параметры создаваемого контейнера (DNS)
    Итоговая конфигурация контейнера
    Процесс запуска контейнера
    IP-адрес web-интерфейса
    Web-интерфейс MikoPBX
    Скачать/прослушать запись разговора.

    длительности разговора (Длительность) - время голосового приветствия не учитывается.

    Шевченко продолжила разговор с клиентом.
    журнала звонков 1Сarrow-up-right
    Помеченные пропущенные вызовы в журнале
    Прослушивание и скачивание вызовов
    Рашсиренная история вызова
    Отбор по номеру телефона
    Отбор по двум номерам телефона (кто звонил, кому звонил)
    Отбор по дате вызова
    Отбор по linkedid

    OAuth2 - способ аутентификации, при котором Вы не храните и не передаёте пароль от почтового ящика. Вместо этого приложение получает временный токен доступа у почтового провайдера (Microsoft 365/Outlook, Google Workspace/Gmail и т.д.) и использует его при отправке писем через SMTP.

    Тип шифрования:
    • Без шифрования (порт 25) - классический способ подключения к SMTP без защиты канала.

    • STARTTLS (порт 587) - рекомендованный и наиболее распространённый способ отправки почты. Соединение начинается без шифрования, после чего клиент и сервер согласовывают переход на защищённый канал.

    • SSL/TLC (порт 465) - подключение к SMTP с шифрованием с самого начала соединения. Канал защищён сразу после установки TCP-соединения, без этапа переключения.

  • Проверять сертификат сервера - настройка безопасности, которая определяет, будет ли клиент проверять подлинность SSL/TLS-сертификата SMTP-сервера при установке защищённого соединения (STARTTLS или SSL/TLS).

  • Секретный ключ (Client Secret) - конфиденциальный ключ приложения, выданный OAuth-провайдером. Используется вместе с Client ID для подтверждения подлинности приложения при получении и обновлении токенов доступа. Должен храниться в секрете и не передаваться третьим лицам.

  • SMTP хост - адрес почтового сервера.

  • SMTP порт - порт почтового сервера.

  • Тип шифрования:

    • Без шифрования (порт 25) - классический способ подключения к SMTP без защиты канала.

    • STARTTLS (порт 587) - рекомендованный и наиболее распространённый способ отправки почты. Соединение начинается без шифрования, после чего клиент и сервер согласовывают переход на защищённый канал.

    • SSL/TLC (порт 465) - подключение к SMTP с шифрованием с самого начала соединения. Канал защищён сразу после установки TCP-соединения, без этапа переключения.

  • Проверять сертификат сервера - настройка безопасности, которая определяет, будет ли клиент проверять подлинность SSL/TLS-сертификата SMTP-сервера при установке защищённого соединения (STARTTLS или SSL/TLS).

  • Настройка Yandex Mail (Логин, Пароль)chevron-right
    Настройка Mail.ru (Логин, Пароль)chevron-right
    Настройка Proton (Логин, Пароль)chevron-right
    Настройка Gmail (oAuth2)chevron-right
    Настройка Yandex Mail (oAuth2)chevron-right
    Настройка Microsoft Outlook (oAuth2)chevron-right
    Настройки SMTP. Часть 1
    Настройки SMTP. Часть 2
    Настройки SMTP. Часть 3
    Провайдер OAuth2 - Yandex Mail.
  • Идентификатор приложения (Client ID), Секретный ключ (Client Secret) - данные из Yandex (6 пункт из прошлого раздела в этой инструкции).

  • ссылкаarrow-up-right
    Выбор типа приложения в YandexID | OAuth
    Параметры приложения #1
    Параметры приложения. Refirect URl
    Выдача необходимого разрешения
    Подтверждение создания приложения
    ClientID и Client Secret
    Настройки SMTP в Web-интерфейсе MikoPBX
    Раздел "Service login". Авторизация в приложении.
    Успешная авторизация
    Раздел "Сотрудники"
    Расширенные настройки сотрудника
    Дополнительные параметры
    https://192.168.100.60/pbxcore/api/v3/mail-settings/oauth2-callback
    [auth] 
    username = MIKO204
    диск объемом 50+ Гб для хранения записей разговоров
    Нажмите кнопку Создать
  • На вкладке Выбор формата диска выберите формат - VHD

  • диск объемом 50+ Гб для хранения записей разговоров
    Укажите размер диска не менее 50 Гб
  • Наполнение - Пустой

  • Для других полей на вкладке используйте значения по умолчанию

  • Нажмите кнопку Добавить

  • В поле CIDR укажите диапазон адресов, например 172.16.32.0/24
  • Для других полей на вкладке используйте значения по умолчанию

  • Нажмите кнопку Создать

  • инструкцииarrow-up-right
    MikoPBX создание загрузочного диска в Yandex Cloud
    Нажмите кнопку CREATE AND CONTINUE
    диск объемом 50+ Гб для хранения записей разговоров
    MikoPBXarrow-up-right
    На открытой вкладке нажмите кнопку Subscribe now
  • Нажмите кнопку Launch an instance form AMI для создания виртуальной машины

  • диск объемом 50+ Гб для хранения записей разговоров
    MikoPBXarrow-up-right

    После скачивания последней версии образа (ссылкаarrow-up-right), указываем ISO файл с установочным дистрибутивом.

    Нажимаем "Continue"

    1. Выбираем тип операционной системы Other Linux 5.x and later kernel 64-bit

    Нажимаем "Continue"

    1. Выбираем тип биоса Legacy

    Нажимаем "Continue"

    1. Нажимаем "Finish"

    hashtag
    Подключение нового диска

    1. После создания виртуальной машины, дождитесь ее загрузки

    1. Перейдите в раздел "[3] Reboot the system"

    1. Выберите "[2] Shutdown"

    1. После выключения виртуальной машины, перейдите в настройки

    1. Выберите "Add device"

    1. Выберите "New Hard Disk"

    Нажмите "Add..."

    1. Выберите размер жесткого диска(мы рекомендуем не менее 50ГБ)

    Нажмите "Apply"

    circle-info

    1 час записи разговоров занимает примерно 14мб на диске.

    hashtag
    Установка MikoPBX

    1. Запустите виртуальную машину

    1. Выберите пункт "[8] Install"

    1. Введите имя диска, на который будет установлена MikoPBX

    В нашем случае - sdb, введите его название и нажмите Enter

    1. Подтвердите выбор диска: введите y

    1. Выберите диск для записи разговоров

    В нашем случае - sdc, введите его название и нажмите Enter

    1. Система перезагрузится и MikoPBX будет готова к использованию.

    hashtag
    Первое подключение к MikoPBX

    1. В АТС отображается IP адрес станции, по которому к ней можно подключится

    1. Введите IP адрес станции в строку браузера и у вас откроется меню входа в MIkoPBX

    Логин и пароль по умолчанию - "admin"

    hashtag
    Загрузка образа в DigitalOcean
    1. Перейдите в "Manage" -> "Backups & Snapshots"

    Раздел "Backups & Snapshots"
    1. Перейдите в "Custom Images" -> "Import via URL":

    "Import via URL"
    1. Вставьте ссылку на файл образа диска с расширением .raw, скопированную ранее.

    2. Введите имя для образа, выберите регион для его загрузки (должен совпадать с будущим регионом виртуальной машины). В качестве операционной системы образа выберите "Unknown"

    Нажмите "Upload image"

    Параметры образа

    Дождитесь загрузки образа.

    hashtag
    Создание виртуальной машины в облаке

    1. Перейдите на главную страницу DigitalOcean.

    Главная страница DigitalOcean
    1. Для перехода к создаю виртуальной машины, перейдите в "Create" -> "Droplets":

    Создание нового "Droplet"
    1. Выберите регион и датацентр для Вашей виртуальной машины.

    Параметры ВМ #1
    1. Далее выберите ранее загруженный образ и конфигурацию для вашей виртуальной машины:

    Параметры ВМ #2
    1. Перейдите во вкладку "Additional Storage". Здесь необходимо добавить второй диск, который будет использоваться для хранения записей разговоров. Для этого нажмите "Add volume" и укажите параметры для нового диска.

    circle-info

    Рекомендуемый размер диска для хранения записей разговоров - от 50ГБ.

    Раздел "Additional Storage"
    1. Перейдите в раздел "Choose authentication method". Здесь необходимо выбрать "SSH Key" и добавить связку ключей для SSH подключения. Подробнее прочитать про их создание Вы можете в следующих статьях:

    • Windows

    • MacOS/Linux

    Методы авторизации
    1. Нажмите "Create Droplet".

    hashtag
    Подключение к консоли и первый вход в WEB-Интерфейс

    hashtag
    Подключение из консоли Digital Ocean

    1. Перейдите в меню созданной машины. Дождитесь ее запуска. Далее подключитесь с помощью встроенной консоли в DigitalOcean (элемент на скриншоте).

    Консоль в Digital Ocean
    1. После загрузки системы, перейдите в web-интерфейс, используя внешний IP-адрес, указаный в консоли (external).

    external ip-адрес
    1. Вставьте IP-адрес машины в строку браузера. После перехода на страницу авторизации в MikoPBX, используйте следующие данные для входа:

    • Логин - admin

    • Пароль - id Виртуальной машины, найти который Вы можете в адресной строке:

    ID виртуальной машины

    hashtag
    Подключение по SSH

    1. Для подключения по SSH следуйте инструкциям. В данной статье будет пример с использованием powershell (windows).

    circle-exclamation

    Стандартный логин для авторизации по SSH для ВМ в DigitalOcean - do-user.

    1. Перейдите в Powershell и пропишите следующую команду:

    circle-check

    Замените:

    1. C:\Users\<Username>\.ssh\id_ed25519 на путь к Вашему ключу на локальном устройстве

    2. do-user на Ваш root-логин (если Вы его изменяли при созданиии ВМ)

    3. mikopbxadress на IP-адрес вашей станции (IPv4 в интерфейсе управления Виртуальной машиной)

    Команда для SSH подключения

    После нажатия "Enter" произойдет авторизация по SSH и Вы попадете в консольное меню MikoPBX.

    github MikoPBXarrow-up-right
    circle-check

    Сама MikoPBX - бесплатное решение и не требует никакой регистрации. Отсутствие лицензии никак не влияет на звонки. Вы в любой момент можете зарегистрироваться, а также отменить регистрацию в Marketplace.

    Для начала регистрации в маркетплейсе вам необходимо перейти во вкладку "Модули" -> "Маркетплейс модулей":

    Раздел "Модули" -> "Маркетплейс модулей"

    В случае, если у Вас не выполнена регистрация в Маркетплейсе, раздел будет выглядеть вот так:

    Раздел Маркетплейса, в случае, если не выполнена регистрация

    hashtag
    Процесс регистрации

    circle-exclamation

    В случае переноса MikoPBX на другой хост или восстановлении из бекапа, необходимо выполнить сброс привязок лицензий на модули в личном кабинете lm.mikopbx.com

    circle-info

    При регистрации выдается 1 ключ на компанию. Это значит, что если Вы используйте несколько станций MikoPBX в своей компании - вам достаточно будет одной регистрации.

    Нажмите синюю кнопку "Регистрация в маркетплейсе" для начала регистрации:

    Кнопка "Регистрация в маркетплейсе" в разделе "Модули" -> "Маркетплейс"

    Лицензионный ключ используется для хранения всех ваших лицензий от любых продуктов МИКО. Если у вас уже есть ключ, вы можете просто вписать его в одноименное поле. Если ключ у вас был, но вы его забыли, вы можете поискать письмо в вашей электронной почте входящие письма по адресу [email protected]

    Лицензионный ключ

    Получить новый ключ можно автоматически, заполнив регистрационную форму ниже:

    • Название организации - введите имя вашей компании/организации.

    • Адрес электронной почты контактного лица - введите адрес электронной почты вышей компании/организации.

    • Контактное лицо - введите данные контактного лица.

    • Телефон контактного лица (необязательно).

    • Уникальный идентификатор компании (ИНН, ИИН, УНП и т.д.) (необязательно).

    Нажмите "Зарегистрироваться"

    Регистрационная форма для маркетплейса

    В случае успешной регистрации, вы увидите следующий экран:

    • Уведомление об успешной регистрации системы.

    • Наведите курсор на поле с лицензионным ключом, если вам необходимо его увидеть или скопировать. По умолчанию значение ключа размыто.

    Успешная регистрация в маркетплейсе

    hashtag
    Управление лицензией

    Для управления лицензией перейдите в раздел Маркетплейс -> Управление лицензией. Нажмите на одноименный элемент:

    Элемент "Управление лицензией"

    Вы попадете на сайт SaaS сервер лицензированияarrow-up-right:

    Страница "SaaS сервер лицензирования"

    Для управления лицензией введите ваш лицензионный ключ в поле "Введите ваш лицензионный ключ или активированный ранее купон":

    Нажмите "Login"

    Введённый лицензионный ключ

    Вы попадете в систему, где находятся 9 секций:

    Система SaaS

    Перейдите в раздел "Монитор сессий":

    Раздел "Монитор сессий"

    Слева для каждой привязки в колонке Информация есть кнопка i, которая позволяет посмотреть подробную информацию о хосте, к которому привязана лицензия.

    Информация о хосте

    Для каждой привязки в колонке "Действие" есть кнопка "Сброс", которая позволяет сбросить активную привязку лицензии от хоста.

    Сброс лицензии на хосте.

    hashtag
    Возможные проблемы

    hashtag
    Проблема при регистрации в Маркетплейсе

    При регистрации может возникать проблема отсутствии у MikoPBX связи с интернетом, а именно с отсутствием связи с серверами lic.miko.ru и lic.mikopbx.com по порту 443(https)

    Решение: проверить доступ к станции из интернета, проверить настройки firewall и общего доступа к вышеупомянутым ресурсам.

    hashtag
    Иконка перечеркнутого ключа

    MikoPBX переодически обращается к серверам лицензирования для проверки установленных модулей. Если лицензия на модуль недоступна, то он будет отключен, а рядом с названием модуля появится соответствующая иконка в виде перечеркнутого ключа.

    Gmail

  • Yandex

  • Mail.ru

  • hashtag
    Подключение к SMTP серверу

    Для получения уведомлений о пропущенных вызовах и сообщениях голосовой почты по электронной почте необходимо настроить SMTP-клиент. SMTP (Simple Mail Transfer Protocol) используется для отправки электронной почты через Интернет. SMTP-клиенты взаимодействуют с SMTP сервером, который отправляет электронную почту.

    Раздел "Почта и уведомления" в MikoPBX

    hashtag
    Общие настройки

    • SMTP хост - адрес почтового сервера

    • SMTP порт - порт почтового сервера

    • SMTP логин, SMTP пароль - параметры авторизации

    • Адрес отправителя - от имени этого адреса будут отправляться электронные письма

    • Email системного администратора - на этот электронный адрес будут отправляться все системные уведомления, к примеру о нехватке места на диске. При изменении и сохранении настроек на этот адрес будет отправлено тестовое письмо

    • Использовать TLS - активирует использование шифрования при подключении к серверу, для подключения по SSL, необходимо к адресу сервера добавить описание протокола

    • Проверять сертификат сервера - в ряде случаев необходимо отключить, при использовании самоподписанных сертификатов

    • Использовать оповещения - позволяет включить / отключить все оповещения на email, включая голосовую почту

    circle-exclamation

    Если сервер поддерживает защищенное соединение только по SSL, то можно явно указать протокол в поле «SMTP хост», к примеру

    hashtag
    Оповещения о пропущенных

    Существует возможность настроить адрес и шаблон оповещения о пропущенных вызовах:

    Раздел "Шаблон - пропущенные вызовы"
    • Email для уведомлений о пропущенных - по умолчанию, уведомления о пропущенных отправляются на email, указанный в карточке сотрудника. Если вызов не удается сопоставить с сотрудником или email не указан, то вызов будет направлен на этот «общий» адрес

    • Тема, текст, подвал письма могут содержать параметры в виде ИМЯ_ПАРАМЕТРА

    Список доступных «параметров»:

    • NOTIFICATION_MISSEDCAUSE - на текущий момент всегда принимает значение «NOANSWER», т.е. пропущенный вызов

    • NOTIFICATION_CALLERID - от кого был вызов

    • NOTIFICATION_TO - кому был вызов

    • NOTIFICATION_DURATION - длительность в секундах

    • NOTIFICATION_DATE - дата вызова

    hashtag
    Голосовая почта

    Существует возможность настроить адрес и шаблон оповещения о голосовой почте:

    Раздел "Шаблон - голосовая почта"
    • Голосовая почта будет отправлена каждому сотруднику, кто пропустил вызов (если email указан в его карточке).

    • Голосовая почта всегда будет отправлена на «Единый Email для отправки сообщений голосовой почты»

    • Прослушать запись голосовой почты возможно из истории звонковarrow-up-right АТС

    В теме, теле и подвале email можно использовать следующие «параметры»:

    • VM_DATE - дата и время

    • VM_CALLERID - callerid звонящего, состоит из name и num, пример «Alexey Portnov» <101>

    • VM_DUR - длительность сообщения

    • VM_CALLER_NAME - имя звонящего (берется из VM_CALLERID)

    • VM_CALLER_NUM - номер телефона звонящего (берется из VM_CALLERID)

    Чтобы указать параметр, нужно использовать конструкцию вида ИМЯ_ПАРАМЕТРА.

    Нажмите Сохранить для завершения настройки.

    ».
    Создание нового приложения диалплана
    1. Укажите название - например, Provider Monitoring, короткий номер для приложения, к примеру 99, а так жу выберите «Тип кода» - «PHP AGI Скрипт»

    Параметры диалплана
    1. Перейдите во вкладку "Программный код":

    Раздел "Программный код"
    1. Вставьте код:

    1. Сохраните изменения и скопируйте идентификатор приложения из адресной строки браузера, он имеет вид «DIALPLAN-APP-9С060381»

    Идентификатор приложения диалплана
    1. Перейдите в раздел Система → Кастомизация системных файлов, откройте для редактирования файл /var/spool/cron/crontabs/root

    Необходимый файл для редактирования
    1. Выберите режим «Добавлять в конец файла», внизу в черное поле для редактирования вставьте следующий код:

    circle-info

    Скорректируйте имя файла согласно вашему идентификатору приложения «DIALPLAN-APP-9С060381»

    Сохраните изменения.

    Готово!

    Почта и уведомления
    Приложение диалплан
    а

    Для начала нам необходимо установить SSH соединение с новой MikoPBX. Прочитать как сделать это, можно в этой статье.

    Успешное SSH соединение с новой MikoPBX
    1. Далее переходим в консоль ([9] Console). Первым делом необходимо создать директорию для хранения файла со скриптом. Используйте следующую команду:

    1. Перейдите в созданную директорию:

    1. Создадим файл "transfer-rsync.sh" для хранения скрипта:

    Выполнение команд для создания файла
    1. Далее необходимо заполнить файл содержимым (скриптом). Ознакомиться с ним Вы можете по ссылкеarrow-up-right.

    hashtag
    Запуск и работа со скриптом

    1. На данном этапе необходимо сделать файл исполняемым. Для этого используйте следующую команду:

    1. Запустите скрипт, используя команду:

    1. Для начала будет предложено ввести необходимые данные о вашей старой станции MikoPBX:

    • IP-адрес вашей старой станции

    • Имя для ssh-авторизации

    • Порт для ssh-авторизации

    Ввод необходимых данных
    1. Далее будет предложено сгенерировать новый ключ. В случае, если ранее вы этого не делали, введите "y" для подтверждения. Если ранее вы уже генерировали ключ для доступа ко второй MikoPBX - введите "n":

    Генерация нового ключа
    1. Будет создан новый ключ. Вам необходимо скопировать его и вставить в web-Интерфейсе старой MikoPBX. Сделать это нужно в разделе "Общие настройки" -> "SSH" -> Поле "SSH Authorized keys"

    Сгенерированный ключ ssh
    Вставленный ключ
    1. После того, как вы сохранили ключ на старой MikoPBX, подождите несколько секунд и нажмите любую клавишу для продолжения выполнения скрипта.

    Будет произведен перенос всех данных на новый хост. Это может занять некоторое время.

    triangle-exclamation

    После переноса обязательно проверяйте целостность всех данных, перед тем, как сбрасывать старую MikoPBX!

    Успешный перенос
    Схема переноса данных
    Главная страница UTM. Создание новой виртуальной машины.
    Выбор типа виртуальной машины
    Выбор типа операционной системы
    Выбор файла образа диска для виртуальной машины
    Конфигурация ВМ
    Указание размера системного диска
    Раздел "Shared Directory"
    Итоговая конфигурация
    Настройки ВМ
    Раздел "Drives"
    Создание второго диска
    Запуск ВМ
    MikoPBX в режиме LiveCD
    Выбор диска для установки системы
    Подтверждение выбора диска
    Выбор диска для хранения записей разговоров
    IP-адрес MikoPBX
    Web-интерфейс MikoPBX

    VMware ESXi

    Установка MikoPBX с помощью VMware ESXi.

    hashtag
    Создание виртуальной машины

    1. Создаём новую виртуальную машину

    2. Указываем Имя, Тип и Версию виртуальной машины, как показано на изображении ниже.

    1. Выбираем хранилище для создания.

    2. Для данной виртуальной машины выделяем объём оперативной памяти 1024 Мб. Создаём новый виртуальный жёсткий диск для основной системы размером 1024 Мб.

    1. Выбираем тип контроллера SCSI и тип адаптера, как на изображении ниже

    1. Выбираем BIOS в качестве Firmware.

    1. Проверяем и сохраняем изменения.

    hashtag
    Настройки виртуальной машины

    1. Перейдём к настройкам созданной виртуальной машины. Создайте новый жесткий диск для хранения записей разговоров.

    circle-exclamation

    Для такого диска, мы рекомендуем указывать размер не менее, чем 50 ГБ

    1. Переходим на вкладку носителей CD/DVD Drive. Загружаем iso-образ для установки. Ставим галочку слева от пункта "Connect as power on"

    hashtag
    Установка MikoPBX

    1. Запустите созданную виртуальную машину.

    2. Откроется командный интерфейс АТС. АТС начнет загружаться.

      На данном этапе MikoPBX загружается с оптического диска, на который записан ISO-образ. На это нам указывает строчка: "The system is loaded in Recovery mode".

    circle-info

    Перемещаться по пунктам меню можно .

    Выбрать пункт меню - клавиша Enter.

    Также можно выбирать пункт меню нажав на соответствующую пункту цифру.

    1. Переключите язык интерфейса на русский. Для этого выполните Change Language -> Русский. Меню примет вид:

    1. Произведите установку MikoPBX.

    triangle-exclamation

    Все данные на диске, куда устанавливается MikoPBX, будут потеряны.

    Нажмите Выполнить установку.

    1. Отобразится информация о всех доступных дисках (в данном примере: sdb, sdc).

    1. Введите с клавиатуры имя диска, который вы подразумевали под "системный", в текущем случае sdb и нажмите Enter (Если он выбран по умолчанию можно просто нажать Enter).

    2. Система запросит подтверждение. Введите - y и нажмите Enter.

    1. После выполнения установки будет предложено выбрать диск для хранения записей разговоров.

    circle-info

    Ориентировочно, 1 час разговора занимает 14Мб места на диске.

    Введите имя диска (в данном примере - единственный доступный диск sdc) и нажмите Enter.

    1. После завершения установки система перезагрузится.

    Теперь MikoPBX будет запускаться с диска sdb, на который вы ее установили. Увидим, что строчка «The system is loaded in Recovery mode» отсутствует.

    На этом установка MikoPBX завершена.

    hashtag
    Первый вход в MikoPBX

    Для того, чтобы открыть панель управления вам надо вбить в строку браузера IP-адрес вашей виртуальной машины.

    Логин и пароль по умолчанию - admin

    На этом установка MikoPBX на завершена.

    Произвольный образ

    Установка в Yandex cloud произвольного образа MikoPBX

    Для начала зарегистрируйтесь в сервисе Yandex Cloudarrow-up-right.

    Приступим к настройке

    hashtag
    Создание виртуальной машины

    1. Откройте Все сервисы / Инфраструктура и сеть / Compute Cloud

    2. Перейдите в раздел Виртуальные машины

    3. На вкладке выберите Создать ВМ

    4. Введите имя виртуальной машины, например vm-mikopbx

    5. Укажите зону доступности

    1. Укажите параметры вычислительных ресурсов виртуальной машины, исходя из ожидаемой нагрузки на АТС и вашего бюджета. Для тестовой машины можно указать Гарантированная доля vCPU - 20%, RAM - 1 Гб

    hashtag
    Загрузка АТС MikoPBX из произвольного образа

    Перед созданием виртуальной машины необходимо предварительно загрузить образ MikoPBX в облачное хранилище

    1. Откройте Все сервисы / Инфраструктура и сеть / Object Storage

    2. На вкладке Object Storage выберите Создать бакет

    3. Введите имя нового бакета, например mikopbx-imgs

    1. Откройте созданный бакет mikopbx-imgs

    2. На открывшейся вкладке выберите Загрузить объекты

    3. Выберите файл из дистрибутива MikoPBX с расширением .raw

    1. После завершения загрузки откройте загруженный объект

    2. Выберите Получить ссылку и скопируйте ссылку на образ

    3. Откройте Все сервисы / Инфраструктура и сеть / Compute Cloud

    Вернемся к выбору образа на вкладке Все сервисы / Инфраструктура и сеть / Compute Cloud / Виртуальные машины

    1. В разделе Выбор образа/загрузочного диска выберите Свой образ / Выбрать / Наполнение - Образ / mikopbx-img

    2. В разделе Диски и файловые хранилища скорректируйте размер загрузочного диска до 1 Гб

    hashtag
    Настройка дисков

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. В разделе Диски и файловые хранилища выберите Добавить диск

    2. На открытой вкладке введите имя диска для хранения данных, например storage-mikopbx

    3. Укажите тип диска HDD

    hashtag
    Настройка сети

    1. В разделе Сетевые настройки выберите существующую или создайте новую облачную сеть

    2. В поле Подсеть в выпадающем меню выберите Добавить подсеть

    3. На открытой вкладке введите имя подсети, например local-mikopbx

    1. Публичный адрес и Внутренний IPv4-адрес оставьте в положении Автоматически

    hashtag
    Настройка параметров SSH

    1. В разделе Доступ укажите Сервисный аккаунт

    2. Введите Логин и SSH-ключ, предварительно сгенерированный по

    3. В разделе Дополнительные настройки установите флажок Разрешить доступ к серийной консоли

    1. Завершив ввод значений, нажмите кнопку Создать ВМ

    hashtag
    Запуск АТС MikoPBX

    1. Дождитесь запуска созданной виртуальной машины, обычно первый запуск занимает 6-8 минут. Статус Running, еще не означает что система полностью развернулась

    2. Откройте созданную виртуальную машину и перейдите в раздел Серийная консоль

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные во вкладке Серийная консоль логин и пароль

    Microsoft Azure

    Установка MikoPBX с помощью Microsoft Azure.

    Для начала авторизуйтесь на портале Microsoft Azure https://portal.azure.com/arrow-up-right

    Приступим к настройке

    circle-info

    Для быстрого и удобного поиска на портале Azure используйте панель поиска

    hashtag
    Создание группы ресурсов

    1. Откройте Меню / Все службы / Общие / Группы ресурсов

    2. На вкладке Группы ресурсов выберите Создать

    3. Введите имя группы, например MikoPBX_group

    hashtag
    Создание учетной записи хранения

    1. Откройте Меню / Все службы / Интернет вещей / Учетные записи хранения

    2. На вкладке Учетные записи хранения выберите Создать

    3. Укажите созданную группу ресурсов MikoPBX_group

    hashtag
    Настройка созданной учетной записи хранения

    1. Перейдите к карточке созданной учетной записи хранения pbximgs

    2. На открытой вкладке перейдите в меню Хранилище данных / Контейнеры

    3. Добавьте новый контейнер

    1. Откройте созданный контейнер imgs

    2. На открывшейся вкладке выберите Отправка

    3. Выберите файл из дистрибутива MikoPBX с расширением .vhd

    hashtag
    Создание образа

    1. Откройте Меню / Все службы / Вычисление / Образы

    2. На вкладке Образы выберите Создать, создадим новый образ на основе загруженного *.vhd файла

    3. Укажите группу ресурсов MikoPBX_group

    1. Укажите тип ОС - Linux

    2. Укажите поколение виртуальных машин - Поколение 1

    3. Выберите BLOB-объект хранилища по ссылке Обзор, Обзор / pbximgs / imgs / *.vhd

    hashtag
    Создание виртуальной машины

    1. Откройте Меню / Все службы / Вычисление / Виртуальные машины

    2. На вкладке Виртуальные машины выберите Создать / Виртуальная машина Azure

    3. Укажите группу ресурсов MikoPBX_group

    1. Выберите созданный ранее образ, Посмотреть все образы / Другие элементы / Мои изображения / MikoPBX_Azure

    2. Укажите размер машины (совокупность параметров ЦП / ОЗУ не менее 1Гб / HDD)

    1. Укажите имя пользователя для учетной записи администратора

    Если у вас есть ключ SSH, выполните следующее

    1. Выберите источник открытого ключа SSH - Использовать существующий открытый ключ

    2. Укажите его в поле открытый ключ SSH

    Если у вас есть нет ключа SSH, выполните следующее

    1. Выберите источник открытого ключа SSH - Создать новую пару ключей

    2. Укажите имя пары ключей, например mikopbx_key

    Следуйте дальше по инструкции

    1. В поле тип лицензии укажите Другое

    2. Для других полей используйте значения по умолчанию

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. Перейдите на вкладку Диски

    2. Укажите тип диска ОС

    3. Установите флажок Удалить с виртуальной машиной

    1. Создайте новый диск данных

    2. Укажите размер диска не менее 50Гб

    3. Для других полей используйте значения по умолчанию, нажмите кнопку ОК

    1. Завершив ввод значений, нажмите кнопку Просмотр и создание, затем кнопку Создать

    hashtag
    Настройка портов для входящих соединений

    1. Откройте созданную виртуальную машину и перейдите в раздел Сетевые подключения / Параметры сети / Правила

    2. На вкладке выберите Создание правила для порта / Правило входящего порта

    3. Укажите диапазоны портов назначения - 0 - 65535

    1. Укажите имя, например TCP

    2. Для других полей используйте значения по умолчанию

    3. Завершив ввод значений, нажмите кнопку Добавить

    1. Аналогично создайте правило для UDP. Укажите диапазоны портов назначения - 0 - 65535, протокол UDP и имя

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    hashtag
    Запуск АТС MikoPBX

    1. Откройте созданную виртуальную машину и перейдите в раздел Подключение

    2. В выпадающем меню Дополнительные способы подключения выберите Серийная консоль

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные во вкладке Последовательная консоль логин и пароль

    Управление модулями

    Подключение, настройка и управление модулями

    Дополнительные модули позволяют расширить возможности функционала основной системы. В данной инструкции вы сможете найти информацию про управление модулями, а так же про установку приложений с помощью встроенного Marketplace.

    circle-info

    Для использования платных и бесплатных модулей, необходимо зарегистрировать копию MikoPBX и бесплатно получить лицензионный ключ. Инструкцию по тому, как это сделать - вы можете найти здесь.

    Подробные инструкции по настройке и эксплуатации каждого модуля вы можете найти здесь.

    Найти раздел Управления модулями вы можете в "Модули" -> "Маркетплейс модулей".

    hashtag
    Установленные модули

    В данном разделе происходит основное управление модулями: их подключение, настройка, а так же загрузка своих, "кастомных" модулей. Документацию по разработке своих модулей вы можете найти .

    Все установленные модули находятся в списке, в одноимённой вкладке:

    Есть возможность загрузить свой модуль, используя кнопку "Загрузить новый модуль". Необходимо загружать файлы .zip. После загрузки модуль появится в списке на вкладке "Установленные модули"

    Так же есть возможность перейти в настройки любого модуля для дальнейшей его конфигурации:

    Помимо этого, можно включить/отключить модуль.

    Из интерфейса установленного модуля можно быстро перейти к его документации, нажав на знак вопроса справа от короткого описания модуля:

    hashtag
    Быстрый доступ к модулю

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

    Для того, чтобы это сделать - выполните дальнейшую инструкцию:

    1. Перейдите в настройки модуля, который Вы хотите вывести в боковое меню, нажав на элемент редактирования справа от версии модуля:

    1. Нажмите на значок настроек справа от статуса состояния модуля для перехода к настройкам отображения модуля в боковом меню:

    1. В данном разделе вы можете:

    • Переключить отображение модуля в боковом меню - "Показывать модуль в боковом меню".

    • Выбрать раздел в котором он будет отображаться - в примере выбран раздел "Модули".

    • Так же можно указать произвольное название модуля.

    После завершения настройки - нажмите "Сохранить".

    hashtag
    Маркетплейс модулей

    В данном разделе вы можете установить модули от MIKO, а так же от производителей-партнеров.

    Напротив каждого модуля есть кнопка для его скачивания и установки. Так же здесь отображена базовая информация по модулю с коротким описанием каждого модуля.

    Слева от названия модуля вы можете найти значок, по которому можно понять платный ли он или бесплатный. Например, на изображении выше модуль "REST API Автоинформатор" - платный, а модуль "Генератор SSL сертификатов через Let's Encrypt" - бесплатный.

    circle-info

    У каждого платного модуля есть испытательный период - 2 недели. За этот период вы можете попробовать функционал модуля и принять решение о покупке. Для покупки модуля - напишите на почту [email protected]

    hashtag
    Карточка модуля

    Существует возможность перейти в карточку модуля, нажав на его название в интерфейсе маркетплейса.

    Здесь вы можете найти версию актуального релиза, информацию про разработчика, платный ли модуль или бесплатный. Тут же находятся 3 раздела:

    hashtag
    Описание модуля

    Здесь вы можете найти изображения про функционал и настройки модуля. Помимо этого - базовое описание модуля, а так же раздел "Полезные ссылки", где располагается ссылка на подробную документацию по настройке и эксплуатации модуля.

    hashtag
    История версий

    В данном разделе вы можете найти историю версий модуля, с подробным описанием изменений, а также минимально совместимой версии MikoPBX для корректной его работы. Так же вы можете установить конкретную версию модуля, нажав на синий элемент под общим ее описанием.

    hashtag
    Лицензионное соглашение

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

    hashtag
    Активация купонов

    В случае покупки модуля, вам будет выдан купон. Для его активации перейдите в Модули -> Маркетплейс модулей:

    Далее перейдите в раздел "Управление лицензией"

    В поле "Активация купона" введите ваш купон, далее нажмите "Активировать купон"

    circle-info

    Ключ защиты всегда начинается с MIKO-. Купон для изменения состава продуктов всегда начинается с MIKOUPD-

    Установка с записью образа на USB-носитель (Live USB)

    Установка системы с помощью записи образа на USB-носитель

    hashtag
    Запись образа на USB-носитель

    hashtag
    Windows

    Установка системы на USB носитель (Bootable USB)

    Установка системы на USB-носитель

    Перед началом загрузите образ диска с расширением .raw. Сделать это можно .

    hashtag
    Установка системы на USB-носитель

    hashtag

    VMware Workstation Pro

    Установка MikoPBX с помощью VMware Workstation Pro

    В текущей инструкции будет описан процесс создания и настройки виртуальной машины в VMware Workstation Pro, а так же процесс установки MikoPBX.

    Скачать установщик VMware Workstation Pro можно .

    circle-exclamation

    Используйте для установки на VMware Workstation Pro версии АТС MikoPBX отличные от 2024.1.114

    Версия 2024.1.114 временно не поддерживает установку с помощью VMware Workstation Pro!

    VK Cloud

    Установка MikoPBX с помощью VK Cloud

    Для начала авторизуйтесь на сайте

    Приступим к настройке

    hashtag
    Добавление локальной подсети

    Запуск MikoPBX в контейнере

    Установка MikoPBX в Docker контейнер

    Для работы с MikoPBX в контейнере необходимо установить docker и docker compose, а также создать пользователя и папки для хранения настроек конфигурации и записей разговоров по инструкции

    hashtag
    Запуск контейнера Docker

    Для запуска контейнера с вашим приложением воспользуйтесь следующими командами:

    Исходящие маршруты

    Описание и настройка исходящей маршрутизации

    Исходящие маршруты в MikoPBX — это набор правил и настроек, определяющих, как система обрабатывает исходящие звонки от сотрудников к внешним номерам. С их помощью администраторы могут управлять направлением вызовов через различные провайдеры телефонии или линии связи в зависимости от определенных условий, таких как набранный номер, префиксы, время суток или права доступа пользователя. Это позволяет оптимизировать затраты на связь, распределять нагрузку между каналами и применять политики безопасности, ограничивая или разрешая определенные типы вызовов. Настройка исходящих маршрутов обеспечивает гибкость и контроль над исходящей телефонной связью, способствуя эффективной работе коммуникационной системы компании.

    В данной статье Вы найдете подробную документацию по настройке исходящей маршрутизации.

    Вы можете создавать неограниченное количество правил исходящей маршрутизации. Для одного провайдера можно создать несколько правил.

    Диагностика системы

    Описание функций раздела

    Раздел «Диагностика системы» в MikoPBX — это инструмент для мониторинга и анализа состояния телефонной системы. Использование этого раздела помогает своевременно обнаруживать и устранять технические проблемы, обеспечивая стабильную и эффективную работу MikoPBX.

    Расположение раздела: "Обслуживание" -> "Системные логи"

    Содержит 3 вкладки: просмотр логов, информация о системе, захват сетевых пакетов. Далее в статье будет подробно разобрана каждая из них.

    Сетевые интерфейсы

    Описание и настройка сетевых интерфейсов

    Раздел «Сетевые интерфейсы» в MikoPBX — это интерфейс для настройки параметров сетевых подключений системы. Здесь администраторы могут управлять IP-адресами, масками подсети, шлюзами и другими сетевыми настройками для каждого сетевого интерфейса. Это позволяет корректно интегрировать MikoPBX в сеть организации и обеспечить ее стабильную работу в соответствии с требованиями сетевой инфраструктуры.

    Раздел находится в "Сеть и Firewall" -> "Сетевые интерфейсы":

    hashtag
    Параметры

    Настройка Microsoft Outlook (oAuth2)

    Настройка почты для сервиса Outlook (outlook.com; hotmail.com)

    hashtag
    Настройки внутри Microsoft Entra

    hashtag
    Регистрация приложения

    Настройка Gmail (oAuth2)

    Настройка почты для сервиса gmail

    circle-info

    Для настройки OAuth 2.0 в Google требуется использовать URL-адрес станции. Самый простой способ — создать DNS-запись на локальном сервере или добавить соответствие IP-адреса и доменного имени в файл hosts на устройстве, с которого выполняется настройка.

    hashtag

    Доступ к AMI

    Настройка доступа к AMI

    Asterisk Manager Interface (AMI) - мощный и удобный программный интерфейс (API) Asterisk для управления системой из внешних программ. Благодаря AMI внешние программы могут осуществлять соединения с Asterisk посредством TCP протокола, инициировать выполнение команд, считывать результат их выполнения, а так же получать уведомления о происходящих событиях в реальном времени. AMI часто используют для интеграции с бизнес-процессами и системами, программным обеспечением CRM (Customer Relationship Managment — управление взаимодействия с клиентами). Управление Asterisk часто осуществляется из консоли CLI, но при использовании AMI не требуется прямой доступ к серверу, на котором запущен Asterisk. AMI — это наиболее простой инструмент, который в руках разработчика может оказаться очень мощным и гибким средством для интеграции с другими программными продуктами. Он дает возможность разработчикам использовать информацию, генерируемую Asterisk, в реальном масштабе времени.

    Первое что необходимо сделать, это включить AMI и завести пользователя, с помощью которого клиентская программа будет аутентифицироваться. «Система» - «Доступ к AMI»

    Для добавления новой учетной записи необходимо указать Имя пользователя и Пароль

    ssh -i C:\Users\<Username>\.ssh\id_ed25519 do-user@mikopbxipadress
    ssl://smtp.gmail.com
    <?php
    use MikoPBX\Common\Models\PbxSettings;
    use MikoPBX\Common\Models\LanInterfaces;
    use MikoPBX\Core\System\Notifications;
    use MikoPBX\PBXCoreREST\Lib\SIPStackProcessor;
    
    require_once 'Globals.php';
    
    $result = SIPStackProcessor::callBack(['action' => 'getRegistry']);
    $adminMail = null;
    $localIP = '';
    $message = '';
    foreach ($result->data as $provider) {
        if ($provider['state'] !== 'OFF' && $provider['state'] !== 'REGISTERED') {
            if ($adminMail === null) {
                $adminMail = PbxSettings::getValueByKey('SystemNotificationsEmail');
                $interfaces = LanInterfaces::find("disabled='0'");
                foreach ($interfaces as $interface) {
                    if (!empty($interface->ipaddr)) {
                        $localIP = $interface->ipaddr;
                        break;
                    }
                }
            }
            $message .= "Provider state: {$provider['state']}<br>" . "Url (local): ']} <br><br>";
        }
    }
    
    if (!empty($message) && !empty($adminMail)) {
        $notify = new Notifications();
        try {
            $notify->sendMail($adminMail, 'Provider invalid state...', $message);
        } catch (\Throwable $e) {
        }
    }
    */5 * * * * /usr/bin/php -f /var/lib/asterisk/agi-bin/DIALPLAN-APP-9С060381.php start > /dev/null 2> /dev/null 
    mkdir -p /storage/usbdisk1/transfer
    cd /storage/usbdisk1/transfer
    touch transfer-rsync.sh
    curl -o /storage/usbdisk1/transfer/transfer-rsync.sh https://gist.githubusercontent.com/excla1mmm/c9891306b459cac0c7ea3c785ab0936e/raw/ec57ab60ee48112b4a16635e7b47955e5a044513/transfer-rsync.sh
    chmod +x transfer-rsync.sh
    ./transfer-rsync.sh
    клавишами управления курсоромarrow-up-right
    буквенно-цифровом блоке клавиатурыarrow-up-right
    Имя, Тип и Версия виртуальной машины
    Размер оперативной памяти и памяти для системного жесткого диска
    Тип контроллера и тип адаптера
    Раздел "Boot options"
    Загрузка образа системы
    IP-адрес MikoPBX
    Окно входа в веб-интерфейс
    Для других полей используйте значения по умолчанию
  • Завершив ввод значений, нажмите кнопку Просмотр и создание, затем кнопку Создать

  • Введите имя учетной записи, например pbximgs
  • Для других полей используйте значения по умолчанию

  • Завершив ввод значений, нажмите кнопку Проверка, затем кнопку Создать

  • Введите имя контейнера, например imgs
  • Нажмите кнопку Создать

  • Нажмите кнопку Отправка

    Введите уникальное имя для образа, например MikoPBX_Azure

    Укажите тип учетной записи - HDD (цен. категория "Стандартный")
  • Для других полей используйте значения по умолчанию

  • Завершив ввод значений, нажмите кнопку Просмотр и создание, затем кнопку Создать

  • Введите имя виртуальной машины, например MikoPBX-vm
    диск объемом 50+ Гб для хранения записей разговоров
    Выберите протокол TCP
    здесьarrow-up-right
    Раздел "Маркетплейс модулей"
    Все установленные модули
    Кнопка "Загрузить новый модуль"
    Переход в настройки модуля
    Включение/отключение модуля
    Быстрый переход к документации по модулю
    Модули в быстром доступе
    Переход в настройки модуля
    Параметры модуля
    Параметры отображения модуля в боковом меню
    Раздел "Маркетплейс"
    Кнопка для установки модуля
    Карточка модуля
    Раздел "История версий"
    Раздел "Модули" -> "Маркетплейс модулей"
    Активация купона
    Укажите макс. размер 1 Гб
  • Для других полей используйте значения по умолчанию

  • Завершив ввод значений, нажмите кнопку Создать бакет

  • Нажмите кнопку Загрузить
    Перейдите в раздел Образы
  • На вкладке выберите Загрузить образ

  • Введите имя образа, например mikopbx-img

  • В поле Ссылка на образ в Object Storage укажите скопированную ранее ссылку на образ АТС

  • Нажмите кнопку Загрузить

  • диск объемом 50+ Гб для хранения записей разговоров
    Укажите размер диска не менее 50 Гб
  • Наполнение - Пустой

  • Для других полей на вкладке используйте значения по умолчанию

  • Нажмите кнопку Добавить

  • В поле CIDR укажите диапазон адресов, например 172.16.32.0/24
  • Для других полей на вкладке используйте значения по умолчанию

  • Нажмите кнопку Создать

  • инструкцииarrow-up-right
    Перед началом процесса, отформатируйте Ваш носитель со следующими параметрами:
    • File system - FAT32

    • Allocation unit size - 8192 bytes

    Форматирование диска

    Для записи образа будет использована утилита Rufus. Скачать ее можно по ссылкеarrow-up-right.

    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    Утилита Rufus
    1. После установки утилиты, перейдите в ее интерфейс. В разделе "Device" выберите Ваш носитель, нажмите SELECT и выберите ранее загруженный .iso образarrow-up-right. Начнется его проверка.

    Выбранный образ и носитель
    1. После окончания проверки, установите следующие параметры и нажмите "START":

    • File system - FAT32

    • Cluster size - 8192 Bytes

    • Quick format - отмечено

    • Create extended label and icon files - убрать галочку

    Начало записи образа
    1. После этого, во всплывающем окне выберите "Write in DD Image mode". Нажмите "OK".

    Параметр "Write in DD image mode"
    1. Во всплывающем предупреждении, о том, что все данные на диске будут удалены, нажмите "ОК".

    Подтверждение форматирования диска

    Дождитесь окончания записи образа. По его завершении, Вы увидите надпись "READY". Далее перейдите к разделу "Установка системы".

    Успешная запись образа на USB-носитель

    hashtag
    MacOS

    1. Подключите Ваш usb-носитель и откройте Terminal.

    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    1. Выполните команду:

    Будет отображена информация про все подключенные диски. Нас интересует диск с маркировкой (external, physical). В нашем случае это disk4, в Вашем случае номер может быть другим. Используйте его номер для выполнения дальнейших шагов в этой инструкции.

    Список дисков
    1. Далее необходимо отформатировать USB носитель. Для этого используйте команду:

    triangle-exclamation

    Все данные на диске будут удалены! Еще раз проверьте название диска который Вы форматируете!

    Для подтверждения введите пароль администратора, дождитесь окончания форматирования.

    Форматирование USB-носителя
    1. Отмонтируйте (отключите) диск, используя следующую команду:

    Выполнение команды unmount
    1. Запишите образ на USB-носитель, используя следующую команду:

    Дождитесь окончания записи образа. Далее перейдите к разделу "Установка системы".

    Запись образа на USB-носитель

    hashtag
    Linux

    В данной инструкции в качестве примера, запись образа будет произведена на Ubuntu 24.04.

    1. Подключите Ваш usb-носитель и откройте Terminal.

    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    1. Выполните команду:

    Будет отображена информация про все подключенные диска. Найдите в этом списке Ваш usb-носитель и запомните его наименование. В нашем случае, это диск sdb.

    Команда lsblk
    1. Далее необходимо отформатировать usb-носитель, используя следующую команду:

    triangle-exclamation

    Все данные на диске будут удалены! Еще раз проверьте название диска который Вы форматируете!

    Для подтверждения введите пароль администратора, дождитесь окончания форматирования.

    Форматирование диска
    1. Отмонтируйте (отключите) диск, используя следующую команду:

    Команда umount
    1. Запишите образ на USB-носитель, используя следующую команду:

    Дождитесь окончания записи образа. Далее перейдите к разделу "Установка системы".

    Успешная запись образа на диск

    hashtag
    Установка системы

    1. Запуститесь с USB-носителя. При возникновении ошибок (черный экран) - убидитесь, что:

    • Secure Boot - Disabled

    • CSM (Compatibility Support Module) - Enabled

    Загруженная система с USB-носителя
    1. Система загружена в режиме LiveCD, об этом нам говорит красная надпись. Необходимо произвести установку. Для этого, передвигаясь стрелочками на клавиатуре, перейдите в раздел "[8] Install". Нажмите "Enter".

    Раздел "[8] Install"
    1. Выберите диск, который будет использоваться для установки системы. Для этого введите его ID (название), например sdc в нашем случае.

    Выбор системного диска
    1. Подтвердите Ваш выбор, введите "y" для продолжения.

    triangle-exclamation

    Все данные с выбранного диска будут удалены!

    Подтверждение выбора диска
    1. После установки системы, Вам будет предложено выбрать диск для хранения записей разговоров. По аналогии с первым диском, сделайте выбор.

    Выбор диска для хранения записей разговоров
    1. После этого система перезагрузится и будет готова к работе и первой авторизации в Web-интерфейс.

    Успешно установленная система

    Для перехода в Web-интерфейс, введите IP-адрес Вашей MikoPBX в строку браузера. Используйте стандартные данные для авторизации.

    circle-check

    Данные для первого входа в Web-интерфейс:

    Логин: admin

    Пароль: admin

    Windows
    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    В данной инструкции будет использоваться утилита balenaEtcher. Скачать можно по ссылкеarrow-up-right.

    1. Первым делом, отформатируйте Ваш USB-носитель со следующими параметрами:

    • File system - FAT32

    • Allocation unit size - 8192 bytes

    Форматирование USB-накопителя
    1. Откройте balenaEtcher. Нажмите "Flash from file" и выберите ранее загруженный .raw файл.

    Опция "Flash from drive"
    1. Нажмите "Select target".

    "Select target"
    1. Из списка выберите Ваш USB-носитель.

    Нажмите "Select 1".

    Выбор диска для записи
    1. Далее нажмите "Flash!"

    Начало записи образа

    Дождитесь окончания записи. Далее перейдите к разделу "Загрузка с USB-накопителя".

    Успешная запись образа

    hashtag
    MacOS

    1. Подключите Ваш usb-носитель и откройте Terminal.

    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    1. Выполните команду:

    Будет отображена информация про все подключенные диски. Нас интересует диск с маркировкой (external, physical). В нашем случае это disk4, в Вашем случае номер может быть другим. Используйте его номер для выполнения дальнейших шагов в этой инструкции.

    Вывод команды diskutil list
    1. Далее необходимо отформатировать USB носитель. Для этого используйте команду:

    triangle-exclamation

    Все данные на диске будут удалены! Еще раз проверьте название диска который Вы форматируете!

    Для подтверждения введите пароль администратора, дождитесь окончания форматирования.

    Форматирование диска
    1. Отмонтируйте (отключите) диск, используя следующую команду:

    Отключение диска (команда unmountDisk)
    1. Запишите образ на USB-носитель, используя следующую команду:

    Дождитесь окончания записи образа. Далее перейдите к разделу "Загрузка с USB-накопителя".

    Успешная запись образа

    hashtag
    Linux

    В данной инструкции в качестве примера, запись образа будет произведена на Ubuntu 24.04.

    1. Подключите Ваш usb-носитель и откройте Terminal.

    triangle-exclamation

    Размер USB-носителя должен быть не менее 1 ГБ. Все данные на USB-носителе будут удалены!

    1. Выполните команду:

    Будет отображена информация про все подключенные диска. Найдите в этом списке Ваш usb-носитель и запомните его наименование. В нашем случае, это диск sdb.

    Список всех подключенных дисков
    1. Далее необходимо отформатировать usb-носитель, используя следующую команду:

    triangle-exclamation

    Все данные на диске будут удалены! Еще раз проверьте название диска который Вы форматируете!

    Для подтверждения введите пароль администратора, дождитесь окончания форматирования.

    Форматирование диска
    1. Отмонтируйте (отключите) диск, используя следующую команду:

    Команда "umount"
    1. Запишите образ на USB-носитель, используя следующую команду:

    Успешно записанный образ

    Дождитесь окончания записи образа. Далее перейдите к разделу "Загрузка с USB-накопителя".

    hashtag
    Загрузка с USB-накопителя

    1. Запуститесь с USB-носителя. При возникновении ошибок (черный экран) - убидитесь, что:

    • Secure Boot - Disabled

    • CSM (Compatibility Support Module) - Enabled

    Загрузка с USB-носителя
    1. Система успешно загружена, но не подключен диск для хранения записей разговоров. Для его подключения, передвигаясь стрелочками на клавиатуре, перейдите в пункт "[6] Data storage" и нажмите Enter.

    Раздел "Data Storage"
    1. Далее выберите пункт "Mount drive as data storage" для подключения диска.

    Выбор действия
    1. Выберите диск, который будет использоваться для хранения записей разговоров. Для этого введите его ID (название), например sdc в нашем случае.

    Нажмите Enter.

    Выбор диска
    1. После этого система перезагрузится и будет готова к работе и первой авторизации в Web-интерфейс.

    Успешно установленная система

    Для перехода в Web-интерфейс, введите IP-адрес Вашей MikoPBX в строку браузера. Используйте стандартные данные для авторизации.

    circle-check

    Данные для первого входа в Web-интерфейс:

    Логин: admin

    Пароль: admin

    здесьarrow-up-right

    hashtag
    Создание виртуальной машины

    1. Перейдите в интерфейс VMware WorkStation Pro. Нажмите кнопку "Create a New Virtual Machine" для создания новой виртуальной машины.

    Элемент "Create a New Virtual Machine"
    1. В интерфейсе создания виртуальной машины укажите тип виртуальной машины: "Typical (recommended)". Далее, нажмите - "Next >".

    Выбор типа создаваемой виртуальной машины
    1. Далее выберите источник установки "Installer disc image file (iso):", выберите файл образа диска с расширением .iso. Скачать дистрибутив вы можете по ссылкеarrow-up-right. После выбора нажмите "Next >" для продолжения.

    Выбор источника установки системы для создаваемой виртуальной машины
    1. Выберите "Linux" в поле "Guest operating system". В качестве "Version" - "Debian 11.x 64-bit". Нажмите "Next >"

    Выбор операционной системы и версии для создаваемой виртуальной машины
    1. Укажите желаемое имя для виртуальной машины в поле "Virtual machine name:". Так же есть возможность указать локацию для этой виртуальной машины на вашем компьютере: используйте поле "Location". Нажмите "Next >".

    Указание названия и пути для создаваемой виртуальной машины
    1. Укажите размер для первого (системного) жесткого диска: рекомендуемое значение - 1Гб. Выберите "Split virtual disk into multiple files". Нажмите "Next >".

    Указание параметров для системного жесткого диска для создаваемой виртуальной машины
    1. Отобразится итоговая конфигурация виртуальной машины. Нажмите "Finish". Произойдет создание виртуальной машины.

    Итоговая конфигурация создаваемой машины.

    hashtag
    Создание и подключение второго диска

    Далее мы создадим и подключим второй жесткий диск, который будет использоваться для хранения записей разговоров.

    1. Перейдите в настройки раннее созданной виртуальной машины.

    Раздел настроек виртуальной машины
    1. Нажмите "Add..." для добавления нового элемента системы.

    Кнопка для добавления нового элемента системы
    1. Выберите "Hard Disk" в разделе "Hardware types". Нажмите "Next >"

    Выбор типа нового элемента системы
    1. Выберите "Virtual disk type" - "SCSI". Нажмите "Next >".

    Выбор типа диска
    1. Выберите "Create a new virtual disk". Нажмите "Next >".

    Выбор параметра "Create a new virtual disk"
    1. Выберите размер диска: рекомендованное значение - не менее 50 Гб. Так же выберите параметр "Split virtual disk into multiple files". Нажмите "Next >"

    Указание параметров для создаваемого диска
    1. Укажите произвольное название для жесткого диска. Нажмите "Finish"

    Название для второго жесткого диска

    hashtag
    Указание сетевого интерфейса для виртуальной машины

    В настройках перейдите в раздел "Network Adapter". Выберите "Network connection" - "Bridged: Connected directly to the physical network". Нажмите "OK"

    Настройка сетевого интерфейса

    hashtag
    Первый запуск системы

    1. Произведите запуск виртуальной машины.

    Кнопка для запуска виртуальной машины
    1. Откроется командный интерфейс MikoPBX. АТС начнет загружаться. На данном этапе MikoPBX загружается с оптического диска, на который записан ISO-образ. На это нам указывает строчка: "The system is loaded in Recovery mode".

    Загруженная MikoPBX с оптического диска
    circle-info

    Перемещаться по пунктам меню можно клавишами управления курсоромarrow-up-right.

    Выбрать пункт меню - клавиша Enter.

    Также можно выбирать пункт меню нажав на буквенно-цифровом блоке клавиатурыarrow-up-right соответствующую пункту цифру.

    1. Переключите язык интерфейса на русский. Для этого выполните "[1] Change Language" -> "[2] Русский".

    2. Далее произведем установку MikoPBX. Перейдите в пункт "[8] Install".

    3. Отобразится информация о всех доступных дисках (в данном примере: sdb, sdc). Системой предложен диск по умолчанию, в нашем случае - sdb. Если вы согласны с предложенным диском, который будет использоваться в качестве системного - нажмите Enter. В противном случае напишите название другого диска.

    circle-exclamation

    Все данные на диске, куда устанавливается MikoPBX, будут потеряны.

    Выбор диска для системы
    1. Далее система выдаст предупреждения. Для подтверждение операции - введите "y" и нажмите Enter.

    2. После выполнения установки будет предложено выбрать диск для хранения записей разговоров. Введите имя диска (в данном примере - единственный доступный диск sdc) и нажмите Enter.

    Выбор диска для хранения записей разговоров
    1. После завершения установки система перезагрузится.

      Теперь MikoPBX будет запускаться с диска sdb, на который вы ее установили. Увидим, что строчка «The system is loaded in Recovery mode» отсутствует. Это значит, что установка MikoPBX совершена успешно.

    Успешно установленная MikoPBX

    hashtag
    Первый вход в MikoPBX

    Для того, чтобы открыть веб-интерфейс MikoPBX вам надо вписать в строку браузера IP-адрес вашей виртуальной машины, найти его вы можете в консоли.

    IP-адрес MikoPBX

    Впишите IP-адрес в адресную строку вашего браузера. Произведите первый вход в MikoPBX по стандартному логину и паролю.

    circle-check

    При первом входе в WEB-интерфейс MikoPBX используйте стандартные данные:

    • Логин: admin

    • Пароль: admin

    Страница авторизации в WEB-интерфейс MikoPBX
    на сайтеarrow-up-right
    Откройте Виртуальные сети / Сети
  • На вкладке Сети выберите Создать

  • Введите имя новой сети, например pbx_network

  • Для других полей используйте значения по умолчанию

  • Завершив ввод значений, нажмите кнопку Добавить сеть

  • hashtag
    Добавление ssh-rsa ключа

    1. Перейдите к своему аккаунту

    2. В выпадающем меню выберите Ключевые пары

    Если у вас есть ключ SSH, выполните следующее

    1. Выберите Импортировать ключ

    2. Введите название ключа и укажите ключ в поле Публичный ключ

    3. Нажмите кнопку Импортировать ключ

    Если у вас нет ключа SSH, выполните следующее

    1. Выберите Создать ключ

    2. Введите название ключа, например mikopbx_ssh_key

    3. Нажмите кнопку Создать ключ

    hashtag
    Загрузка образа MikoPBX

    1. Откройте Облачные вычисления / Образы

    2. На вкладке Образы выберите Создать образ

    3. Укажите источник - Файл

    4. Выберите файл из дистрибутива MikoPBX с расширением .raw

    5. Введите название образа, например mikopbx_image

    6. Завершив ввод значений, нажмите кнопку Создать образ

    hashtag
    Создание инстанса

    1. Откройте Облачные вычисления / Виртуальные машины

    2. На вкладке Виртуальные машины выберите Создать инстанс

    3. Введите имя виртуальной машины, например mikopbx_vm

    4. В поле Категория виртуальной машины выберите Все актуальные типы виртуальных машин

    5. Укажите Тип виртуальной машины, исходя из ожидаемой нагрузки на АТС. Для тестовой машины можно указать STD2-1-1

    6. Выберите Зону доступности

    1. Укажите Тип диска - HDD

    2. В качестве Операционной системы выберите mikopbx_image

    1. Перейдите к следующему шагу Настройки сети

    2. Выберите созданную Сеть pbx_network

    3. Выберите созданный Ключ виртуальной машины mikopbx_ssh_key

    4. Включите переключатель Назначить внешний IP

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку Создать инстанс

    3. Как только инстанс будет создан, сразу остановите его запуск

    hashtag
    Диск для хранения данных

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    • диск объемом 50+ Гб для хранения записей разговоров

    1. Откройте Облачные вычисления / Диски

    2. На вкладке Диски выберите Создать диск

    3. Введите название диска, например mikopbx_storage_disk

    4. Укажите Источник - Пустой диск

    5. Укажите Тип диска - Сетевой HDD-диск (ceph-hdd)

    6. Выберите Зону доступности такую же, как и у инстанса

    7. Укажите размер диска не менее 50Гб

    1. Включите переключатель Подключить диск к инстансу

    2. Выберите созданный инстанс mikopbx_vm

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку Создать диск

    1. Откройте Облачные вычисления / Виртуальные машины

    2. Запустите созданный инстанс mikopbx_vm

    hashtag
    Firewall

    1. Откройте Виртуальные сети / Настройки firewall

    2. На вкладке Настройки firewall выберите Добавить

    3. Введите имя группы правил, например mikopbx_rules

    4. Нажмите кнопку Создать группу

    1. На открытой вкладке в разделе Входящий трафик выберите Добавить правило

    2. Выберите Тип - Все протоколы и все порты

    3. Укажите Удаленный адрес - Все IP-адреса

    4. Нажмите кнопку Сохранить правило

    1. В разделе Виртуальные машины с группой правил mikopbx_rules выберите Добавить виртуальную машину

    2. Выберете созданную виртуальную машину mikopbx_vm и нажмите Добавить группу правил

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    hashtag
    Запуск АТС MikoPBX

    1. Дождитесь запуска созданного инстанса, обычно первый запуск занимает 6-8 минут

    2. Откройте Облачные вычисления / Виртуальные машины

    3. Перейдите к созданной виртуальной машине mikopbx-vm

    4. На открытой вкладке перейдите в раздел Логи

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные во вкладке Серийная консоль логин и пароль

    https://cloud.vk.comarrow-up-right
    hashtag
    Проверка работы

    Чтобы убедиться, что ваше приложение MikoPBX запостилось и работает в Docker-контейнере, можно выполнить следующие шаги после его запуска. Эти шаги помогут проверить состояние контейнера и просмотреть его логи.

    hashtag
    Шаг 1: Проверка статуса контейнера

    Сначала нужно удостовериться, что контейнер успешно запущен и работает. Для этого используем команду docker ps, которая покажет список запущенных контейнеров и их статус.

    Эта команда выведет информацию о всех активных контейнерах. Убедитесь, что контейнер mikopbx присутствует в списке и его статус указывает на то, что он запущен и работает (например, статус up).

    hashtag
    Шаг 2: Просмотр логов контейнера

    После подтверждения того, что контейнер запущен, следующим шагом будет просмотр логов для проверки, что приложение загрузилось без ошибок и функционирует нормально. Команда docker logs позволит вам увидеть вывод, который генерирует ваше приложение.

    Просмотрите вывод команды на наличие сообщения, подобного указанному ниже. Это сообщение свидетельствует о том, что MikoPBX успешно загружена и готова к использованию:

    Если отображается процесс запуска MikoPBX то необходимо подождать и повторить команду sudo docker logs mikopbx

    hashtag
    Шаг 3: Проверка доступа к веб-интерфейсу

    При старте контенер не имеет информации об адресе хостовой системы, потому необходимо открыть внешний адрес хостовой системы, в данном случае Ubuntu в браузере. https://<IP адрес хост системы>

    Войдите в веб-интерфейс, используя логин admin и пароль admin, чтобы убедиться, что веб-интерфейс доступен и функционирует корректно.

    hashtag
    Особенности работы контейнизированной MikoPBX

    • Флаг NET_ADMIN необходим для возможности работы системы проактивной защиты fail2ban и фаервола iptables внутри контейнера. При срабатывании блокировки доступа, например при вводе неверного пароля, доступ с IP адреса злоумышленника будет заблокирован.

    • Если необходимо использовать «Модуль резервного копирования», то контейнер следует запускать с флагом –privileged. Когда MikoPBX запускается в контейнере, резервное копирование можно также выполнять архивированием каталогов cf и storage вручную . В этом случае привелегированный режим можно не использовать, но в момент копирования контейнер должен быть остановлен.

    • Флаг –net=host указывает на то, что NAT между хостом и контейнером не будет использоваться. MikoPBX будет подключена напрямую к сети хостовой машины. Все порты, которые должен занять контейнер будут заняты и на хост машине. Если на хост машине, какой-то из портов недоступн, то при загрузке MikoPBX возникнут ошибки. Подробнее в

    • При необходимости можно скорректировать стандартный набор портов, которые использует MikoPBX. Это можно сделать объявляя переменные окружения при запуске контейнера.

    hashtag
    Создание контейнера из tar архива

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

    Пример кода, для его использования:

    hashtag
    Переменные окружения для конфигурирования MikoPBX

    Ниже перечислены некоторые переменные окружения, которые позволят скорректировать используемые MikoPBX порты и настройки.

    • SSH_PORT - порт для SSH (22)

    • WEB_PORT - порт для работы web интерфейса по протоколу HTTP (80)

    • WEB_HTTPS_PORT - порт для работы web интерфейса по протоколу HTTPS (443)

    • SIP_PORT - порт для подключения SIP клиента (5060)

    • TLS_PORT - порт для подключения SIP клиента с шифрованием (5061)

    • RTP_PORT_FROM - начало диапазона RTP портов, передача голоса (10000)

    • RTP_PORT_TO - конец диапазона RTP портов, передача голоса (10800)

    • IAX_PORT - порт для подключения IAX клиентов (4569)

    • AMI_PORT - порт AMI (5038)

    • AJAM_PORT - порт AJAM используется для подключения панели телефонии для 1С (8088)

    • AJAM_PORT_TLS - порт AJAM используется для подключения панели телефонии для 1С (8089)

    • BEANSTALK_PORT - порт для сервера очередей Beanstalkd (4229)

    • REDIS_PORT - порт для сервера Redis (6379)

    • GNATS_PORT - порт для сервера gnatsd (4223)

    • ID_WWW_USER - идентификатор пользователя www-user (можно задать выражением $(id -u www-user), где www-user имя НЕ root пользователя)

    • ID_WWW_GROUP - идентификатор группы www-user (можно задать выражением $(id -g www-user), где www-user имя НЕ root группы)

    • WEB_ADMIN_LOGIN - логин для доступа в Web интерфейс

    • WEB_ADMIN_PASSWORD - пароль для доступа в Web интерфейс

    Полный список всех возможных параметров настроек доступен в исходном коде по ссылкеarrow-up-right.

    Установка докера и cоздание пользователя и каталоговchevron-right
    hashtag
    Создание правила
    circle-info

    Дополнительные примеры настройки исходящей маршрутизации доступны в разделе FAQ.

    hashtag
    Шаг 1. Добавление нового правила

    Чтобы добавить новое правило исходящей маршрутизации нажмите на кнопку Добавить новое правило.

    Элемент для добавления нового правила исходящей маршрутизации

    hashtag
    Шаг 2. Название и заметка

    Название правила можно задавать произвольным.

    В заметке можно описать маршрут звонка, который хотите реализовать, в дальнейшем это может помочь вам в отладке.

    Названия правила и заметка

    hashtag
    Шаг 3. Задание шаблона номеров

    Задайте шаблон для исходящих звонков. Подробнее про шаблоны номеров в следующем параграфе.

    Указания шаблона номеров, попадающих под правило

    Приведенный на картинке выше пример означает следующее: если набранный номер начинается с "7" или "8", и остальная часть номера состоит 10 цифр.

    circle-exclamation

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

    hashtag
    Шаг 4. Преобразование номера

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

    circle-info

    Примеры преобразования номеров приведены в следующем параграфе, а так же в разделе FAQ.

    Настройки преобразования номера

    В приведенном примере в начале номера не отсекаются цифры и не добавляются цифры.

    hashtag
    Шаг 5. Выбор провайдера

    Выберите из списка провайдера, для которого настроили исходящую маршрутизацию и сохраните изменения.

    Выбор провайдера для правила

    hashtag
    Примеры

    hashtag
    Примеры шаблонов номеров

    Номер начинается с
    Остальная часть номера состоит из указанного количества цифр
    Примеры номеров

    [7-8]{1}

    10

    79257184255, 84952293042

    7925

    оставьте поле пустым

    79257184255, 7925, 7925718…

    7ХХ

    0

    700, 701, 702…

    hashtag
    Примеры изменения префиксов номеров

    hashtag
    Пример 1. Необходимо заменить префиксы номеров "+7" на "8".

    Например, номер +74952293042 должен быть преобразован к номеру 84952293042.

    Реализация правила выглядит следующим образом:

    Шаблон для замены +7 -> 8

    hashtag
    Пример 2. Необходимо заменить префиксы номеров "8", "7" на "+7".

    Например, номера 84952293042 и 74952293042 должны быть преобразованы к номеру +74952293042.

    Реализация правила выглядит следующим образом:

    Шаблон для замены 7,8 -> +7

    hashtag
    Пример 3. Необходимо добавить префикс "8" к номеру.

    Например, номера 4952293042 и 4996382584 должны быть преобразованы к номеру 84952293042 и 84996382584 соответственно.

    Реализация правила выглядит следующим образом:

    Шаблон для преобразования номера

    hashtag
    Пример 4. Необходимо удалить код города "8495" или "7495", или "8499", или "7499" и оставлять 7-значный номер.

    Например, номера 84952293042 и 74996382584 должны быть преобразованы к номеру 2293042 и 6382584 соответственно.

    Реализация правила выглядит следующим образом:

    Шаблон для преобразования номера
    Раздел "Исходящие маршруты" в MikoPBX
    hashtag
    Просмотр логов

    Раздел позволяет просмотреть файлы логов для детального анализа работы АТС

    1. Для начала работы - выберите файл.

    2. Установите лимит строк для выборки.

    3. Установите офсет - значение сдвига в выборке.

    4. Установите фильтр по вхождению строки в выборку.

    Вкладка "Просмотр логов"

    Доступны следующие возможности:

    1. Cкачать полученную выборку в виде файла

    2. Обновить выборку

    3. Автоматическое обновление выборки

    Фильтры для просмотра логов

    hashtag
    Пример. Анализ звонка

    Допустим необходимо проанализировать прохождение исходящего звонка на номер 74952293042

    1. Выберите файл для анализа asterisk/verbose.

    2. В качестве фильтра установите номер телефона 74952293042.

    3. В поле лимит укажите значение с запасом, к примеру 2000, иначе могут быть выданы не все записи лога.

    4. В последней строке выборке следует найти идентификатор:

    В данном примере ID = C-0000000f.

    1. Повторяем запрос лога, но уже с фильтром C-0000000f.

    2. Будет получен весь лог прохождения dialplan.

    3. Полученные данные можно отправить специалисту технической поддержки.

    В лог звонка также можно перейти из интерфейса истории звонков:

    После перехода по иконке "Лист" будет открыт интерфейс "Системные логи" с файлом "asterisk/verbose" и отбором по ID звонка:

    hashtag
    Информация о системе

    Данная вкладка отображает следующую информацию:

    • Сетевые настройки

    • Нагрузка на CPU

    • Потребляемая оперативная память

    • Настройки iptables

    Вкладка "Информация о системе"

    hashtag
    Захват сетевых пакетов

    Данный раздел позволяет произвести детальный анализ ошибок в работе АТС.

    Вкладка "Захват сетевых пакетов"

    hashtag
    Сбор сетевых пакетов

    Вы можете запустить сбор сетевых пакетов, проходящих через сетевой интерфейс.

    1. Для запуска процесса нажмите кнопку "Старт".

    Элемент для начала фиксации сетевых пакетов
    1. Воспроизведите вашу проблему: совершите звонок или иное действие, приводящее к сбою / ошибке.

    2. Нажмите кнопку "Остановить и скачать".

    Кнопка остановки захвата сетевых пакетов

    Сетевые пакеты будут автоматически сохранены в архив MikoPBXLogs_log-tcpdump-XXXXXXXXXX. Также они должны автоматически сохраниться в папку Загрузки вашего браузера.

    Место сохранения сетевых пакетов

    Если в папке Загрузки архив найти не удалось , можете подключиться к АТС через WinSCP и скачать его из директории /storage/usbdisk1/mikopbx/tmp - файл log-tcpdump-XXXXXXXXXX.zip

    circle-info

    Существует возможность воспользоваться поиском в WinSCP: в поле имени искомого файла ввести "log-tcpdump*", а в каталоге поиска ввести "/storage".

    hashtag
    Скачать все системные логи

    Вы можете скачать все накопленные на АТС системные логи. Для этого нажмите кнопку "Скачать все системные логи".

    Элемент для скачивания всех системных логов

    Системные логи будут автоматически сохранены в архив MikoPBXLogs_log-sys-XXXXXXXXXX.zip. Логи автоматически должны сохраниться в папку Загрузки вашего браузера. Так же данный архив с логами можно получить из каталога /storage/usbdisk1/mikopbx/tmp, подключившись к АТС при помощи WinSCP. Файл - log-sys-XXXXXXXXXX.zip

    circle-exclamation

    Будьте внимательны! При большом объеме звонков или прочей сетевой «нагрузки» на АТС логи могут занять довольно много места на диске.

    hashtag
    Другие способы снятия лога:

    • С помощью SSH-клиента

    • С помощью утилиты Wireshark

    • C помощью Sngrep (дамп звонка)

    • С помощью (дамп сетевого трафика)

    Раздел "Диагностика системы" в MikoPBX
    3 вкладки в разделе
    Имя хоста - это имя машины. Если значение не указано, то используется имя mikopbx.local.
    Локальное имя хоста

    hashtag
    Сетевые интерфейсы

    Существует два способа настроить IP-адрес в MikoPBX:

    1. DHCP (Dynamic Host Configuration Protocol) - это протокол, который позволяет автоматически настраивать IP-адрес. Рекомендуется использовать этот способ, если вы не хотите заниматься ручной настройкой. Просто включите опцию "Использовать DHCP для получения настроек сети" и система автоматически получит IP-адрес от DHCP сервера.

    2. Ручная настройка - если вы не хотите использовать DHCP или хотите задать IP-адрес вручную, вы можете выполнить ручную настройку сети. Для этого вам понадобятся некоторые знания о топологии сети. В поле IP-адрес введите желаемый IP-адрес, а рядом с ним укажите маску подсети в формате CIDR. Например, /24 соответствует маске подсети 255.255.255.0.

    "VLAN ID" - Кроме того, MikoPBX поддерживает виртуальные сетевые интерфейсы, известные как VLAN. Эта функция особенно полезна, если у вас есть только один физический сетевой интерфейс, но вам требуется использовать несколько виртуальных интерфейсов. С помощью VLAN можно создать виртуальные интерфейсы, которые работают поверх физического интерфейса. Преимуществом использования VLAN является возможность направлять телефонные разговоры через него, в то время как сетевое оборудование может осуществлять отдельную обработку трафика VLAN, обеспечивая стабильное соединение.

    Важно отметить, что количество сетевых интерфейсов в MikoPBX не ограничено, и вы можете настроить и использовать несколько интерфейсов в соответствии с вашими потребностями.

    Раздел "Сетевые интерфейсы"

    hashtag
    Топология сети

    "Сетевой интерфейс с доступом в интернет" - это основной интерфейс, через который MikoPBX будет получать доступ к внешним адресам, то есть адресам вне вашей локальной сети.

    Если вы не указали адрес DNS-сервера, MikoPBX будет использовать сервер 8.8.8.8 по умолчанию. DNS-серверы отвечают за преобразование доменных имен в IP-адреса, позволяя устройствам находить нужные ресурсы в сети.

    В зависимости от топологии вашей сети, вам потребуется выполнить определенные настройки MikoPBX. Вариант, когда АТС находится за сетевым маршрутизатором, является наиболее распространенным. Это означает, что MikoPBX подключена к вашей локальной сети, и для доступа к интернету используется маршрутизатор. Другой вариант - АТС находится на публичном IP, то есть имеет прямой доступ к интернету без промежуточного маршрутизатора.

    В обоих случаях необходимо настроить MikoPBX соответствующим образом, чтобы обеспечить правильное функционирование и доступ к внешним ресурсам.

    • Если АТС находится за маршрутизатором, то необходимо установить галку «Эта станция расположена за NAT маршрутизатором»

    • Если нам известен внешний адрес станции (ip или доменное имя)и проброшены порты АТС во внешний мир, то имеет смысл заполнить поля «Внешний IP адрес Вашего маршрутизатора» или «Внешнее имя хоста вашего маршрутизатора».

    Всем адресам, которые не являются для АТС локальными, станция будет представляться внешним адресом:

    • Если «Внешний IP адрес Вашего маршрутизатора» пустое, а «Внешнее имя хоста вашего маршрутизатора» заполнено, то АТС будет представляться именно этим полем (Внешнее имя).

    circle-info

    Внешний IP-адрес обязателен для заполнения. Если указано доменное имя - то приоритет за ним и Внешний IP адрес не используется.

    Раздел "Топология сети"
    circle-info

    Когда вы включаете опцию «Эта станция расположена за NAT маршрутизатором», важно указать внешний адрес или имя хоста вашего маршрутизатора. Это необходимо для правильной настройки связи между внешней сетью и вашей АТС. Помимо этого, на самом маршрутизаторе необходимо выполнить проброс портов SIP 5060 и RTP 10000-10200 на локальный адрес АТС. Проброс портов позволяет маршрутизатору правильно направлять сетевой трафик SIP и RTP к вашей АТС.

    Однако, если ваш провайдер позволяет вам регистрироваться без использования NAT и у вас нет необходимости подключать внешних абонентов, то вы можете не включать опцию «Эта станция расположена за NAT маршрутизатором». Даже если ваша АТС находится за NAT-маршрутизатором, но вы не нуждаетесь во внешних подключениях, эта опция не обязательна.

    Важно учитывать требования вашего провайдера и особенности вашей сети при выборе и настройке этой опции.

    hashtag
    Ручная настройка сетевых маршрутов

    1. Перейдите в раздел Система → Кастомизация системных файлов.

    Раздел "Кастомизация системных файлов"
    1. Откройте для редактирования файл /etc/static-routes.

    Файл /etc/static-routes
    1. Выберите режим «Заменять полностью» и вставьте правило. Например, route add -net 54.246.198.136 netmask 255.255.255.255 gw 172.16.32.15 dev eth0

    Для указания операционной системе, какой сетевой интерфейс (в данном случае eth0) использовать для поиска IP-адреса 54.246.198.136, а также для указания шлюза (gateway) для направления запроса (в данном случае 172.16.32.15), мы задаем соответствующие значения в настройках сетевого правила.

    Маска подсети "255.255.255.255" указывает, что данное правило будет применимо только к конкретному IP-адресу 54.246.198.136. Если вам необходимо создать правило для группы адресов, например, для всей подсети 54.246.198.0, то фактически это охватывает диапазон адресов от 54.246.198.1 до 54.246.198.254.

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

    Нажмите "Сохранить"

    Режим и код для ручной настройки сетевых машрутов
    Раздел "Сетевые интерфейсы"

    Войдите в центр администрирования Microsoft Entra.arrow-up-right

    Главная страница центра администрирования Microsoft Entra
    1. Перейдите в раздел "Entra ID" -> "App registrations". Далее нажмите "New registration" для регистрации нового приложения.

    Регистрация нового приложения
    1. Выберите следующие параметры для Вашего приложения:

    • Name - укажите название для Вашего приложения.

    • Supported account types - выберите параметр "Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant)".

    Параметры приложения
    1. Укажите Redirect URl:

    • Select a platform - выберите "Web".

    • URl:

    Замените 192.168.100.71 на адрес Вашей MikoPBX.

    Далее нажмите "Register".

    Параметры Redirect URl
    1. Будет созданно приложения. Сохраните client ID, в будущем он понадобится для настройки внутри веб-интерфейса MikoPBX.

    Главная страница созданного приложения

    hashtag
    Выдача разрешений и создание Client secret

    1. Из главной страницы приложения перейдите в "Manage" -> "API permissions".

    Раздел "API permissions"
    1. Нажмите "Add a permission".

    Добавление разрешения
    1. В разделе "Microsoft Graph" выберите "Delegated Permissions". В поиске введите "SMTP". Поставьте галочку напротив "SMTP.Send".

    Выдача разрешения "SMTP.Send"
    1. Так же в поиске введите "offline". Поставьте галочку напротив "offline_access".

    Нажмите "Add permissions".

    Выдача разрешения "offline_access"
    1. Далее перейдите в раздел "Certificates & secrets" -> "Client secrets". Нажмите "New client secret".

    Создание нового Secret ID
    1. Задайте необходимые параметры:

    • Description - произвольное описание.

    • Expires - срок на который Вы выпускаете этот client secret. Он понадобится нам для аутентификации приложения в MikoPBX.

    circle-info

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

    triangle-exclamation

    После создания, значение Client Secret будет показано всего один раз. Не забудьте скопировать его в Web-интерфейс MikoPBX.

    Нажмите "Add".

    Параметры для создания нового client secret
    1. Скопируйте "Value" (не SecretID!). Он понадобится для настройки в веб-интерфейсе MikoPBX.

    Копирование Value созданного ранее Client secret

    hashtag
    Выдача разрешений пользователю

    Для корректной работы приложения, Вам необходимо выдать разрешение на использования SMTP протокола для пользователя, чью почту Вы авторизовываете в ходе текущей насройки. Для этого выполните следующие шаги:

    1. Перейдите в центр администрирования организации (ссылкаarrow-up-right).

    Главная страница Microsoft Admin Center
    1. Перейдите в раздел "Users" -> "Active Users". Нажмите на имя пользователя, под учетной записью которого произодится создание приложения.

    Раздел "Active Users" в Microsoft Admin Center
    1. В учетной записи, перейдите в раздел "Mail" и выберите "Manage email apps".

    Раздел "Mail" в учетной записи пользователя
    1. Убедитесь, что "Authenticated SMTP" разрешен. Сохраните изменения, нажав "Save changes".

    Разрешение Authenticated SMTP для выбранного пользователя

    hashtag
    Настройки внутри MikoPBX

    1. Перейдите в Web-интерфейс MikoPBX. Далее "Система" -> "Почта и уведомления" -> "Настройки SMTP".

    Заполните все необходимые данные:

    • Адрес отправителя, Имя отправителя - Ваша почта и от какого имени будут отправляться письма.

    • Тип аутентификации - OAuth2.

    • SMTP логин - Ваша почта.

    • Провайдер OAuth2 - Microsoft/Outlook.

    • Идентификатор приложения (Client ID), Секретный ключ (Client Secret) - данные из Microsoft Entra.

    Все остальные настройки оставьте по умолчанию. Более подробное описание Вы можете найти в главное статье о параметрах почты (ссылкаarrow-up-right).

    После этого нажмите "Сохранить"!

    Настройки SMTP в Web-интерфейсе MikoPBX
    1. Нажмите "Подключить через OAuth2". Войдите в Ваш аккаунт Microsoft. Далее подтвердите выдачу всех запрошенных разрешений.

    Выдача запрошенных разрешений

    При успешной авторизации Вы увидите соответствующее окно.

    Успешная OAuth2 авторизация (Microsoft/Outlook)
    Настройки аккаунта Google
    1. Перед началом настройки, необходимо поменять некоторые параметры аккаунта Google. Для этого перейдите на страницу управления (ссылкаarrow-up-right).

    Страница упрвления аккаунтом Google
    1. Перейдите в раздел "Безопасность и вход в аккаунт". Убедитесь, что у Вас настроена двухэтапная аутентификация.

    Настройка двухэтапной аутентификации
    1. Перейдите в консоль Google Cloud, в раздел "APIs & Services" (ссылкаarrow-up-right). Создайте проект под текущую задачу.

    Раздел "APIs & Services" в Google Cloud
    1. Перейдите в библиотеку APIs (раздел "Library").

    Раздел "Library" в APIs & services
    1. Введите в поиске: "gmail api". Перейдите в карточку Gmail API.

    Gmail API в библиотеке Google Cloud
    1. Нажмите "Enable" для подключения.

    Подключение API
    1. Перейдите на главную страницу APIs & Services. Далее "OAuth consent screen".

    Раздел "OAuth consent screen" в APIs & Services
    1. Создайте проект (нажмите "Get started"). Заполните произвольное название и Вашу почту. В качестве Audience выберите "Internal". Нажмите "Create" для завершения.

    Параметр "Audience" в создании проекта
    1. Вернитесь на главную страницу APIs & Services. Далее в раздел "Credentials". Нажмите "Create credentials". Выберите "OAuth client ID" для создания.

    Создание нового OAuth client ID
    1. В качестве Application type, выберите "Web application". Далее введите произвольное название. Нажмите "Create".

    Создание нового OAuth client ID
    1. Добавьте новый "Authorized redirect URI".

    circle-info

    Формат:

    https://mikopbx.station.com/pbxcore/api/v3/mail-settings/oauth2-callback

    Замените "mikopbx.station.com" на URl Вашей станции.

    Добавление нового URl для перевода
    1. Будет создан OAuth client. Сохраните ClientID и Client secret себе в заметки. В будущем эти данные понадобятся для подключения.

    Успешно созданный клиент

    hashtag
    Настройки в MikoPBX

    1. Перейдите в раздел "Система" -> "Почта и уведомления":

    Раздел "Почта и уведомления" в MikoPBX
    1. Далее, "Настройки SMTP". Заполните следующие параметры:

    • Адрес отправителя, Имя отправителя - Ваша почта и от какого имени будут отправляться письма.

    • Тип аутентификации - OAuth2.

    • SMTP логин - Ваша почта.

    • Провайдер OAuth2 - Google/Gmail.

    • Идентификатор приложения (Client ID), Секретный ключ (Client Secret) - данные, которые сохранены из Google Cloud (12 пункт из прошлого раздела в этой инструкции).

    Все остальные настройки оставьте по умолчанию. Более подробное описание Вы можете найти в главное статье о параметрах почты (ссылка).

    После этого нажмите "Сохранить"!

    Параметры почты для подключения Gmail
    1. Нажмите на синюю кнопку "Подключить через OAuth2". Далее выберите Ваш аккаунт Gmail.

    Выбор аккаунта Google
    1. Подтвердите вход: нажмите "Continue".

    Продолжения авторизации
    1. Подтвердите выдачу необходимых разрешений. (Нажмите "Allow").

    Выдача разрешений

    При успешной авторизации, вы увидите следующее окно.

    Успешная авторизация

    hashtag
    Решение возможных проблем

    Access blocked: Authorization Error (Error 400: invalid_request)

    Ошибка 400: invalid_request

    Решение: впишите URl адрес станции в Веб-интерфейсе MikoPBX: "Сеть и Firewall" -> "Сетевые интерфейсы". Перейдите в раздел "Топология сети" и впишите имя хоста в поле "Внешнее имя хоста вашего маршрутизатора". (Включите "Эта станция расположена за NAT маршрутизатором")

    Решение проблемы
    . Кроме того, необходимо задать
    Сетевой фильтр
    , т.е. из какой подсети разрешено подключение к пользователю AMI. Вы можете разрешить подключения с любых адресов, либо указать конкретную сеть, настройку который Вы произвели в разделе
    "Сеть и Firewall" → "
    ".
    Параметры нового AMI пользователя

    hashtag
    Опции и права пользователя AMI

    Права пользователя AMI, устанавливаемые в секции [user] конфигурационного файла /etc/asterisk/manager.conf

    Идентификатор прав
    Чтение
    Запись

    System

    Чтение общей информации о системе, например, уведомления о перезагрузке конфигурации

    Позволяет пользователю выполнять Asterisk системы управления такими командами, как Restart, Reload, или Shutdown. Это разрешение также предоставляет пользователям возможность запускать системные команды за пределами Asterisk. Предоставление такого разрешения эквивалентно предоставлению доступа к командной оболочке, с правами пользователя / группы, под которыми запущен процесс Asterisk

    Call

    Чтение события о каналах в системе

    Позволяет пользователю устанавливать информация на каналах

    Log

    Предоставляет пользователю доступ к чтению логов

    Только чтение

    Раздел "Доступ к AMI"
    Сетевой экран

    1С:Облачная инфраструктура

    Установка MikoPBX с помощью 1С:Облачная инфраструктура

    Для начала авторизуйтесь на сайте https://cloudinf.1c.ruarrow-up-right

    Приступим к настройке

    hashtag
    Добавление локальной подсети

    1. Откройте Виртуальные сети / Сети

    2. На вкладке Сети выберите Создать

    3. Введите имя новой сети, например pbx_network

    4. Для других полей используйте значения по умолчанию

    5. Завершив ввод значений, нажмите кнопку Добавить сеть

    hashtag
    Добавление ssh-rsa ключа

    1. Перейдите к своему аккаунту

    2. В выпадающем меню выберите Ключевые пары

    Если у вас есть ключ SSH, выполните следующее

    1. Выберите Импортировать ключ

    2. Введите название ключа и укажите ключ в поле Публичный ключ

    3. Нажмите кнопку Импортировать ключ

    Если у вас нет ключа SSH, выполните следующее

    1. Выберите Создать ключ

    2. Введите название ключа, например mikopbx_ssh_key

    3. Нажмите кнопку Создать ключ

    hashtag
    Загрузка образа MikoPBX

    1. Откройте Облачные вычисления / Образы

    2. На вкладке Образы выберите Создать образ

    3. Укажите источник - Файл

    hashtag
    Создание инстанса

    1. Откройте Облачные вычисления / Виртуальные машины

    2. На вкладке Виртуальные машины выберите Создать инстанс

    3. Введите имя виртуальной машины, например mikopbx_vm

    1. Укажите Тип диска - HDD

    2. В качестве Операционной системы выберите mikopbx_image

    1. Перейдите к следующему шагу Настройки сети

    2. Выберите созданную Сеть pbx_network

    3. Выберите созданный Ключ виртуальной машины mikopbx_ssh_key

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку Создать инстанс

    3. Как только инстанс будет создан, сразу остановите его запуск

    hashtag
    Диск для хранения данных

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. Откройте Облачные вычисления / Диски

    2. На вкладке Диски выберите Создать диск

    3. Введите название диска, например mikopbx_storage_disk

    1. Включите переключатель Подключить диск к инстансу

    2. Выберите созданный инстанс mikopbx_vm

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку Создать диск

    1. Откройте Облачные вычисления / Виртуальные машины

    2. Запустите созданный инстанс mikopbx_vm

    hashtag
    Firewall

    1. Откройте Виртуальные сети / Настройки firewall

    2. На вкладке Настройки firewall выберите Добавить

    3. Введите имя группы правил, например mikopbx_rules

    1. На открытой вкладке в разделе Входящий трафик выберите Добавить правило

    2. Выберите Тип - Все протоколы и все порты

    3. Укажите Удаленный адрес - Все IP-адреса

    1. В разделе Виртуальные машины с группой правил mikopbx_rules выберите Добавить виртуальную машину

    2. Выберете созданную виртуальную машину mikopbx_vm и нажмите Добавить группу правил

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    hashtag
    Запуск АТС MikoPBX

    1. Дождитесь запуска созданного инстанса, обычно первый запуск занимает 6-8 минут

    2. Откройте Облачные вычисления / Виртуальные машины

    3. Перейдите к созданной виртуальной машине mikopbx-vm

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные во вкладке Серийная консоль логин и пароль

    Google Cloud подробная инструкция

    Установка MikoPBX в облако Google Cloud с помощью произвольного образа

    Авторизуйтесь на платформе https://console.cloud.google.com/arrow-up-right

    Приступим к настройке

    circle-info

    Для быстрого и удобного поиска на платформе Google Cloud используйте панель поиска

    hashtag
    Создание хранилища

    1. Откройте Navigation menu / Products & solutions / Storage / Cloud Storage

    2. На вкладке Cloud Storage выберите Create

    3. Введите имя хранилища, например miko-images

    1. Откройте созданное хранилище miko-images

    2. На открывшейся вкладке выберите UPLOAD FILES

    3. Загрузите файл из дистрибутива MikoPBX с расширением .vhd

    hashtag
    Подключение Cloud Build API

    1. Откройте Navigation menu / APIs & Services / Library / Google Enterprise API / Cloud Build API

    2. На открывшейся вкладке выберите ENABLE

    circle-info

    Проверьте роли учетной записи службы Cloud Build, для этого

    1. Откройте страницу IAM

    2. Выберите свой проект Google Cloud

    hashtag
    Подключение Compute Engine API

    1. Откройте Navigation menu / APIs & Services / Library / Google Enterprise API / Compute Engine API

    2. На открывшейся вкладке выберите ENABLE

    hashtag
    Создание образа

    1. Откройте Navigation menu / Products & solutions / Compute / Compute Engine

    2. Перейдите в раздел Storage / Images

    3. Выберите CREATE IMAGE для создания нового образа

    hashtag
    Создание виртуальной машины

    1. Во вкладке Compute Engine перейдите в раздел Virtual machines / VM Instance

    2. Выберите CREATE INSTANCE

    3. Введите имя виртуальной машины (Name), например mikopbx-vm

    1. В таблице Machine configuration / General purpose выберите Series - N1

    1. В разделе Machine type в выпадающем меню выберите Shared-core / f1-micro

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. В разделе Boot disk выберите CHANGE

    2. На открытой вкладке перейдите к CUSTOM IMAGES

    3. В поле Image выберите созданный ранее образ mikopbx-new-image

    1. В разделе Advanced options / Disks выберите ADD NEW DISK

    2. На открытой вкладке введите имя диска для хранения данных (Name), например disk-storage-mikopbx

    3. Укажите размер диска (Size) не менее 50Гб

    Если у вас есть ключ SSH, выполните следующее

    1. В разделе Advanced options / Security / MANAGE ACCESS выберите ADD ITEM

    2. Укажите его в поле SSH key

    Если у вас есть нет ключа SSH, сразу перейдите к пункту 18

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку CREATE

    hashtag
    Настройка портов для входящих соединений

    1. Откройте Navigation menu / VPC network / Firewall

    2. Выберите CREATE FIREWALL RULE для создания нового правила для входящего соединения

    3. Введите имя нового правила (Name), например internal-allow

    1. Укажите Direction of traffic - Ingress

    2. Укажите Targets

    3. Из выпадающего меню в поле Source filter выберите IPV4 ranges и в поле Source IPv4 ranges укажите 0.0.0.0/0

    1. В разделе Protocols and ports установите флажок TCP (Ports - 0-65535) и флажок UDP (Ports - 0-65535)

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку CREATE

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    hashtag
    Запуск АТС MikoPBX

    1. Откройте вкладку Compute Engine и перейдите в раздел Virtual machines / VM Instance

    2. Перейдите к созданной виртуальной машине mikopbx-vm

    3. На открытой вкладке перейдите к Logs / Serial port 1 (console)

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные в Serial port 1 (console) логин и пароль

    VirtualBOX

    Установка MikoPBX с помощью VirtualBox

    circle-exclamation

    Используйте для установки на VirtualBOX версии АТС MikoPBX ниже 2024.1.114

    Версия 2024.1.114 временно не поддерживает установку на VirtualBOX

    Vultr

    Установка MikoPBX с помощью сервиса Vultr

    triangle-exclamation

    Инструкция актуальна для версии 2024.2.138 и новее!

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

    Перед началом Вам необходимо скачать актуальный образ MikoPBX с расширением .iso. Сделать это можно на .

    Кастомизация системных файлов

    Описание возможностей раздела "Кастомизация системных файлов"

    Раздел «Кастомизация системных файлов» в MikoPBX предоставляет администраторам возможность напрямую изменять или дополнять стандартные конфигурационные файлы системы. Здесь вы можете внести индивидуальные настройки, которые не доступны через стандартный веб-интерфейс, и адаптировать поведение системы под специфические требования вашей организации.

    С его помощью можно:

    • Редактировать конфигурационные файлы: вносить изменения в существующие файлы или добавлять новые параметры.

    diskutil list
    sudo diskutil eraseDisk FAT32 NONAME  MBRFormat /dev/disk4;
    sudo diskutil unmountDisk /dev/disk4;
    sudo dd if=mikopbx-2024.1.114-x86_64.iso of=/dev/disk4 bs=1m;
    lsblk
    sudo mkfs.vfat -F 32 -n NONAME /dev/sdb
    sudo umount /dev/sdb*
    sudo dd if=mikopbx-2024.1.114-x86_64.iso of=/dev/sdb bs=1M
    diskutil list
    sudo diskutil eraseDisk FAT32 NONAME  MBRFormat /dev/disk4;
    sudo diskutil unmountDisk /dev/disk4;
    sudo dd if=mikopbx-2024.1.114-x86_64.raw of=/dev/disk4 bs=1m;
    lsblk
    sudo mkfs.vfat -F 32 -n NONAME /dev/sdb
    sudo umount /dev/sdb*
    sudo dd if=mikopbx-2024.1.114-x86_64.raw of=/dev/sdb bs=1M
    # Получение образа контейнера
    sudo docker pull ghcr.io/mikopbx/mikopbx-x86-64
    
    # Запуск контейнера в не привилегированном режиме
    sudo docker run --cap-add=NET_ADMIN --net=host --name mikopbx --hostname mikopbx \
               -v /var/spool/mikopbx/cf:/cf \
               -v /var/spool/mikopbx/storage:/storage \
               -e SSH_PORT=23 \
               -e ID_WWW_USER="$(id -u www-user)" \
               -e ID_WWW_GROUP="$(id -g www-user)" \
               -it -d --restart always ghcr.io/mikopbx/mikopbx-x86-64
    sudo docker ps
    sudo docker logs mikopbx
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    |               All services are fully loaded welcome                |
    |                       MikoPBX 2024.1.60.                           |
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    |                        Web Interface Access                        |
    |                                                                    |
    | Local Network Address:                                             |
    | https://10.0.0.4                                                   |
    |                                                                    |
    | Web credentials:                                                   |
    |    Login: admin                                                    |
    |    Password: admin                                                 |
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    | SSH access disabled!                                               |
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    # Создаем контейнер из tar архива
    sudo docker import \
      --change 'ENTRYPOINT ["/bin/sh", "/sbin/docker-entrypoint"]' \
      mikopbx-2024.1.114-x86_64.tar \
      "mikopbx:2024.1.114"
    
    # Запускаем созданный контейнер
    sudo docker run --cap-add=NET_ADMIN --net=host --name mikopbx --hostname mikopbx \
    	 -v mikopbx_cf:/cf \
    	 -v mikopbx_storage:/storage \
    	 -e SSH_PORT=23 \
    	 -e ID_WWW_USER="$(id -u www-user)" \
    	 -e ID_WWW_GROUP="$(id -g www-user)" \
    	 -it mikopbx:2024.1.114
    [2023-03-18 16:28:17] VERBOSE[21654][C-0000000f] app_stack.c: Spawn extension (SIP-1676196499-22-outgoing, 74952293042, 13) exited non-zero on 'PJSIP/302-0000001a'
    https://192.168.100.71/pbxcore/api/v3/mail-settings/oauth2-callback

    74952293042

    0

    74952293042

    74(95|99)

    7

    74952293042, 74996382584…

    (7|8)0{1}

    1

    700, 701, 802, 803…

    (25|26)

    0

    25, 26

    [0-9]{1}

    0

    цифра от 0 до 9-ти, вхождение один раз

    [1-5]{2}

    0

    12, 15, 14, 25 цифра от 1 до 5-ти, вхождение два раза

    [8-9]+

    0

    8899, 888, 988888 цифра от 8 до 9-ти, вхождение от одного и более раз

    приложения tcpdump

    Verbose

    Предоставляет пользователю доступ к чтению подробных логов

    Только чтение

    Agent

    Чтение событий статуса агентов из app_queue и chan_agent модулей

    Позволяет пользователю выполнять действия для управления и получения состояния очередей и агентов

    User

    Доступа к пользовательским событиям, а также событиям Jabber / XMPP пользователей

    Позволяет пользователю выполнять команду UserEvent, для создания пользовательских событий

    Config

    Только для записи

    Позволяет пользователю получать, обновлять и перегружать файлы конфигурации

    Command

    Только для записи

    Позволяет пользователю выполнять команды Asterisk CLI из AMI

    Dtmf

    Позволяет пользователю получать события DTMF

    Только чтение

    Reporting

    Доступ к событиям качества звонка, таким как jitterbuffer или RTCP

    Позволяет пользователю выполнять ряд действий для получения статистики и информации о состоянии всей системы

    Cdr

    Чтение событий записи данных в CDR

    Только чтение

    Dialplan

    Чтение событий установки переменных диалплана, создания "экстенов"

    Только чтение

    Originate

    Только для записи

    Разрешение пользователю выполнять команду Origitate, которая отправляет запрос на создание нового звонка

    Выберите файл из дистрибутива MikoPBX с расширением .raw
  • Введите название образа, например mikopbx_image

  • Завершив ввод значений, нажмите кнопку Создать образ

  • В поле Категория виртуальной машины выберите Все актуальные типы виртуальных машин
  • Укажите Тип виртуальной машины, исходя из ожидаемой нагрузки на АТС. Для тестовой машины можно указать STD2-1-1

  • Выберите Зону доступности

  • Включите переключатель Назначить внешний IP
    диск объемом 50+ Гб для хранения записей разговоров
    Укажите Источник - Пустой диск
  • Укажите Тип диска - Сетевой HDD-диск (ceph-hdd)

  • Выберите Зону доступности такую же, как и у инстанса

  • Укажите размер диска не менее 50Гб

  • Нажмите кнопку Создать группу
    Нажмите кнопку Сохранить правило
    На открытой вкладке перейдите в раздел Логи
    Для других полей используйте значения по умолчанию
  • Завершив ввод значений, нажмите кнопку Create

  • Дождитесь окончания загрузки файла

    Установите флажок Include Google-provided role grants

  • В таблице найдите строку с адресом электронной почты, заканчивающимся на @cloudbuild.gserviceaccount.com

  • Выберите Править (Edit principal)

  • Роли, которые должны быть предоставлены учетной записи службы Cloud Build, - Сompute Admin и Service Account User

  • Если нужных ролей нет, добавьте и нажмите SAVE

    Введите имя образа (Name), например mikopbx-new-image
  • Укажите тип источника (Source) - Virtual disk (VMDK, VHD)

  • Выберите Virtual disk file по ссылке BROWSE, Browse / miko-images / .vhd

  • Уберите флажок Install guest packages

  • В поле Operating system on virtual disk укажите - No operating system. Data only.

  • Для других полей используйте значения по умолчанию

  • Завершив ввод значений, нажмите кнопку Create и дождитесь окончания создания образа

  • диск объемом 50+ Гб для хранения записей разговоров
    Для других полей на вкладке используйте значения по умолчанию
  • Нажмите кнопку SELECT

  • Для других полей на вкладке используйте значения по умолчанию
  • Нажмите кнопку SAVE

  • https://console.cloud.google.com/projectselector2/iam-admin/iamarrow-up-right
    hashtag
    Создание виртуальной машины

    1. Скачайте программу VirtualBox по ссылкеarrow-up-right и установите ее.

    2. Создайте новую виртуальную машину.

    3. Укажите Имя и Папку машины.

    Тип - Linux.

    Версия - Other Linux (64Bit).

    Нажмите Далее.

    1. Укажите размер основной памяти - 1024 МБ, а так же количество процессоров - 2

    Нажмите Далее.

    5. Выберите Создать новый виртуальный жесткий диск. Введите размер диска 700 МБ, а так же поставьте галочку у пункта "Выделить место в полном размере"

    Нажмите Создать.

    6. Подтвердите создание виртуальной машины: нажмите кнопку Готово.

    hashtag
    Настройка виртуальной машины

    1. Перейдите к настройкам созданной виртуальной машины.

    Для этого нажмите Настроить.

    2. Перейдите на вкладку Носители. Добавьте новый жёсткий диск для хранения записей разговоров.

    3. В появившемся окне нажмите Создать.

    4. Формат жёсткого диска выберите - VDI (VirtualBox Disk Image).

    Нажмите Далее.

    5. Жёсткий диск должен быть фиксированного размера.

    Поставьте галочку рядом с пунктом "Выделить место в полном размере"

    Нажмите Далее.

    6. Укажите Имя создаваемого диска.

    Установите Размер диска порядка 50 ГБ.

    Нажмите Готово.

    7. Выделите вновь созданный диск и нажмите Выбрать.

    8. Созданный диск появиться в списке носителей.

    9. Смонтируйте на оптический диск образ MikoPBX. Для этого в разделе Носители выделите оптический диск и в разделе Атрибуты нажмите кнопку выбора файла образа.

    10. В появившемся меню нажмите Выбрать файл диска...

    11. Выберите скачанный ISO-образ диска и нажмите Открыть.

    12. Перейдите на вкладку «Сеть». Установите Тип подключения в значение Сетевой мост.

    Нажмите ОК для сохранения всех произведенных настроек.

    hashtag
    Установка MikoPBX

    1. Запустите созданную виртуальную машину.

    2. Откроется командный интерфейс АТС. АТС начнет загружаться.

    На данном этапе MikoPBX загружается с оптического диска, на который записан ISO-образ. На это нам указывает строчка: "The system is loaded in Recovery mode".

    circle-info

    Перемещаться по пунктам меню можно клавишами управления курсоромarrow-up-right.

    Выбрать пункт меню - клавиша Enter.

    Также можно выбирать пункт меню нажав на буквенно-цифровом блоке клавиатурыarrow-up-right соответствующую пункту цифру.

    3. Переключите язык интерфейса на русский. Для этого выполните Change Language -> Русский. Меню примет вид.

    4. Произведите установку MikoPBX.

    triangle-exclamation

    Все данные на диске, куда устанавливается MikoPBX, будут потеряны.

    Нажмите Выполнить установку.

    5. Отобразится информация о всех доступных дисках (в данном примере: sdb, sdc).

    circle-exclamation

    Диск, на который будет установлена MikoPBX, называется системным (SYSTEM). В качестве системного диска можно выбрать диск, размер которого превышает 500 Мб.

    6. Введите с клавиатуры имя диска, который вы подразумевали под "системный", в текущем случае sdb и нажмите Enter (Если он выбран по умолчанию можно просто нажать Enter).

    7. Система запросит подтверждение. Введите - y и нажмите Enter.

    8. После выполнения установки будет предложено выбрать диск для хранения записей разговоров.

    circle-info

    Ориентировочно, 1 час разговора занимает 14Мб места на диске.

    Введите имя диска (в данном примере - единственный доступный диск sdc) и нажмите Enter.

    9. После завершения установки система перезагрузится.

    Теперь MikoPBX будет запускаться с диска sdb, на который вы ее установили. Увидим, что строчка «The system is loaded in Recovery mode» отсутствует.

    На этом установка MikoPBX завершена.

    hashtag
    Первый вход в MikoPBX

    Для того, чтобы открыть панель управления вам надо вбить в строку браузера IP-адрес вашей виртуальной машины.

    Логин и пароль по умолчанию - admin

    На этом установка MikoPBX на завершена.

    hashtag
    Загрузка образа в Vultr

    hashtag
    Загрузка файла в хранилище

    Для начала необходимо загрузить образ в облачную платформу.

    1. Перейдите в раздел "Cloud Storage" -> "Object Storage":

    Раздел "Object Storage"
    1. Необходимо создать новое хранилище. Для этого нажмите "Add Object Storage":

    Элемент "Add Object Storage"
    1. Выберите тип хранилища (рекомендуется использовать самый базовый, так как он нужен только для хранения файла образа диска). Так же укажите название.

    2. Перейдите в созданное хранилище, нажав на его название:

    Название хранилища
    1. Перейдите во вкладку "Buckets" и создайте новый Bucket с произвольным названием.

    Новый Bucket
    1. В информации о хранилище, будут указаны данные для S3 подключения.

    Данные для S3-подключения
    1. Далее необходимо подключиться к хранилищу через WinSCP. Для этого, перейдем в его интерфейс. Выберите "New Site":

    "New Site"
    1. Укажите следующие параметры:

    • "File protocol" - Amazon S3.

    • "Encryption" - TLS/SSL Implict encryption.

    • "Port number" - 443.

    • "Host Name", "Access key ID", "Secret access key" - параметры из информации о хранилище.

    Нажмите "Login".

    Параметры авторизации
    1. Загрузите файл образа диска в хранилище.

    Загрузка файла в хранилище
    1. Вернитесь в интерфейс Vultr, перейдите в директорию Вашего Bucket'а.

    Директория Bucket'а
    1. Нажмите на три точки справа от названия файла. Перейдите в раздел "Change Access". Разрешите доступ, переключив тумблер.

    Разрешение доступа

    hashtag
    Импорт образа

    1. Нажмите на три точки справа от названия файла. Скопируйте URL.

    Элемент "Copy URL"
    1. Перейдите в раздел "Orchestration" -> "ISOs":

    Раздел "ISOs"
    1. Нажмите "Add ISO":

    Элемент "Add ISO"
    1. Вставьте ссылку на ранее загруженный файл, нажмите "Upload".

    hashtag
    Добавление связки SSH-ключей

    1. Перейдите в раздел "Account" -> "SSH Keys". Нажмите "Add SSH Key"

    Элемент "Add SSH Key"
    1. Сгенерируйте пару SSH ключей по инструкции.

    2. В интерфейсе добавления пары SSH-ключей введите произвольное название, а так же вставьте сгенерированный ключ.

    Нажмите "Add SSH Key".

    Добавление связки

    hashtag
    Создание виртуальной машины

    1. Перейдите в раздел "Products" -> "Compute":

    Раздел "Compute"
    1. Нажмите "Deploy Server":

    Элемент "Deploy Server"
    1. В открывшемся разделе выберите регион и конфигурацию вашей виртуальной машины.

    Параметры ВМ №1
    1. Перейдите далее.

    • Выберите "ISO/iPXE" -> Ранее загрузочный образ.

    • Так же выберите ранее созданную пару SSH-ключей.

    Нажмите "Deploy".

    Параметры ВМ №2

    hashtag
    Создание второго диска

    После создания сервера, остановите его запуск.

    1. Перейдите в раздел "Cloud Storage" -> "Block Storage":

    Раздел "Block Storage"
    1. Нажмите "Add Block Storage":

    Элемент "Add Block Storage"
    1. Выберите тип диска, регион (такой же как у ранее созданной виртуальной машины), размер, а так же укажите произвольное название.

    circle-check

    Рекомендуемый размер диска для хранения записей разговоров - не менее 50Гб.

    1. Перейдите в раздел управления созданным диском. Прикрепите диск к созданной виртуальной машине используя пункт "Attach to:"

    Элемент "Attach to"

    hashtag
    Установка системы

    1. Перейдите в меню управления виртуальной машиной.

    Меню управления виртуальной машиной
    1. Перейдите в консоль, нажав на соответствующий элемент.

    Элемент для открытия консоли
    1. Вы попадете во встроенную консоль.

    Встроенная консоль
    1. Перейдите в "[8] Install".

    2. Выберите диск, который будет использован в качестве системного. Подтвердите действия - введите "y" и нажмите "Enter":

    Выбор системного диска
    1. Выберите диск для хранения записей разговоров. Система перезагрузится.

    2. Перейдите в настройки виртуальной машины "Settings", далее в "Custom ISO". Нажмите "Remove ISO".

    Элемент "Remove ISO"

    На данном этапе система установлена и готова к работе!

    hashtag
    Подключение к WEB-интерфейсу

    1. В адресную строку введите IP-адрес Вашей виртуальной машины. Найти его Вы можете в консоли MikoPBX.

    IP-адрес станции
    1. Введите следующие данные для авторизации:

    • Логин - admin

    • Пароь - ID-виртуальной машины. Оно имеет вид "150dd137-a0e2-45f6-baf9-ddc15a600d60", найти его Вы можете в адресной строке (скриншот ниже)

    ID виртуальной машины
    web-Интерфейс MikoPBX
    github MikoPBXarrow-up-right
    Переопределять стандартные настройки: изменять значения по умолчанию для определенных функций или модулей.
  • Добавлять собственные скрипты или модули: расширять функциональность системы путем интеграции пользовательских решений.

  • Он находится в Система -> Кастомизация системных файлов:

    Раздел "Кастомизация системных файлов"

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

    Мы рекомендуем использовать возможности данного раздела только опытным администраторам Asterisk. В MikoPBX есть возможность из web-интерфейса изменять следующие конфигурационные файлы:

    Наименование файла

    Описание

    asterisk.conf

    Общие (глобальные) настройки Asterisk. В файле конфигурации asterisk.conf Вы определяете следующее: -Местоположение, права доступа и владельца сокета, которые используется для подключения удаленной консоли управления сервером. Местоположение различных директорий, используемых сервером Asterisk для определения местоположения файлов конфигурации, библиотек, скриптов и место, где будут создаваться лог фалы. Параметры командной строки запуска сервера, используемые по умолчанию.

    cel.conf

    Лог событий канала. В отличии от CDR, сохраняет все события имевшие место в канале.

    extensions.conf

    План набора (dialplan) Asterisk. В нем определяется обработка и маршрутизация входящих и исходящих вызовов. Этот файл управляет поведением всех соединений, проходящих через Вашу АТС.

    features.conf

    В файле назначаются пользовательские коды и опции абонентских функций Asterisk, такие как: перевод вызова (transfer); перехват вызова (pickup); запись по требованию (record on demand); таймауты набора и переадресации (digit timeout); паркинг (park) и др.

    http.conf

    Встроенный http сервер Asterisk

    iax.conf

    В файле Вы описываете ваши соединения по протоколу IAX.

    Для редактирования конфигурационного файла воспользуйтесь кнопкой:

    Перед Вами будет открыта форма редактирования конфигурационного файла:

    Меню кастомизации системного файла /acl.conf (пример)

    Выберите один из четырех возможных вариантов редактирования:

    • «Не менять» - не позволяет вносить изменения в файл, только чтение файла.

    • «Добавлять в конец файла» - в конец выбранного конфигурационного файла будут добавлены (рекомендуемый).

    • «Заменять полностью» - все Ваши изменения переопределят конфигурационный файл.

    • Режим "Script" - читайте далее.

    hashtag
    Кастомизация системных файлов скриптом

    Существуют сценарии, когда нужно выполнить более сложные модификации системных файлов, чем простое добавление текста в конец конфигурационного файла. Например, нужно выполнить переопределение параметров PJSIP учетных записей, но хочется сохранить возможность настройки системы через веб интерфейс.

    Реализован новый подход к кастомизации. Можно описать bash скрипт, который будет выполняться каждый раз после того, как система сформирует конфигурационный файл. В итоге интегратор сможет делать очень тонкие изменения конфигурационных файлов без разработки дополнительных модулей.

    Например, мы хотим поменять значение max_contacts у всех сотрудников, кроме одного.

    Кастомизация файлов "скриптом"

    hashtag
    sip.conf

    Добавить параметры к существующей секции возможно используя конструкцию (+):

    Описать новую секцию можно в произвольной форме, единственное, не следует допускать повторения имен секций: Пример:

    hashtag
    extensions.conf

    triangle-exclamation

    Дорабатывайте dialplan с осторожностью - есть большая вероятность нарушить работу АТС!

    Существует возможность перехватить выполнения dialplan. Для этого необходимо описать custom контексты. На текущий момент можно перехватить выполнения в следующих контекстах:

    • internal-originate-custom - контекст используется при звонках из панели телефонии для 1С

    • <ID-ПРОВАЙДЕРА>-incoming-custom - контекст предназначен для обработки входящих вызовов через провайдера

    • <ID-ПРОВАЙДЕРА>-outgoing-custom - контекст предназначен для обработки исходящих вызовов через провайдера

    • all_peers-custom - контекст используется при прямом исходящем звонке с телефона

    • outgoing-custom - контекст используется при наборе внешнего номера, ДО выбора исходящего маршрута

    • add-trim-prefix-clid-custom - этот контекст используется при обработке входящих вызовов, лучшим образом подходит для нормализации входящего номера телефона, добавить / отсечь префикс

    • internal-users-custom - в этом контексте обрабатываются вызовы на внутренние номера

    • public-direct-dial-custom - контекст обработки входящих вызовов БЕЗ авторизации

    Пример контекста:

    Обязательно следует в конце вызывать метод «return».

    circle-info

    Некоторые примеры использования custom-контекстов:

    • Звонок через определённого провайдера

    • Настройка исходящего AOH для сотрудника

    документации к Docker...arrow-up-right

    AWS подробная инструкция

    Установка MikoPBX в AWS с помощью произвольного образа

    Авторизуйтесь в сервисе Amazon Web Services https://aws.amazon.comarrow-up-right

    Для выполнения инструкций установите утилиту командной строки Amazon, для этого откройте Терминал и введите в командной строке

    Приступим к настройке

    circle-info

    Для быстрого и удобного поиска в сервисе Amazon используйте панель поиска

    hashtag
    Копирование ключей доступа

    1. Перейдите к своему аккаунту

    2. В выпадающем меню выберите Security credentials

    Если у вас нет ключа доступа, выполните следующее

    1. В таблице Access keys выберите Create access key

    2. Скопируйте Access key и Secret access key

    Если у вас есть ключ доступа, скопируйте Access key и Secret access key

    hashtag
    Создание бакета

    1. Откройте Services / Storage / S3

    2. На вкладке выберите Create bucket

    3. Введите уникальное имя бакета (Bucket name)

    1. Для других полей используйте значения по умолчанию

    2. Завершив ввод значений, нажмите кнопку Create bucket

    1. Откройте созданный бакет и выберите Upload

    2. На открывшейся вкладке выберите Add files

    3. Загрузите файл из дистрибутива MikoPBX с расширением .raw

    hashtag
    Добавление прав и прикрепление политик

    Если для данного облака не выполнялось, сделайте один раз

    1. Создайте отдельную папку для файлов на компьютере

    2. Создайте в папке файл trust-policy.json

      1. Откройте Терминал и перейдите к созданной папке

    1. Аналогично создайте файл role-policy.json, измените значение имени бакета в тексте на имя созданного вами бакета

    1. Аналогично создайте файл import-image.sh, измените значения параметра DEFAULT_BUCKET на имя созданного вами бакета и параметра DEFAULT_IMAGE на имя образа, загруженного в бакет

    1. Выполните команду aws configure, укажите регион и скопированные ключи Access key и Secret access key

    1. Выполните команду

    1. Выполните команду

    1. Выполните команду

    В случае успешного выполнения команды будет сформирован уникальный идентификатор образа AMI

    hashtag
    Создание виртуальной машины

    1. Откройте Services / Compute / EC2 и перейдите в раздел Images / AMIs

    2. Выберите созданный образ и нажмите кнопку Launch an instance form AMI для создания виртуальной машины

    1. Введите имя виртуальной машины (Name), например mikopbx-vm

    1. Укажите тип машины (Instance type) - t3.micro

    Если у вас есть ключ SSH, выполните следующее

    1. Укажите SSH ключ в поле Key pair

    Если у вас есть нет ключа SSH, выполните следующее

    1. Выберите Create new key pair и укажите имя пары ключей (Key pair name), например mikopbx_key

    Следуйте дальше по инструкции

    1. В разделе Network settings установите флажки Allow SSH traffic и Allow HTTPS traffic

    triangle-exclamation

    Для развертывания АТС используйте два диска:

    • диск объемом 1 Гб для основной системы

    1. При необходимости измените размер диска для хранения данных в разделе Configure storage, по умолчанию его размер - 50Гб

    1. Для других полей используйте значения по умолчанию

    2. Нажмите кнопку Launch instance

    hashtag
    Запуск АТС MikoPBX

    1. Перейдите к созданной виртуальной машине mikopbx-vm

    2. На открытой вкладке выберите Connect / EC2 serial console, дождитесь полной загрузки системы, пока не отобразятся параметры авторизации

    1. Скопируйте внешний адрес созданной виртуальной машины и введите его в строке браузера

    2. Для входа используйте указанные в EC2 serial console логин и пароль

    triangle-exclamation

    Обязательно выполните настройку Firewall на самой АТС MikoPBX

    Alibaba cloud

    Установка MikoPBX с помощью сервиса Alibaba cloud

    triangle-exclamation

    Инструкция актуальна для версии 2024.2.135 и новее!

    В данной инструкции мы пошагово произведем установку MikoPBX с помощью облачной платформы Alibaba cloud.

    Перед началом Вам необходимо скачать актуальный образ MikoPBX с расширением .raw. Сделать это можно на github MikoPBXarrow-up-right.

    hashtag
    Загрузка образа в Alibaba cloud

    hashtag
    Создание Bucket

    Для начала необходимо создать bucket для хранения образа. Для этого необходимо перейти в "OSS Management Console" ().

    1. Перейдите в раздел "Buckets".

    1. Нажмите "Create Bucket" для создания нового Bucket'а:

    1. Заполните следующие данные:

    • "Bucket name" - произвольное название для хранилища.

    • "Region" - выберите регион, где будет храниться ваш образ

    triangle-exclamation

    Регион у хранилища для образа и регион виртуальной машины должны совпадать!

    Нажмите "OK".

    1. Перейдите в созданный bucket, нажав на его название в разделе "Buckets":

    1. Нажмите "Upload object" и загрузите ранее скаченный файл образа диска в формате .raw (все параметры оставьте по умолчанию).

    1. После того, как файл образа диска будет загружен, Вам необходимо скопировать ссылку на него. Для этого нажмите "View Details" справа от названия файла, в открывшемся меню скопируйте ссылку из поля "URL".

    hashtag
    Создание образа

    1. Вернитесь в ECS Console (). Перейдите в раздел "Images".

    1. Нажмите "Import Image" для испорта образа из хранилища (Bucket):

    1. В открывшейся вкладке выберите "Linux Operating System" и нажмите "Next".

    2. Введите/выберите следующие параметры для образа:

    • "Image File URL" - вставьте ранее скопированную ссылку на загруженный файл образа диска.

    • "Image Name" - введите произвольное, уникальное название для Вашего образа.

    • "OS Type" - linux

    Нажмите "OK" для создания образа. Дождитесь его создания (при завершении в поле Status вы увидите надпись Available)

    hashtag
    Создание пары SSH-ключей

    Далее необходимо создать и добавить связку SSH ключей в Alibaba Cloud.

    1. В ESS Консоли перейдите в раздел "Network Security" -> "Key Pairs":

    1. Нажмите "Create SSH Key Pair".

    1. Далее необходимо сгенерировать пару SSH-ключей. Про то как это сделать - Вы можете прочитать . Далее заполните все необходимые данные:

    • "Name" - произвольное название для создаваемой связки ключей

    • "Creation Mode" - Import

    • "Public Key" - вставьте Ваш публичный ключ, сгенерированный ранее

    Нажмите "OK" для создания связки ключей в облаке

    hashtag
    Создание группы правил

    Перед созданием виртуальной машины так же нужно создать и группу правил (firewall).

    1. Перейдите в раздел "Network & Security" -> "Security Groups"

    1. Нажмите "Create Security Group":

    1. Укажите следующие параметры для группы правил:

    • "Security Group" - введите произвольное название для группы правил.

    • "Network" - выберите вашу сеть. Если она не созданна - нажмите "Create VPC" справа от поля.

    • "Security Group" - Basic Security Group.

    circle-info

    Обязательно настройте firewall в самой MikoPBX как можно раньше после создания виртуальной машины. Подробнее про то как это сделать, Вы можете прочитать .

    Нажмите "Create Security Group".

    hashtag
    Создание виртуальной машины

    1. Перейдите в раздел "Instances & Images" -> "Instances":

    1. Нажмите "Create Instance" для создания новой виртуальной машины.

    1. Выберите параметры для вашей виртуальной машины:

    • "Billing Method" - выберите вариант оплаты ВМ.

    • "Region", "Network and Zone" - выберите параметры региона и зоны, подходящие Вам.

    • "Instance" - выберите конфигурацию Вашей виртуальной машины.

    1. Выберите параметры для вашей виртуальной машины:

    • "Image" - выберите "Custom Images" -> Загруженный ранее образ

    • "Storage" - выберите тип и размер "System Disk". 20 Гб - минимально возможный в Alibaba Cloud.

    • Добавьте второй диск, нажав "Add Data Disk". Укажите его тип и размер.

    circle-info

    Рекомендуемый размер диска для хранения записей разговора - не менее 50ГБ. В данной инструкции, в качестве примера, используется диск размером 30ГБ.

    1. Выберите параметры сети для Вашей ВМ. Группа правил будет назначена автоматически (ранее созданная):

    1. Нажмите "Create Order".

    hashtag
    Подключение к консоли MikoPBX

    В разделе "Instances" перейдите к созданной виртуальной машине, нажав на ее название.

    hashtag
    Подключение из встроенной в облако консоли

    1. Нажмите "Connect".

    1. Выберите "VNC". Произойдет подключение в новой вкладке Вашего браузера.

    hashtag
    Подключение по SSH

    circle-info

    Подробнее про SSH-подключения Вы можете узнать . В данной документации, в качестве примера будет продемонстрировано подключение по SSH через PowerShell.

    Введите следующую команду для SSH-подключения:

    Замените C:\Users\username\.ssh\id_ed25519 на путь к ssh-ключам; root- на Ваше имя для ssh-авторизации (если оно было изменено при создании ВМ); ip-adress - на Внешний адрес MikoPBX.

    Произойдет подключение по SSH:

    hashtag
    Первая авторизация в WEB-интерфейсе

    На главной странице виртуальной машины находятся несколько важных параметров для авторизации в WEB-интерфейсе.

    Вставьте IP-адрес в адресную строку браузера - Вы попадете на страницу авторизации в web-интерфейс MikoPBX.

    circle-info

    Данные для входа:

    • Username - admin

    • Password - ID Вашей виртуальной машины

    Очереди вызовов

    Создание и настройка очередей вызовов.

    Очереди позволяют:

    1. Распределять телефонные звонки между группой сотрудников (агентов): Вы можете создать очередь вызовов и добавить в нее несколько сотрудников. Когда поступает звонок, система автоматически направляет его к доступному сотруднику в очереди, обеспечивая более равномерное распределение нагрузки и повышая эффективность обработки вызовов.

    2. Удерживать клиента на линии, если все сотрудники заняты: Если все сотрудники в очереди заняты обработкой других вызовов, клиент будет удерживаться на линии, пока не освободится один из сотрудников. Это помогает избежать потери вызовов и обеспечивает более качественное обслуживание клиентов.

    Провайдеры телефонии

    Подключение и настройка провайдеров телефонии в MikoPBX

    «Провайдеры телефонии» в MikoPBX — это раздел системы, где настраиваются подключения к внешним операторам связи через интернет-протоколы для IP-телефонии. Здесь администраторы могут добавлять и настраивать учетные записи SIP-транков или других типов соединений, которые позволяют системе совершать и принимать звонки с городских и мобильных номеров.

    Чтобы совершать или принимать внешние телефонные звонки по телефонной сети общего пользования или Интернет, вы должны создать, по крайней мере, одну учетную запись провайдера. Каждая технология имеет свой тип учетной записи. Для добавления новой учетной записи или изменения существующей, перейдите в "Маршрутизация" -> "Провайдеры телефонии":

    Обзор провайдеров содержит список всех доступных поставщиков услуг. Зеленый значок перед именем поставщика означает, что MikoPBX зарегистрировала этого провайдера, и Вы можете начать работу с этим провайдером. С помощью переключателя слева можно включать использование провайдера и отключать соответственно:

    Приложения диалпланов

    Создание и настройка приложений диалплана

    Приложения диалпланов - это программируемые голосовые приложения на PHP и Asterisk Dialplan. MikoPBX поставляется с несколькими предварительно сконфигурированными приложениями. С некоторыми базовыми знаниями планов набора Asterisk можно легко создавать дополнительные приложения. Как и учетная запись телефона, приложения могут иметь внутренний номер, присвоенный в настройках.

    Ниже вы увидите описание базовых приложений, включенных в MikoPBX:

    Номер приложения
    Описание приложения
    [general](+)
    allowtransfer=yes
    [user2_pingtel]
    type=friend
    username=user2_pingtel
    secret=blah
    host=dynamic
    qualify=1000 ; Рассматриваем клиента как неработающего,
    ; если ответ от него идет более 1 сек.
    callgroup=1,3-4 ; Клиент является членом групп вызовов: 1, 3 и 4
    pickupgroup=1,3-4 ; Мы можем совершать "pick-up" вызовов, нажатием *8,
    ; для вызовов из групп 1, 3 и 4
    defaultip=192.168.0.60
    disallow=all
    allow=ulaw
    allow=alaw
    allow=g729
    [outgoing-custom]
    exten => _X!,1,NoOp(--- hangup - ${CHANNEL} ---)
    	same => n,return
    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" 
    sudo installer -pkg AWSCLIV2.pkg -target /

    indications.conf

    Национализация тональных сигналов

    logger.conf

    Настройка логов Asterisk. В данном файле настраивается логирование событий Asterisk в файлы, консоль и syslog linux. Для применения настроек выполните команду «logger reload» в консоли (CLI) Asterisk.

    manager.conf

    Настройка интерфейса AMI (Asterisk Manager Interface)

    modules.conf

    Параметры загрузки модулей Asterisk.

    musiconhold.conf

    Параметры музыки на удержание в IVR

    queues.conf

    Очередь входящих вызовов Asterisk. Подробное описание стратегии вызовов. Penalty, timeout, member и все доступные параметры.

    rtp.conf

    Глобальные настройки RTP - медиа-портов и протокола

    sip.conf

    Файл отвечает за настройку внутренних и внешних каналов SIP в Asterisk.

    voicemail.conf

    Настройки уведомлений по E-mail

    jail.local

    Настройки Fail2ban

    msmtp.conf

    Настройки SMTP-клиента

    Нажмите кнопку Upload
  • Дождитесь окончания загрузки файла

  • Выполните команду vi trust-policy.json
  • Перейдите в режим редактирования, нажав i, вставьте текст

  • Нажмите ESC и напишите :wq, чтобы записать файл

  • диск объемом 50+ Гб для хранения записей разговоров
    vi trust-policy.json
    {
    "Version": "2012-10-17",
        "Statement":
        [
            {
                "Effect": "Allow",
                "Principal": { "Service": "vmie.amazonaws.com" },
                "Action": "sts:AssumeRole",
                "Condition": {
                    "StringEquals":{"sts:Externalid": "vmimport"}
                }
            }
        ]
    }
    {
        "Version":"2012-10-17",
        "Statement":
        [
            {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
                ],
            "Resource": [
                "arn:aws:s3:::mikopbx-bucket",
                "arn:aws:s3:::mikopbx-bucket/*"
                ]
            },
            {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifySnapshotAttribute",
                "ec2:CopySnapshot",
                "ec2:RegisterImage",
                "ec2:Describe*"
            ],
            "Resource": "*"
            }
        ]
    }
    #!/bin/bash
    
    # Определение переменных по умолчанию
    DEFAULT_IMAGE="mikopbx-2024.1.40-dev-x86_64.raw"
    DEFAULT_BUCKET="mikopbx-bucket"
    DEFAULT_DESCRIPTION="MikoPBX the best open source PBX on asterisk"
    DEFAULT_NAME="MikoPBX 2024.1.40-dev"
    
    # Переопределение переменных значениями переменных окружения, если они установлены
    IMAGE="${IMAGE:-$DEFAULT_IMAGE}"
    BUCKET="${BUCKET:-$DEFAULT_BUCKET}"
    DESCRIPTION="${DESCRIPTION:-$DEFAULT_DESCRIPTION}"
    NAME="${NAME:-$DEFAULT_NAME}"
    
    # Файл JSON для команды import-snapshot
    JSON_FILE="disk_container.json"
    
    # Создание файла JSON
    cat <<EOF> ${JSON_FILE}
    {
      "Description": "${DESCRIPTION} image",
      "Format": "raw",
      "UserBucket": {
    	"S3Bucket": "${BUCKET}",
    	"S3Key": "${IMAGE}"
      }
    }
    EOF
    
    # Импорт снимка
    IMPORT_TASK_ID=$(aws ec2 import-snapshot --description "${DESCRIPTION} image" --disk-container "file://${JSON_FILE}" --query 'ImportTaskId' --output text)
    
    echo "Import task started with ID: $IMPORT_TASK_ID"
    
    # Ожидание завершения импорта снимка
    while true; do
    	STATUS=$(aws ec2 describe-import-snapshot-tasks --import-task-ids $IMPORT_TASK_ID --query 'ImportSnapshotTasks[0].SnapshotTaskDetail.Status' --output text)
    	echo "Current status: $STATUS"
    	if [ "$STATUS" == "completed" ]; then
    		break
    	fi
    	sleep 30
    done
    
    # Получение SnapshotId
    SNAPSHOT_ID=$(aws ec2 describe-import-snapshot-tasks --import-task-ids $IMPORT_TASK_ID --query 'ImportSnapshotTasks[0].SnapshotTaskDetail.SnapshotId' --output text)
    
    # Регистрация AMI
    AMI_ID=$(aws ec2 register-image \
    	  --name "$NAME" \
    	  --description "$DESCRIPTION" \
    	  --architecture x86_64 \
    	  --sriov-net-support simple \
    	  --virtualization-type paravirtual \
    	  --ena-support \
    	  --boot-mode legacy-bios \
    	  --root-device-name "/dev/sda1" \
    	  --block-device-mappings "[{\"DeviceName\": \"/dev/sda1\", \"Ebs\":{\"DeleteOnTermination\":true, \"VolumeSize\":1, \"SnapshotId\":\"$SNAPSHOT_ID\"}}, {\"DeviceName\": \"/dev/sdb\", \"Ebs\":{\"VolumeSize\":50}}]" \
    	  --query 'ImageId' \
    	  --output text)
    
    echo "AMI created with ID: $AMI_ID"
    aws configure
    aws iam create-role --role-name vmimport --assume-role-policy-document "file://trust-policy.json"
    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://role-policy.json"
    sh import-image.sh

    "OS Version" - Others Linux

  • "Architecture" - 64-bit OS

  • Уберите галочку с чек-бокса "Check After Import".

  • "Resource Group" - выберите Вашу ресурсную группу в облаке

    "Resource Group" - выбрите Вашу группу ресурсов.

  • Разрешите все входящие подключения (пример на скриншоте ниже). Все исходящие подключения разрешены по умолчанию.

  • ссылкаarrow-up-right
    ссылкаarrow-up-right
    здесь
    здесь
    в этом блоке статей
    OSS Консоль
    Раздел "Buckets"
    Элемент "Create bucket"
    Параметры Bucket'а
    Созданный bucket
    Элемент "Upload object"
    Ссылка на файл образа диска
    Раздел "Images"
    Элемент "Import Image"
    Параметры импорта образа
    Раздел "Key Pairs"
    Элемент "Create SSH Key Pair"
    Параметры создаваемой связки ключей
    Раздел "Security Groups"
    Элемент для создания новой группы правил
    Параметры группы правил
    Раздел "Instances"
    Элемент "Create Instance"
    Параметры виртуальной машины №1
    Параметры виртуальной машины №2
    Параметры сети
    Элемент "Create Order"
    Переход к созданной виртуальной машине
    Элемент "Connect"
    VNC консоль
    Команда для ssh-подключения
    SSH-подключение
    Важные параметры для авторизации в web-интерфейс
    WEB-интерфейс MikoPBX

    Оповещать клиента о позиции в очереди и приблизительном времени ожидания: При нахождении клиента в очереди система может предоставлять информацию о его текущей позиции в очереди и ориентировочное время ожидания. Это помогает удержать клиента в курсе ситуации и улучшает его опыт общения.

  • Передавать на телефон сотрудника имя очереди, вместе с номером клиента: Когда сотрудник принимает вызов из очереди, на его телефоне отображается не только номер клиента, но и имя соответствующей очереди. Это помогает сотруднику более эффективно обрабатывать вызовы и предоставлять персонализированное обслуживание.

  • Для настройки очередей вызовов в MikoPBX следует перейти в раздел "Телефония" и выбрать "Очереди вызовов". Здесь вы сможете создать и настроить свои очереди в соответствии с требованиями вашего бизнеса и потребностями обслуживания клиентов.

    Раздел "Очереди вызовов"
    circle-exclamation

    Длительность вызова на очередь по умолчанию равна 300 секундам. После истечения этого времени вызов будет завершен. Для обхода этого ограничения следует настроить Сценарий 1 (см. далее инструкции Маршрутизация звонков при сбоях).

    hashtag
    Основные параметры

    Для добавления новой очереди выполните действие Создать новую очередь.

    Элемент "Создать новую очередь"
    • Укажите Название очереди - при настройке маршрутизации вы будете ориентироваться на него.

    • Заполните описание в поле Заметка - оно будет доступно в списке очередей.

    Параметры для новой очереди вызовов

    hashtag
    Стратегия и операторы очереди

    В разделе Операторы очереди можно добавить произвольное число сотрудников (агентов очереди) и указать стратегию распределения вызовов.

    Раздел "Операторы очереди"

    hashtag
    Вызов на любого свободного

    "Вызов поступает на любого свободного участника очереди кроме участника, обработавшего последний вызов" - эта стратегия также именуется как "rrmemory" - Round Robin Memory.

    АТС помнит, кому был направлен последний вызов, и следующий вызов отправляется следующему оператору в списке.

    Порядок списка сотрудников можно определить в разделе "Операторы очереди", перетаскиванием можно переместить оператора вверх или вниз.

    Пример:

    Если у вас описаны: Оператор1, Оператор2, Оператор3, и последний вызов был направлен Оператор2, то следующий вызов пойдёт Оператор3, потом Оператор1, и т.д. — в цикле, не с начала, а с "места остановки".

    "Время попытки дозвона операторам" - для данной стратегии параметр определяет длительность попытки звонка оператору. Если оператор не ответил, то АТС пытается звонить следующему доступному согласно условиям стратегии.

    hashtag
    Вызов одновременно на всех

    Вызов поступает одновременно на всех участников очереди, включая тех, кто занят (по умолчанию) - также эта стратегия именуется как "ringall"

    АТС будет инициировать вызов всем оператором очереди одновременно. Следует учитывать, что скорость поступления вызову оператору зависит от сети предприятия. Пример:

    Если в очереди определены операторы

    • Оператор с внутренним номером, подключен стационарный IP телефон в локальной сети - вызов поступит мнгновенно

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

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

    Задержка поступления вызова связана с особенностями внешних сетей (относительно предприятия), но начало вызова происходит одновременно.

    "Время попытки дозвона операторам" - спустя это время вызов всем операторам завершится и инициируется новый вызов.

    hashtag
    Вызов на того, кто дольше не принимал вызовы

    Вызов поступает на участника очереди, который дольше всех не принимал звонки - также эта стратегия именуется как "leastrecent"

    Каждый новый вызов направляется оператору, который дольше всех не принимал вызовов, анализируется только последний отвеченный вызов.

    Пример:

    • 101 — последний вызов: 10:00

    • 102 — последний вызов: 10:05

    • 103 — последний вызов: 09:50← самый старый

    Как "Время попытки дозвона операторам" = 20 влияет на вызов:

    1. АТС набирает номер 103 (он дольше всех не принимал вызов).

    2. Проходит 20 секунд → оператор не ответил.

    3. АТС считает, что агент недоступен, и НЕ обновляет время последнего вызова (вызов не был принят!)

    4. Очередь выбирает снова 103 (он дольше всех не принимал вызов).

    ⚠️ Ключевой момент: если агент не ответил — он всё ещё считается "не занятым", и может быть выбран снова в ближайшем будущем, потому что его "время последнего вызова" не обновилось.

    Счетчик отвеченных вызовов сбрасывается при перегрузке АТС.

    hashtag
    Вызов на того, кто меньше отвечал на вызовы

    Вызов поступает на участника очереди, который обработал меньше всего звонков - также эта стратегия именуется как "fewestcalls"

    Каждый новый вызов направляется оператору, который меньше всех принимал вызовов, анализируется только количество отвеченных вызов.

    Пример:

    • 101 — всего вызов: 1 ← меньше всего вызовов

    • 102 — всего вызов: 5

    • 103 — всего вызов: 3

    Счетчик отвеченных вызовов сбрасывается при перегрузке АТС.

    Как "Время попытки дозвона операторам" = 20 влияет на вызов:

    1. АТС выбирает 101 (меньше всех обработал вызов).

    2. Проходит 20 секунд → оператор не ответил.

    3. АТС считает, что агент недоступен, и НЕ обновляет количество вызовов (вызов не был принят!),

    4. Очередь выбирает снова 101 (меньше всех обработал вызов).

    ⚠️ Ключевой момент: если агент не ответил — он всё ещё считается "не занятым", и может быть выбран снова в ближайшем будущем, потому что его "количество отвеченных вызовов" не обновилось.

    hashtag
    Вызов на любого свободного

    Вызов поступает на любого свободного участника очереди - также эта стратегия именуется как "random" - вызов случайного оператора.

    "Время попытки дозвона операторам" - спустя это время вызов оператору завершится и инициируется вызов на следующего произвольного сотрудника

    hashtag
    Вызов поступает на каждого участника очереди по порядку

    Также эта стратегия именуется как "linear".

    Пример операторов:

    • 101 ← вызов всегда будет поступать сперва на этого сотрудника

    • 102 - спустя "Время попытки дозвона операторам" вызов оператору завершится и инициируется вызов на следующего

    • 103

    circle-info

    В asterisk есть ограничение: "Changing to the linear strategy currently requires asterisk to be restarted"

    После изменения стратегии в это значение потребуется перегрузка asterisk.

    Можно в консоли SSH выполнить команду:

    asterisk -rx'core restart now'

    это действие завершит все активные телефонные звонки и сбросит счетчики очередей.

    hashtag
    Расширенные настройки

    В этом разделе можно дополнительно указать:

    • Номер телефона для этой очереди - по этому номеру можно позвонить на очередь с любого внутреннего номера сотрудника. Также на этот номер можно перевести вызов.

    • Краткое название очереди - для отображения перед CallerID абонента на телефонном аппарате, например consult.

    Расширенные настройки очереди

    hashtag
    Настройки очереди для операторов

    Раздел "Настройки очереди для операторов"
    • Время попытки дозвона агенту - время в секундах, в течение которого вызов будет идти на одного агента очереди. По завершении этого времени вызов агенту сохраняется в историю звонков как пропущенный. По завершении времени попытки дозвона до одного агента вызов направится на следующего агента согласно выбранной стратегии.

    • Время отдыха агента после обработки вызова, перед тем как начать принимать новые звонки - время в секундах, которое отсчитывается с момента завершения разговора агентом очереди до момента поступления нового телефонного звонка агенту.

    • Получать новые звонки во время разговора - переключатель включает / отключает возможность принятия новых звонков во время текущего разговора.

    hashtag
    Настройки очереди для вызывающего абонента

    НАстройки очереди для вызывающего абонента
    • Что абонент слышит во время ожидания - во время ожидания ответа на свой звонок клиент может слышать музыку на удержании или сигнал вызова.

    • Фоновая музыка (MOH) - можно указать уникальный звуковой файл для воспроизведения клиенту во время ожидания, к примеру рекламные материалы.

    • Оповещать о текущей позиции в очереди - если все операторы (агенты очереди) заняты, то включив этот переключатель, можно оповестить клиента о его позиции в очереди. Если активирована опция Дополнительный звуковой анонс, то этот анонс дополнит информацию о позиции.

    • Оповещать о расчетном времени ожидания - если все операторы (агенты очереди) заняты, то включив этот переключатель, можно оповестить клиента о примерном времени ожидания ответа на вызов. Если активирована опция Дополнительный звуковой анонс, то этот анонс дополнит информацию о расчетном времени.

    • Дополнительный звуковой анонс - звуковое сообщение проигрывается только если все участники очереди заняты.

    • Время в секундах для периодического повтора всех оповещений - описывает c каким интервалом произносить оповещение о позиции в очереди, времени ожидания и анонс.

    hashtag
    Маршрутизация звонков при сбоях

    Раздел "Маршрутизация звонков при сбоях"
    • Сценарий 1 - в данном сценарии можно настроить максимально допустимое время ожидания клиента в очереди. Если в течение заданного времени никто из агентов очереди не смог ответить клиенту, то можно задать номер, на который будет в дальнейшем перенаправлен вызов.

    • Сценарий 2 - если в очереди нет агентов (то есть в данный момент ни один агент не зарегистрирован на АТС), то можно указать номер, на который будет переведен вызов клиента.

    circle-info

    В данных сценариях в качестве номера переадресации можно выбрать не только внутренний номер, а также конференцию, очередь, IVR, приложение диалплана служебный номер.

    circle-exclamation

    Длительность вызова на очередь по умолчанию равна 300 секундам. Если необходим больший интервал, то задайте в Сценарий 1, большую длительность и укажите резервный номер.

    Для подключения новой учетной записи провайдера нажмите Подключить SIP или Подключить IAX в зависимости по типа подключаемой учетной записи:
    Опции подключения нового провайдера

    hashtag
    Настройка SIP провайдера

    hashtag
    Общие настройки

    circle-info

    Инструкции по подключению наиболее популярных поставщиков услуг можно найти в нашем FAQ.

    Общие настройки SIP-провайдера

    В общих настройках SIP провайдера укажите следующие настройки:

    Название провайдера - произвольное удобное вам наименование. Оно будет отображаться в списках выбора в соответствующих меню.

    Тип учетной записи - тип регистрации учетной записи провайдера. Подробнее про тип регистрации.

    Хост или IP адрес - может быть либо URL либо IP-адресом

    Логин и Пароль, который предоставляет ваш провайдер

    Режим DTMF - определяет, как DTMF сигналы передаются через SIP. Cуществуют различные стандарты, используемые для передачи DTMF SIP-провайдерам. Попробуйте использовать различные стандарты для того, чтобы найти режим, который подойдет вам. inband передает нажатия клавиш в качестве «тона». Для использования этого стандарта вам необходим аудио кодек высокого качества. Auto, rfc и info передают нажатия клавиш в SIP кодирование.

    hashtag
    Расширенные настройки SIP провайдера

    Вкладка "Расширенные настройки" SIP провайдера

    hashtag
    Дополнительные адреса провайдера

    Поле "Дополнительные адреса провайдера"

    В этом разделе следует перечислить все адреса поставщика услуг связи, с которых могут приходит входящие звонки. Доступ для этих адресов к портам SIP и RTP будет автоматически открыт на firewall.

    hashtag
    Порт соединения SIP

    Поле "Порт соединения SIP"

    По умолчанию принимает значение 5060. SIP протокол описывает, каким образом клиентское приложение (например, софтфон) может запросить начало соединения у другого, возможно, физически удалённого клиента, находящегося в той же сети, используя его уникальное имя. Протокол определяет способ согласования между клиентами об открытии каналов обмена на основе других протоколов, которые могут использоваться для непосредственной передачи информации (например, RTP).

    hashtag
    Транспортный протокол

    Поле "Транспортный протокол"

    Позволяет указать используемый транспортный протокол для данной учетной записи провайдера.

    hashtag
    Outbound proxy

    Поле "outbound proxy"

    Это SIP прокси сервер провайдера для обработки запросов. Реальный SIP сервер, может отличаться от этого адреса. Outbound proxy принимает на себя первичные запросы и перенаправляет на нужный сервер.

    hashtag
    Режим NAT

    Режим NAT

    Режим NAT - Это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов.

    • force_rport,comedia опция заменяющая nat=yes;

    • force_rport даже если ни одного параметра rport не было указано, действовать, так, как если бы он был;

    • comedia отправлять RTP пакеты обратно к порту с которого они были получены, игнорируя требуемый порт в SDP заголовке;

    • auto_comedia если Asterisk сможет определить, что устройство находится за NAT, установить опцию comedia;

    • no не выполнять никакой специальной обработки NAT, кроме той что указана в RFC 3581.

    hashtag
    Поддерживать NAT сессию

    Подраздел "Поддерживать NAT сессию"

    При включение этой опции Asterisk будет отправлять SIP Options пакеты. Это необходимо для поддержки NAT туннелирования на вашем маршрутизаторе.

    Укажите частоту, с которой Asterisk будет отправлять SIP сообщение типа OPTIONS для проверки, что данное устройство работает и доступно для совершения вызовов.

    Если данное устройство, не ответит в течение заданного периода (60 секунд по умолчанию), тогда Asterisk рассматривает это устройство как выключенное и недоступное для совершения вызовов.

    hashtag
    Переопределение SIP заголовка "From"

    Можно отключить использование поля fromuser заголовка SIP-пакета.

    Подраздел "Переопределение SIP заголовка FROM"

    Параметры файла pjsip.conf fromuser и fromdomain используются для вызовов исходящих от Asterisk в сторону SIP устройства.

    Можно переопределить:

    • имя пользователя в поле From в SIP пакетах (fromuser);

    • имя домена в поле From в SIP пакетах (fromdomain).

    Для этого служат поля User и Domain соответственно.

    Поля "User" и "Domain"

    hashtag
    Дополнительные параметры

    Дополнительные параметры провайдера

    В этом поле вы можете изменять конфигурационные файлы Asterisk.

    Переопределять можно практически все параметры. К примеру при использовании chan_pjsip провайдер описывается следующими секциями:

    Для переопределения полей в секциях следует заполнить поле Дополнительные параметры следующим образом:

    Для завершения настройки нажмите Сохранить.

    Кнопка "Сохранить"

    hashtag
    Несколько провайдеров на одном IP

    Бывают случаи, когда необходимо подключить несколько учетных записей одного поставщика услуг связи. В этом случае настройки Хост или IP адрес и Порт соединения SIP могут оказаться одинаковыми для всех учетных записей.

    Asterisk такую ситуацию обыгрывает по-своему. АТС не сможет корректно «приземлить» вызов на нужного провайдера и вызов оборвется.

    В качестве решения, в старых версиях АТС можно было для какой учетной записи описать дополнительные входящие маршруты и заполнить поле Дополнительный номер (DID) значением Логин. И так для каждой учетной записи требовалось создать некоторое количество дополнительных маршрутов, равное количеству аккаунтов провайдера.

    Альтернатива инструкции Регистрация нескольких учетных записей от одного провайдера. Такой подход был не очевиден.

    Поле Логин в большинстве случаев при входящем звонке будет использоваться в качестве номера назначения Дополнительный номер (DID). И, учитывая, что выходящие маршруты для всех Логин будут описаны, вызов будет корректно обработан телефонной станцией.

    hashtag
    Подробнее про тип регистрации

    hashtag
    Исходящая регистрация

    Этот вариант используется при подключении большинства провайдеров.

    Необходимость регистрации возникает в случае, когда провайдер не может знать, с какого IP-адреса будет подключаться клиент, к примеру, когда АТС расположена за NAT. Сервер провайдера обычно на публичном IP-адресе.

    Входящая регистрация

    Этот вариант актуален для работы некоторых FXO / GSM шлюзов - когда внешнее устройство должно подключиться к вашей АТС по логину и паролю.

    Также этот вариант актуален, когда удаленное устройство находится за NAT и MikoPBX не может знать его IP адрес.

    Аутентификация по IP адресу, без пароля

    Актуально для безопасных частных сетей. Так к примеру Ростелеком часто ведет свой сетевой кабель и подключает клиента к своей локальной сети.

    АТС и провайдер в данном случае должны находиться в одной и той же сети.

    Раздел "Провайдеры телефонии"
    Переключение статуса провайдера

    000064

    0000MILLI - Генерирует постоянный звуковой сигнал частотой 1000 Гц. Используется для проверки качества соединения.

    10003246

    Приложение Echo посылает полученные аудиосигналы обратно пользователю, чтобы можно было определить длительность задержки. В общем, Вы слышите, что Вы говорите. Приложение в основном используется для тестирования.

    hashtag
    Создание приложений

    Приложения MikoPBX создаются из нескольких планов набора Asterisk приложений. В системе есть много примеров готовых к выполнению приложений. Для добавления нового приложения MikoPBX нажмите на "Добавить новое" в меню приложений.

    Элемент для создания нового приложения диалплана

    Всего в несколько шагов Вы сможете создать свои собственные приложения. Во-первых, определите Название и Номер вызова для приложения, при необходимости заполните поле Комментарий. Возможный тип кода приложения:

    • PHP-AGI скрипт - AGI - это встроенный в Asterisk метод выполнения внешних скриптов (по аналогии с CGI для http серверов), который может расширить функциональность asterisk при помощи других языков программирования, в частности PHP. AGI скрипты могут управлять вызовом в плане набора, вызываются из файла: extensions.conf

    • Диалплан Asterisk - конфигурация плана набора содержится в файле конфигурации Asterisk - extensions.conf. Это один из самых важных конфигурационных файлов. В нем определяется обработка и маршрутизация входящих и исходящих вызовов. Этот файл управляет поведением всех соединений проходящих через Вашу АТС.

    Раздел конфигурации нового приложения диалплана

    Внесем ясность: мы будем называть MikoPBX приложения - приложениями, планы набора Asterisk -функциями. Например, Answer(), NoOP(), Set() and Wait() - это функции. Эти отдельные целевые функции Asterisk, которые затем объединяются в MikoPBX для создания более мощных MikoPBX приложений. Опишите логические операции в текстовом поле Программный код. Обратите внимание, что в одной строке одновременно допускается только одна команда, например:

    Вкладка "Программный код"

    На рисунке пример простейшего приложения для номера 000063. После набора номера, вы услышите, как робот озвучивает Ваш внутренний номер.

    triangle-exclamation

    MikoPBX будет проверять используемые команды. Не исключено, что неправильно запрограммированные операции могут повлиять на работоспособность вашей телефонной системы.

    Описание Asterisk функций, которые Вы можете использовать в своих приложениях:

    Наименование команды
    Описание

    answer

    Перевести вызов в отвеченное состояние.

    channel status

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

    control stream file

    Отправка в канал заданного звукового файла, с возможностью управления его проигрывания (пауза/перемотка/возобновление проигрывания) с помощью получаемых от абонента DTMF цифр, если заданы. (Asterisk 1.2)

    database del

    Удаление ключа/значения из базы данных.

    database deltree

    Удаление дерева ключей/значений из базы данных.

    Нажмите Сохранить для завершения настройки.

    000063

    Встроенные приложения диалпланов

    Приложение считывает внутренний номер сотрудника, используемое для вызова приложения, и озвучивает его сотруднику, т.е. сотруднику озвучивается его внутренний номер на АТС

    Сотрудники

    Настройка сотрудников и основных телефонных номеров

    Сотрудники в MikoPBX - это индивидуальные пользователи системы, которым назначены внутренние номера для совершения и приема звонков. Они имеют персональные учетные записи, позволяющие настроить права доступа, переадресацию вызовов и другие персональные настройки в системе.

    hashtag
    Список сотрудников

    В разделе Сотрудники представлен список внутренних учетных записей сотрудников. Слева от сотрудника отображается статус авторизованного устройства. Если устройство успешно авторизовано под данной внутренней учетной записью, то кружок отображается зеленым цветом, иначе серым.

    В строке поиска можно найти необходимый контакт. Поиск можно осуществлять по имени сотрудника, внутреннему номеру, мобильному номеру, адресу электронной почты.

    На форме также есть возможность сортировки списка сотрудников по имени, внутреннему номеру, мобильному номеру, адресу электронной почты. Имеются кнопки копирования пароля для SIP учетной записи в буфер обмена, редактирования учетной записи и её удаления.

    hashtag
    Добавление сотрудника

    circle-info

    Существует два способа добавления сотрудников:

    1) Поштучное добавление с вводом данных в Web-интерфейсе.

    2) Импорт нескольких сотрудников из CSV файла.

    hashtag
    Поштучное добавление сотрудников

    Для добавления нового сотрудника необходимо нажать кнопку Добавить сотрудника.

    hashtag
    Импорт и экспорт сотрудников из CSV файла

    Существует возможность экспорта и импорта сотрудников для удобства настройки. Для этого, нажмите для стрелочку справа от кнопки "Добавить нового сотрудника".

    Доступны 3 опции:

    1. Импорт из CSV - загрузить сотрудников из CSV файла в MikoPBX.

    2. Экспорт в CSV - загрузить сотрудников в CSV файл из MikoPBX (сотрудники не будут удалены со станции).

    3. Скачать шаблон - загрузить шаблон CSV таблицы для заполнения и дальнейшего импорта в MikoPBX.

    hashtag
    Импорт

    Нажмите на "Выбрать CSV файл" и выберите ранее оформленный файл с данными в таблице. Рекомендуется использовать шаблоны из вкладки "Шаблон".

    После выбора файла, будет отображена информация по всем обнаруженным пользователям в таблице. Выберите стратегию обработки дубликатов и нажмите "Подтвердить импорт" для начала процесса.

    После окончания процесса, Вы увидите статус создания сотрудников, а так же уведомление об окончании импорта.

    Нажмите "Назад к списку" для возвращения к списку сотрудников.

    hashtag
    Экспорт

    Существует возможность экспорта CSV файла со всеми данными текущих сотрудников. Есть несколько форматов экспорта:

    Минимальный:

    • number - Внутренний номер (обязательное)

    • user_username - ФИО сотрудника (обязательное)

    • user_email - Email адрес

    Стандартный:

    • Все параметры из Минимального.

    • mobile_dialstring - Номер для набора мобильного

    • sip_dtmfmode - DTMF режим (auto/rfc4733/info/inband)

    Полный:

    • Все параметры из Минимального и Стандартного.

    • user_avatar - URL фотографии

    • sip_manualattributes - Дополнительные SIP параметры

    Так же Вы можете указать диапазон внутренних номеров сотрудников, которых необходимо экспортировать (раздел "Фильтр по диапазону номеров").

    Нажмите "Экспортировать сотрудников". Файл будет загружен на Ваше устройство.

    hashtag
    Шаблон

    На этой вкладке, Вы можете скачать шаблон пустого файла с указаными "столбцами" для заполнения и дальнейшего импорта в MikoPBX.

    Выберите формат шаблона (подробнее в разделе ""), нажмите "Скачать CSV шаблон".

    hashtag
    Основные параметры учетной записи

    На вкладке Основные параметры задаются общие настройки внутренней учетной записи сотрудника:

    • ФИО пользователя - допускается использование кириллицы. Это значение будет использоваться при подстановке CALLERID(name) абонента, будет отображаться в соответствующем поле экрана телефона.

    • Внутренний номер - он же используется в качестве Логин при подключении телефона.

    • Мобильный номер - используется для дополнительной маршрутизации.

    circle-exclamation

    Установите сложные пароли на учетные записи (пароль для SIP)! Пароль должен удовлетворять следующим требованиям:

    • длина пароля должна быть длиннее восьми символов;

    hashtag
    Расширенные параметры учетной записи

    Открываются путем нажатия на раскрывающийся список Расширенные настройки.

    hashtag
    Переопределение строки набора

    В поле Переопределение строки набора введите правило набора мобильного номера для Вашего провайдера. Например, в основных настройках номер мобильного телефона указан в формате 89164577878, согласно правилам исходящей маршрутизации для провайдера звонок возможен только на номера, начинающиеся с 7. Следовательно в поле Переопределение строки набора следует указать номер 79164577878.

    hashtag
    Максимальное количество параллельных звонков

    Количество вызовов, при котором номер считается «занятым». В таком статусе начинают работать правила маршрутизации. Это описание не распространяется на очередь вызовов.

    hashtag
    Режим DTMF

    Настройка определяет, как DTMF-сигналы передаются через SIP.

    hashtag
    Транспортный протокол

    Позволяет указать используемый транспортный протокол для данной учетной записи.

    hashtag
    Сетевой фильтр

    Подсеть, которая описана в разделе Cетевой экран. Указывает на разрешенную подсеть для этой учетной записи. Подключение из прочих подсетей будет вызывать ошибку авторизации.

    Дополнительные параметры SIP учетки

    Данное поле служит для изменения/переопределения конфигурационных файлов asterisk.

    Переопределять можно практически все параметры. К примеру при использовании chan_pjsip SIP аккаунт сотрудника описывается следующими секциями:

    Для переопределения полей в секциях следует заполнить поле Дополнительные параметры следующим образом:

    hashtag
    Настройки маршрутизации

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

    Период времени в секундах определяет, сколько времени будет продолжаться попытка вызова на внутреннюю учетную запись сотрудника. Если в течение этого времени сотрудник не сможет ответить на вызов, вы можете указать на какой номер следует направить вызов дальше. По умолчанию, вызов будет переадресован на мобильный номер сотрудника.

    Кроме того, вы можете указать номера, на которые следует направить вызов в случае занятости и недоступности сотрудника. Таким образом, если сотрудник занят или недоступен, вызов будет переадресован на указанные номера.

    Вы можете настроить эти параметры в соответствии с вашими предпочтениями и требованиями.

    hashtag
    Документации по подключению софтфонов

    hashtag
    Документации по подключению IP-телефонов

    Общие настройки

    Описание настроек основных параметров системы

    В данном разделе производится настройка основных параметров системы. Данные параметры рекомендуется настраивать сразу после установки АТС.

    hashtag
    Основные

    ssh -i C:\Users\username\.ssh\id_ed25519 root@ip-adress
    [REG-AUTH-***]
    type = auth
    ; ----
    
    [REG-***] 
    type = registration
    transport = transport-udp
    ; ----
    
    [***-OUT]
    type = auth
    ; ----
    
    [***]
    type = aor
    max_contacts = 1
    ; ----
    
    [***]
    type = identify
    ; ----
    
    [***]
    type = endpoint
    context = incoming
    ; ----
    [registration-auth]
    ; описываем параметры авторизации для [REG-AUTH-***]
    
    [registration]
    ; описываем параметры регистрации на удаленном сервере [REG-***]
    
    [endpoint-auth]
    ; описываем параметры авторизации для исходящих звонков через провайдера
    
    [identify]
    ; Секция отвечает за сопоставление регистрации и endpoint. При поступлении входящего звонка 
    ; согласно INVITE будет проведена проверка соответствия identify параметров с endpoint. 
    
    [aor]
    ; Правка секции AOR для endpoint
    
    [endpoint]
    ; Правка параметров endpoint

    database get

    Получить значение из базы данных.

    database put

    Добавление/изменение значения в базе данных.

    exec

    Выполнение заданной Команды. (Команды - это функции, которые Вы используете при описании плана набора в файле extensions.conf ).

    get data

    Получить данные из канала.

    get option

    Ведет себя аналогично команде «STREAM FILE», но используется с заданным значением для таймаута. (Asterisk 1.2)

    get variable

    Получить значение переменной канала.

    hangup

    Разорвать соединение (Hangup) на текущем канале.

    noop

    Пустая команда. Ничего не делает.

    receive char

    Принимает один символ из канала, если он поддерживает эту возможность.

    receive text

    Принимает текстовую строку из канала, если он поддерживает эту возможность.

    record file

    Производит запись в заданный файл.

    say alpha

    Проговаривает заданную строку символов. (Asterisk 1.2)

    say date

    Проговаривает дату. (Asterisk 1.2)

    say datetime

    Проговаривает дату и время, согласно заданному формату. (Asterisk 1.2)

    say digits

    Проговаривает заданную строку цифр.

    say number

    Проговаривает заданный номер.

    say phonetic

    Проговаривает заданную строку символов.

    say time

    Проговаривает время.

    send image

    Отправляет изображение в канал, если он поддерживает эту возможность.

    send text

    Отправляет текст в канал, если он поддерживает эту возможность.

    set autohangup

    Автоматическое завершение соединение (Autohangup) на канале в заданное время.

    set callerid

    Установка callerid для текущего канала.

    set context

    Установка контекста для текущего канала.

    set extension

    Изменение екстеншена для текущего канала.

    set music

    Включение/Выключение музыки ожидания (Music on hold), например: «SET MUSIC ON default».

    set priority

    Установка значения приоритета для следующей выполняемой команды для канала.

    set variable

    Установка переменной канала.

    stream file

    Отправка звукового файла в канал.

    tdd mode

    Установка режима TDD для канала, который может его поддерживать, для включения возможности взаимодействия с TDD.

    verbose

    Запись сообщения в verbose log сервера asterisk.

    wait for digit

    Ожидание нажатия DTMF кнопки

    mobile_number - Мобильный номер
  • sip_secret - Пароль SIP (если не указать будет сгенерирован)

  • fwd_ringlength - Время звонка (секунды) до переадресации

  • fwd_forwarding - Номер переадресации если не ответил

  • sip_transport - Транспорт (udp/tcp/tls) по-умолчаню udp,tcp
  • sip_enableRecording - Запись разговоров (true/false)

  • fwd_forwardingonbusy - Номер переадресации если занят

  • fwd_forwardingonunavailable - Номер переадресации если недоступен

  • Адрес электронной почты - используется для email оповещений.

  • Пароль для SIP

  • пароль должен содержать буквы ВЕРХНЕГО и нижнего регистра;

  • пароль должен содержать цифры и специальные знаки: «-», «_», «[]», «{}», «@», «;».

  • Экспорт
    Настройка софтфоновchevron-right
    IP-Телефоныchevron-right
    Статусы сотрудников
    Поиск сотрудника по электронной почте
    Сортировка сотрудников и функции в главном меню
    Элемент "Добавить нового сотрудника"
    Возможности для группового импорта/экспорта сотрудников
    Раздел "Импорт"
    Параметры импорта сотрудников
    Успешный импорт сотрудников
    Раздел "Экспорт"
    Раздел "Шаблон"
    Вкладка параметров учетной записи сотрудника
    Вкладка расширенных настроек учетной записи
    Раздел "Настройки маршрутизации"
    [***]
    type = aor
    max_contacts = 10
    ; ----
    
    [***]
    type = auth
    ; ----
    
    [***]
    type = endpoint
    context = all_peers
    ; ----
    
    [acl_***] 
    deny = 0.0.0.0/0.0.0.0
    permit = 0.0.0.0/0.0.0.0
    ; ----
    [acl]
    ; описываем параметры доступа из различных подсетей [acl_***]
    
    [auth]
    ; описываем параметры авторизации для исходящих звонков
    
    [aor]
    ; Правка секции AOR для endpoint
    
    [endpoint]
    ; Правка параметров endpoint
    Название PBX системы - будет отображаться на главной странице MikoPBX
  • Дополнительное описание - будут видеть только администраторы системы.

  • Язык звуковых сообщений - укажите язык оповещений

  • Длина внутреннего номера - максимальная длина внутреннего номера (для сотрудников)

  • Максимальный таймаут между цифрами при вводе добавочного

  • Перезапускать АТС каждую ночь - рестарт asterisk каждую ночь

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

  • Раздел "Основные" в настройках

    hashtag
    Запись разговоров

    • Запись разговоров - позволяет включить / отключить запись

    • Запись внутренних разговоров - позволяет включить / отключить запись внутренних разговоров

    • Сохранять записи разговоров в стерео режиме изменяет режим записи с mono на stereo. Поток записи будет разделен на входящий и исходящий и объединен в стерео файл.

    Имеется слайдер, с помощью которого можно выбрать сколько будут храниться записи разговоров.

    Так же можно выбрать звуковой файл для предупреждения о записи разговоров.

    Раздел "Запись разговоров" в настройках

    Телефонные звонки сохраняются в формате mp3. Пример информации об итоговом файле записи разговора:

    circle-info

    Ориентировочно, 1 час разговора занимает 14Мб места на диске.

    hashtag
    Переводы вызовов

    Раздел "Переводы вызовов" в настройках

    hashtag
    Парковка (Удержание)

    Парковка - это вариант «удержания» клиента на линии. Полезно использовать в том случае, когда необходимо временно разъединиться с клиентом для уточнения некоторой информации. Клиенту во время парковки будет проигрываться мелодия.

    В MikoPBX возможно два варианта парковки вызова от клиента:

    1. Если вам необходимо запарковать вызов клиента, введите *2. Вызов клиента MikoPBX поставит на удержание, а Вам сообщит номер слота припаркованного вызова. Любой сотрудник может забрать вызов, набрав с телефона номер слота припаркованного вызова.

    2. В разделе Переводы вызовов задайте номер для парковки. При переадресации вызова клиента на номер парковки, MikoPBX поставит такой вызов на удержание, а Вам сообщит номер слота припаркованного вызова. Любой сотрудник может забрать вызов, набрав с телефона номер слота припаркованного вызова.

    Диапазон номеров слота припаркованного вызова можно задать в разделе Переводы вызовов: Начальный парковочный слот и Конечный парковочный слот.

    hashtag
    Переводы вызовов

    MikoPBX предлагает два вида переводов: Условный и Безусловный (слепой).

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

    • Если вы переведете вызов, не поговорив предварительно с коллегой, то этот перевод Безусловный. Например, если вам поступает второй входящий звонок, а Вы уже разговариваете по телефону. Чтобы не прерывать текущий вызов, Вы переводите новый вызов на свободного коллегу.

    circle-info
    • По умолчанию комбинация для условного перевода - две решетки

    • По умолчанию комбинация для безусловного перевода - две звездочки

    hashtag
    Таймауты

    Время возврата вызова если нет ответа после безусловного (слепого) перевода - 45 сек.

    hashtag
    Перехват (Pickup)

    Если звонит телефон коллеги, то есть возможность перехватить вызов набрав *8<НомерКоллеги>. Если номер коллеги не известен, то можно просто набрать *8.

    hashtag
    SIP

    Раздел "SIP" в настройках

    Session Initiation Protocol (SIP) является сигнальным протоколом, используемым большинством телефонов VoIP. Вы можете изменить SIP-порт(по умолчанию порт 5060) для повышения безопасности. Кроме того, некоторым SIP провайдерам необходимы дополнительные параметры, такие как Периоды регистрации (Время через которое регистрация будет сброшена). Некоторые брандмауэры закрывают порты после периода неактивности. Такое поведение может потребовать сократить время ожидания регистрации SIP провайдеров. Другой причиной может быть необходимость в различных тайм-аутах при регистрации некоторых SIP-провайдеров. Значения по умолчанию:

    • SIPMiniExpiry - минимальная продолжительность регистрации в секундах, по умолчанию 60 секунд;

    • SIPMaxExpiry - максимальная продолжительность регистрации в секундах, по умолчанию 3600 секунд.

    В режиме реального времени Transport Protocol (RTP) определяет стандартный формат для передачи аудио и видео по IP-сетям. По умолчанию, RTP использует диапазон портов между 10000 и 10200. Для некоторых маршрутизаторов и брандмауэров, возможно, потребуется настроить диапазон портов. Еще одна причина для настройки диапазона портов - большое количество параллельных звонков. Каждый вызов использует два RTP порта. Это означает,что если есть 200 портов, то возможно только 100 параллельных звонков. Если ваша телефонная система должна обрабатывать больше звонков в одно и то же время, необходимо расширить диапазон портов.

    • "Адрес STUN сервера" - в ряде случаев, к примеру при использовании WebRTC помогает при работе АТС за NAT.

    • "Префикс Auth Username для авторизации" - по умолчанию, имя пользователя (username) для авторизации на SIP аккаунте соответсвует внутреннему номеру сотрудника (пример - 101). При заполнении этой настройки, к имени авторизации потребуется добавлять указанный префикс, в этом случае username будет равен 101, а AuthUsername будет равен 101MIKO. Такой подход значительно усложнит процесс подборка пароля для SIP аккаунта.

    • "Использовать WebRTC" - будут произведены дополнительные настройки для работы с WebRTC соедиением. К примеру для внутреннего номера 201 будет создан дополнительный endpoint, подключиться к которому будет возможно по протоколу WebRTC с использованием URL sip:201-WS@IP_PBX

    hashtag
    Аудио/видео кодеки

    Настройка разрешенных кодеков для АТС в целом.

    Раздел "Аудио/Видео кодеки" в настройках

    hashtag
    AMI&AJAM

    Раздел "AMI&AJAM" в настройках

    Asterisk Manger Interface (AMI) — мощный и удобный программный интерфейс (API) Asterisk для управления системой из внешних программ. Благодаря AMI внешние программы могут осуществлять соединения с Asterisk посредством TCP протокола, инициировать выполнение команд, считывать результат их выполнения, а так же получать уведомления о происходящих событиях в реальном времени. AMI часто используют для интеграции с бизнес-процессами и системами, программным обеспечением CRM (Customer Relationship Managment — управление взаимодействия с клиентами). AMI принимает подключения, устанавливаемые на сетевой порт (по умолчанию - TCP порт 5038). Клиентская программа подключается к AMI через этот порт и аутентифицируется, после этого Asterisk будет отвечать на запросы, а также отправлять извещения о изменениях состояния заданных подсистем. Asynchronous Javascript Asterisk Manager (AJAM) - это новая технология, которая позволяет веб-браузерам или другим приложениям с поддержкой HTTP и веб-страницам напрямую обращаться к интерфейсу Asterisk Manager (AMI) через HTTP/HTTPS. По умолчанию используется порт 8088.

    hashtag
    SSH

    Раздел "SSH" в настройках

    SSH или Secure Shell — это зашифрованный протокол, который часто используется для взаимодействия и удаленного управления серверами. SSH сервер может выполнять аутентификацию пользователей с помощью различных алгоритмов. Самый популярный — это аутентификация по паролю. Он достаточно прост, но не очень безопасный. Пароли передаются по безопасному каналу, но они недостаточно сложны для противостояния попыткам перебора. Вычислительная мощность современных систем в сочетании со специальными скриптами делают перебор очень простым.

    circle-exclamation

    Авторизация через SSH-клиент по умолчанию в MikoPBX:

    • Логин - root

    • Пароль - admin, рекомендуем сразу изменить это значение

    Существует более безопасный и надежный способ аутентификации — ключи SSHа. Каждая пара ключей состоит из открытого и закрытого ключа. Секретный ключ сохраняется на стороне клиента и не должен быть доступен кому-либо еще. Утечка ключа позволит злоумышленнику войти на сервер, если не была настроена дополнительная аутентификация по паролю.

    triangle-exclamation

    Мы настоятельно рекомендуем отключить аутентификацию по паролю. Для этого активируйте опцию «Отключить авторизацию по паролю»

    Открытый ключ используется для шифрования сообщений, которые можно расшифровать только закрытым ключом. Это свойство и используется для аутентификации с помощью пары ключей. Открытый ключ загружается на удаленный сервер, к которому необходимо получить доступ. Его нужно добавить в специальный файл ~/.ssh/authorized_keys.

    Когда клиент попытается выполнить проверку подлинности через этот ключ, сервер отправит сообщение, зашифрованное с помощью открытого ключа, если клиент сможет его расшифровать и вернуть правильный ответ — аутентификация пройдена.

    circle-exclamation

    Как создать ключ для авторизации по SSH и добавить его на сервер? Подробности читайте здесьarrow-up-right.

    SSH Authorized Keys - в это поле можно вставить публичный (открытый) SSH-ключ. Если у Вас несколько публичных ключей, то их можно скопировать подряд, разделитель - пустая строка.

    SSH Public RSA Key - в этом поле описывает публичный, открытый SSH ключ текущей АТС. Это значение можно скопировать на другую станцию в поле SSH Authorized Keys, это позволит подключаться к удаленному серверу без дополнительной авторизации.

    hashtag
    Web-интерфейс

    Раздел "Web-интерфейс" в настройках

    В данном подразделе для повышения безопасности Вы можете изменить HTTP-порт (по умолчанию порт 80) или активировать режим HTTPS. HTTPS (HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443.

    • Редирект на HTTPS - при попытке открыть web интерфейс по протоколу http пользователь будет переадресован на HTTPS

    При начале работы системы АТС сама генерирует сертификат для работы по https - это «самоподписанный» сертификат, то есть не заверенный публичным «регистратором», но тем не менее этот сертификат позволяет работать по https и шифровать трафик между АТС и браузером.

    Вы можете использовать модуль Let's encrypt для создания самоподписанного сертификата.

    hashtag
    Пароль web интерфейса

    Раздел "Пароль WEB интерфейса" в настройках

    В данном подразделе необходимо изменить Логин WEB-интерфейса и Пароль WEB-интерфейса.

    circle-info

    Авторизация в MikoPBX по умолчанию:

    • Логин - admin

    • Пароль - admin

    hashtag
    Удаление настроек системы

    Раздел "Удаление настроек системы" в настройках
    Раздел "Общие настройки" в MikoPBX

    Запуск MikoPBX с помощью docker compose

    Установка MikoPBX с помощью docker compose

    Для работы с MikoPBX в контейнере необходимо установить docker и docker compose, а также создать пользователя и папки для хранения настроек конфигурации и записей разговоров по инструкции

    Установка докера и cоздание пользователя и каталоговchevron-right

    hashtag
    Запуск с помощью docker compose

    Вот пример файла docker-compose.yml, который может быть использован для управления вашим контейнером MikoPBX через Docker Compose:

    Сохраните содержимое в файл docker-compose.yml, выполните необходимые корректировки и запускайте MikoPBX коммандой:

    hashtag
    Запуск нескольких MikoPBX на одном хосте

    hashtag
    Режим без изоляции сети хоста от контейнеров (–net=host)

    Также можно оганизовать запуск нескольких контенеров MikoPBX на одном хосте, но здесь надо учитывать особенности работы Docker с портами, если не использовать режим –net=host то это приведет к высокой нагрузке на процессор хостовой системы, т.к. Docker создает для каждого выделенного порта отдельное правило в Iptables.

    С включенным режимом –net=host вам необходимо вручную следить за распределением доступных портов между запускаемыми контейнерами и встроенными приложениями. Например, для запуска двух контейнеров с MikoPBX на одном хосте, можно использовать следующий конфигурационный файл:

    Сохраните содержимое в файл docker-compose.yml, выполните необходимые корректировки и запускайте MikoPBX коммандой:

    hashtag
    Режим сетевого моста (–net=bridge)

    Существует вариант запуска контейнеров с MikoPBX в режиме –net=bridge, но как описано выше для использования этого режима необходимо или существенно ограничить диапазон RTP портов, или открывать к ним доступ на хостовой машине не используя возможности Docker.

    Для этого вам необходимо написать небольшой скрипт, для определения имени текущего мостового интерфейса и IP адреса каждого контейнера, и после запуска docker compose добавить необходимые правила iptables для диапазона RTP портов следующим образом:

    Опишем несколько контейнеров в файле docker-compose.yaml, определим разные порты для веб интерфейса, SIP портов и диапазоны RTP портов, чтобы они не пересекались.

    Создаем папку для скриптов

    Сохраняем файлы start-multiple-mikopbx.sh и docker-compose.yaml в эту папку.

    Устанавливаем необходимые зависимости для работы скрипта.

    Переходим в нашу папку, добавляем права на выполнение и запускаем наш скрипт.

    Пока ожидаем запуск контейнеров, проверяем настройки брендмауера на хосте, при необходимости открваем те порты, которые указаны в нашем docker-compose.yaml файле, а именно:

    • TCP/UDP порты 5060 и 6060 для SIP

    • UDP диапазоны 10000-10800 и 20000-20800 для передачи звука по RTP

    • TCP порты 8443 и 9443 для HTTPS протокола, для работы Web интерфейса.

    Входим по очереди на каждую из станций по адресам:

    • https://<IP хостовой машины>:8443

    • https://<IP хостовой машины>:9443

    Для входа в веб-интерфейс первой АТС MikoPBX используйте логин admin и пароль mikopbx-first-password

    Для входа в веб-интерфейс второй АТС MikoPBX используйте логин admin и пароль mikopbx-second-password

    В каждой машине должен быть включен режим NAT, указывая что контейнер находится за маршрутизатором в настройках сетевого интерфейса. Если станции будут использоваться внутри локальной сети, то в поле внешнего IP прописваем локальный IP адрес хостовой машины, в противном случе ее публичный IP адрес.

    circle-exclamation

    Важное замечание! Один из наших контейнеров использует проброс с SIP порта с изменением его значения 5060 -> 6060. В данном случае, для корректной работы системы, необходимо добавить внешнее значение SIP порта в настройках NAT в разделе сетевых интерфейсов MikoPBX. Эту настройку также можно сделать задав соответвующее значение переменной окружения EXTERNAL_SIP_PORT=6060 в файле docker-compose.

    На этом настройка завершена, можно настраивать учетные записи и выполнять звонки.

    hashtag
    Переменные окружения для конфигурирования MikoPBX

    Ниже перечислены некоторые переменные окружения, которые позволят скорректировать используемые MikoPBX порты и настройки.

    • SSH_PORT - порт для SSH (22)

    • WEB_PORT - порт для работы web интерфейса по протоколу HTTP (80)

    • WEB_HTTPS_PORT - порт для работы web интерфейса по протоколу HTTPS (443)

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

    Input File     : 'mikopbx-1554098285.0_M1gEr1pgrt.mp3'
    Channels       : 1
    Sample Rate    : 8000
    Precision      : 16-bit
    Duration       : 00:00:17.64 = 141120 samples ~ 1323 CDDA sectors
    File Size      : 70.6k
    Bit Rate       : 32.0k
    Sample Encoding: MPEG audio (layer I, II or III)
    docker-compose.yml
    services:
      mikopbx:
        container_name: "mikopbx"
        image: "ghcr.io/mikopbx/mikopbx-x86-64"
        network_mode: "host"
        cap_add:
          - NET_ADMIN
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-a-docker"
        volumes:
          - /var/spool/mikopbx/cf:/cf
          - /var/spool/mikopbx/storage:/storage
        tty: true
        environment:
          - ID_WWW_USER=${ID_WWW_USER}
          - ID_WWW_GROUP=${ID_WWW_GROUP}
          # Изменение имени станции через переменные окружения
          - PBX_NAME=MikoPBX-in-Docker
          # Изменение стандартного порта SSH на 23
          - SSH_PORT=23
          # Изменение стандартного порта WEB на 8080
          - WEB_PORT=8080
          # Изменение стандартного порта WEB HTTPS на 8443
          - WEB_HTTPS_PORT=8443

    SIP_PORT - порт для подключения SIP клиента (5060)

  • TLS_PORT - порт для подключения SIP клиента с шифрованием (5061)

  • RTP_PORT_FROM - начало диапазона RTP портов, передача голоса (10000)

  • RTP_PORT_TO - конец диапазона RTP портов, передача голоса (10800)

  • IAX_PORT - порт для подключения IAX клиентов (4569)

  • AMI_PORT - порт AMI (5038)

  • AJAM_PORT - порт AJAM используется для подключения панели телефонии для 1С (8088)

  • AJAM_PORT_TLS - порт AJAM используется для подключения панели телефонии для 1С (8089)

  • BEANSTALK_PORT - порт для сервера очередей Beanstalkd (4229)

  • REDIS_PORT - порт для сервера Redis (6379)

  • GNATS_PORT - порт для сервера gnatsd (4223)

  • ID_WWW_USER - идентификатор пользователя www-user (можно задать выражением $(id -u www-user), где www-user имя НЕ root пользователя)

  • ID_WWW_GROUP - идентификатор группы www-user (можно задать выражением $(id -g www-user), где www-user имя НЕ root группы)

  • WEB_ADMIN_LOGIN - логин для доступа в Web интерфейс

  • WEB_ADMIN_PASSWORD - пароль для доступа в Web интерфейс

  • по ссылкеarrow-up-right
    export ID_WWW_USER=$(id -u www-user)
    export ID_WWW_GROUP=$(id -g www-user)
    sudo docker compose -f docker-compose.yml up
    docker-compose.yml
    services:
      mikopbx-first:
        container_name: "mikopbx-first"
        image: "ghcr.io/mikopbx/mikopbx-x86-64"
        network_mode: "host"
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-docker-first"
        volumes:
          - /var/spool/mikopbx/first/cf:/cf
          - /var/spool/mikopbx/first/storage:/storage
        tty: true
        environment:
          - ID_WWW_USER=${ID_WWW_USER}
          - ID_WWW_GROUP=${ID_WWW_GROUP}
          - PBX_NAME=MikoPBXFirst
          - PBX_FIREWALL_ENABLED=0
          - PBX_FAIL2BAN_ENABLED=0
          - SSH_PORT=123
          - WEB_PORT=8080
          - WEB_HTTPS_PORT=8443
          - SIP_PORT=5060
          - TLS_PORT=5061
          - RTP_PORT_FROM=10000
          - RTP_PORT_TO=10800
          - IAX_PORT=4569
          - AMI_PORT=5038
          - AJAM_PORT=8088
          - AJAM_PORT_TLS=8089
          - BEANSTALK_PORT=4229
          - REDIS_PORT=6379
          - GNATS_PORT=4223
    mikopbx-second:
        container_name: "mikopbx-second"
        image: "ghcr.io/mikopbx/mikopbx-x86-64"
        network_mode: "host"
        tty: true
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-docker-second"
        volumes:
          - /var/spool/mikopbx/second/cf:/cf
          - /var/spool/mikopbx/second/storage:/storage
        environment:
          - ID_WWW_USER=${ID_WWW_USER}
          - ID_WWW_GROUP=${ID_WWW_GROUP}
          - PBX_NAME=MikoPBXSecond
          - PBX_FIREWALL_ENABLED=0
          - PBX_FAIL2BAN_ENABLED=0
          - SSH_PORT=2223
          - WEB_PORT=8081
          - WEB_HTTPS_PORT=9443
          - SIP_PORT=6060
          - TLS_PORT=6061
          - RTP_PORT_FROM=20000
          - RTP_PORT_TO=20800
          - IAX_PORT=5569
          - AMI_PORT=6038
          - AJAM_PORT=9088
          - AJAM_PORT_TLS=9089
          - BEANSTALK_PORT=5229
          - REDIS_PORT=7379
          - GNATS_PORT=5223
    
    export ID_WWW_USER=$(id -u www-user)
    export ID_WWW_GROUP=$(id -g www-user)
    sudo docker compose -f docker-compose.yml up
    start-multiple-mikopbx.sh
    #!/bin/bash
    
    COMPOSE_FILE="$1"
    
    if [ -z "$COMPOSE_FILE" ]; then
        echo "Usage: $0 path/to/docker-compose.yaml"
        exit 1
    fi
    
    # Получим идентификатор пользователя для запуска контейнера
    export ID_WWW_USER=$(id -u www-user)
    export ID_WWW_GROUP=$(id -g www-user)
    
    # Оставновим текущие контейнеры, если они запущены
    docker compose -f "$COMPOSE_FILE" down
    
    # Удалим их
    docker compose -f "$COMPOSE_FILE" rm
    
    # Запускаем контейнеры в фоне
    docker compose -f "$COMPOSE_FILE" up -d
    sleep 60
    
    # Создадим метку для правил IPTABLES
    IPTABLES_COMMENT="mikopbx-custom-rule"
    
    # Определим идентификатор проекта, он используется при создании сетевого моста
    project_prefix=$(cat "$COMPOSE_FILE" | yq e '.x-project-name' -)
    
    # Если префикс не задан, устанавливаем значение по умолчанию
    if [ -z "$project_prefix" ]; then
        project_prefix="default_prefix"
    fi
    
    # Функция для получения IP адреса контейнера
    function get_container_ip() {
        docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$1"
    }
    
    # Функция для получения имени мостового интерфейса
    function get_bridge_name() {
        local network_name="$1"
        local prefix="$2"
        local network_id=$(docker network inspect "${prefix}_${network_name}" -f '{{.Id}}')
    
        if [ -z "$network_id" ]; then
            echo "Error: Network ${prefix}_${network_name} not found."
            return 1
        fi
    
        local bridge_name=$(ip link show type bridge | grep -o "br-${network_id:0:12}\b")
        echo $bridge_name
    }
    
    echo "Delete tagged iptables rules"
    # Удаляем все правила iptables промаркированные нашим комментарием
    iptables -S | grep "$IPTABLES_COMMENT" | sed 's/-A /-D /' | while read rule; do
            echo "Delete rule $rule"
            iptables $rule
    done
    
    # Удаляем все NAT правила iptables промаркированные нашим комментарием
    iptables -S -t nat | grep "$IPTABLES_COMMENT" | sed 's/-A /-D /' | while read rule; do
         echo "Delete rule $rule"
         iptables -t nat $rule
    done
    
    # Парсим docker-compose файл и получаем все необходимые параметры.
    echo "Parsing docker-compose file and configuring iptables rules"
    cat "$COMPOSE_FILE" | yq e '.services[] | select(.environment[] | test("RTP_PORT_FROM")) | {"container_name": .container_name, "environment": .environment, "network": .networks[0]}' -o=json | jq -c '.' | while read -r service; do
        container_name=$(echo $service | jq -r '.container_name')
        network_name=$(echo $service | jq -r '.network')
        bridge_name=$(get_bridge_name "$network_name" "$project_prefix")
        container_ip=$(get_container_ip "$container_name")
    
        RTP_PORT_FROM=$(echo $service | jq -r '.environment[] | select(contains("RTP_PORT_FROM")) | split("=")[1]')
        RTP_PORT_TO=$(echo $service | jq -r '.environment[] | select(contains("RTP_PORT_TO")) | split("=")[1]')
    
        echo "Configuring iptables for $container_name ($container_ip) on $bridge_name from port $RTP_PORT_FROM to $RTP_PORT_TO"
    
        iptables -A DOCKER -t nat ! -i "$bridge_name" -p udp -m udp --dport $RTP_PORT_FROM:$RTP_PORT_TO -j DNAT --to-destination $container_ip:$RTP_PORT_FROM-$RTP_PORT_TO -m comment --comment "$IPTABLES_COMMENT"
        iptables -A DOCKER -d $container_ip/32 ! -i "$bridge_name" -o "$bridge_name" -p udp -m udp --dport $RTP_PORT_FROM:$RTP_PORT_TO -j ACCEPT -m comment --comment "$IPTABLES_COMMENT"
        iptables -A POSTROUTING -t nat -s $container_ip/32 -d $container_ip/32 -p udp -m udp --dport $RTP_PORT_FROM:$RTP_PORT_TO -j MASQUERADE -m comment --comment "$IPTABLES_COMMENT"
    
        echo "Don't forget to open UDP ports $RTP_PORT_FROM to $RTP_PORT_TO on external firewall if it exists"
    done
    
    echo "iptables configuration completed successfully."
    docker-compose.yaml
    
    services:
      mikopbx-first:
        container_name: "mikopbx-first"
        image: "ghcr.io/mikopbx/mikopbx-x86-64"
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-docker-first"
        volumes:
          - /var/spool/mikopbx/first/cf:/cf
          - /var/spool/mikopbx/first/storage:/storage
        tty: true
        cap_add:
          - net_admin
        networks:
          - network-bridge1
        environment:
          - ID_WWW_USER=${ID_WWW_USER}
          - ID_WWW_GROUP=${ID_WWW_GROUP}
          - PBX_NAME=MikoPBXFirst
          - RTP_PORT_FROM=10000 # UPD дипазон 10000-10800 на хосте будет направлен в контейнер
          - RTP_PORT_TO=10800
          - WEB_ADMIN_PASSWORD=mikopbx-first-password
          - ENABLE_USE_NAT=1
          - PBX_FIREWALL_ENABLED=1
          - PBX_FAIL2BAN_ENABLED=1
        ports:
          - "8443:443"  # TCP порт 9443 на хосте направляется на порт 443 в контейнере
          - "5060:5060/udp"  # UDP порт 5060 на хосте направляется на порт 5060 в контейнере
      mikopbx-second:
        container_name: "mikopbx-second"
        image: "ghcr.io/mikopbx/mikopbx-x86-64"
        tty: true
        cap_add:
          - net_admin
        networks:
          - network-bridge2
        entrypoint: "/sbin/docker-entrypoint"
        hostname:  "mikopbx-in-docker-second"
        volumes:
          - /var/spool/mikopbx/second/cf:/cf
          - /var/spool/mikopbx/second/storage:/storage
        environment:
          - ID_WWW_USER=${ID_WWW_USER}
          - ID_WWW_GROUP=${ID_WWW_GROUP}
          - PBX_NAME=MikoPBXSecond
          - RTP_PORT_FROM=20000 # UPD дипазон 20000-20800 на хосте будет направлен в контейнер
          - RTP_PORT_TO=20800
          - EXTERNAL_SIP_PORT=6060 # Расскажем MikoPBX какой у нее внешнить SIP порт
          - WEB_ADMIN_PASSWORD=mikopbx-second-password
          - ENABLE_USE_NAT=1
          - PBX_FIREWALL_ENABLED=1
          - PBX_FAIL2BAN_ENABLED=1
        ports:
          - "9443:443"  # TCP порт 9443 на хосте направляется на порт 443 в контейнере
          - "6060:5060/udp"  # UDP порт 6060 на хосте направляется на порт 5060 в контейнере
    x-project-name: mikopbx # Этот параметр обязательно должен присуствовать
    networks:
      network-bridge1:
        driver: bridge
      network-bridge2:
        driver: bridge
    mkdir -p /usr/src/mikopbx
    sudo apt-get update
    sudo apt-get install jq
    sudo snap install yq
    cd /usr/src/mikopbx
    sudo chmod +x start-multiple-mikopbx.sh
    sudo ./start-multiple-mikopbx.sh docker-compose.yaml