Найти тему
Настройка MikroTik

IP Телефония с нуля (MikoPBX+Proxmox)

Оглавление

Если вы собираетесь развернуть IP телефонию, то MikoPBX будет идеальным решением.
FreePBX или Elastix требует порог вхождения и не столь информативен без опыта эксплуатации.

Познакомился я с MikoPBX на AsterConf’22, где лично убедился, что проще ничего нет. Даже не разбираясь в IP телефонии, можно развернуть АТС и быстро подключить офис, что я в данной статье и сделаю.

Статья без водяных знаков, приветствуется копирование и распространение с сохранением ссылок на продукт MikoPBX и сайт Настройка-Микротик.РФ

Где скачать

https://www.mikopbx.ru/download/ — укажите почту и получите ссылку на скачивание.

Закидываем скаченный образ на гипервизор, я использую загрузку через URL
Закидываем скаченный образ на гипервизор, я использую загрузку через URL
Загрузка завершена. Образ весит около 350Мб
Загрузка завершена. Образ весит около 350Мб

Как установить

https://wiki.mikopbx.ru/setup — есть всевозможные сценарии установки, но нет моего любимого Proxmox!

Создаем VM с именем и ID
Создаем VM с именем и ID
Выбираем ISO образ дистрибутива и тип OS
Выбираем ISO образ дистрибутива и тип OS
Оставляем по умолчанию, Qemu Agent не поддерживается
Оставляем по умолчанию, Qemu Agent не поддерживается
Диск под систему достаточно 1Гб
Диск под систему достаточно 1Гб
Дополнительный диск на 10Гб для хранения данных
Дополнительный диск на 10Гб для хранения данных
Обязательно нужно 2 диска, без второго система не установится.
2 ядер для малого офиса хватит
2 ядер для малого офиса хватит
2Гб ОЗУ так же хватит
2Гб ОЗУ так же хватит
Сеть без Firewall
Сеть без Firewall
Сразу запустим после создания
Сразу запустим после создания
Любуемся запуском установщика
Любуемся запуском установщика
Меняем язык для удобства, нажимая 1-2
Меняем язык для удобства, нажимая 1-2
Настраиваем статический IP адрес, нажимая 2-2
Настраиваем статический IP адрес, нажимая 2-2
IP адрес
IP адрес
Маска 24, она же 255.255.255.0
Маска 24, она же 255.255.255.0
Шлюз
Шлюз
DNS
DNS
Запускаем установку, нажав 8
Запускаем установку, нажав 8
Выбираем диск под систему (1Гб) — sda
Выбираем диск под систему (1Гб) — sda
Соглашаемся и наблюдаем установку
Соглашаемся и наблюдаем установку
Выбираем второй диск под данные (10Гб) sdb
Выбираем второй диск под данные (10Гб) sdb

Теперь нужно отключить дисковод с дистрибутивом MikoPBX

С подключенным образом нужно менять приоритет загрузки, но диск нам более не нужен.
С подключенным образом нужно менять приоритет загрузки, но диск нам более не нужен.
Останавливаем VM и запускаем заново
Останавливаем VM и запускаем заново
Переходим по IP адресу и авторизовываемся admin/admin
Переходим по IP адресу и авторизовываемся admin/admin
И сразу меняем логин и пароль
И сразу меняем логин и пароль
Удаляем дефолтные данные
Удаляем дефолтные данные
Дополнительно, если к MikoPBX подключаетесь через интернет — принудительный редирект на https и валидный SSL сертификат, чтобы браузер не ругался. Но для этого нужно доменное имя.
Дополнительно, если к MikoPBX подключаетесь через интернет — принудительный редирект на https и валидный SSL сертификат, чтобы браузер не ругался. Но для этого нужно доменное имя.

Бесплатный TLS/SSL Wildcard Let’s Encrypt

Так же можно получить сертификат с помощью данного модуля при наличии белого IP
Так же можно получить сертификат с помощью данного модуля при наличии белого IP

Настройка внутренних номеров

Телефония > Сотрудники
Создаем 2 номера для тестов:

201 для тестов на DECT трубке
201 для тестов на DECT трубке
202 для тестов на Zoiper на Wi-Fi
202 для тестов на Zoiper на Wi-Fi
203 для тестов на Yealink
203 для тестов на Yealink

Настройка Gigaset A510 IP

Настройки > Соединения > Выбираем линию
Настройки > Соединения > Выбираем линию
Указываем номер, пароль и сервер
Указываем номер, пароль и сервер

Настройка Zoiper Android

Аналогично указываем номер, пароль и сервер
Аналогично указываем номер, пароль и сервер
Настройка не отличается остальных
Настройка не отличается остальных

Настройка Xiaomi

В Xiaomi есть встроенный клиент SIP!

Настройки вызовов > Расширенные настройки
Настройки вызовов > Расширенные настройки
Настройки SIP
Настройки SIP
Типичные настройки
Типичные настройки
Для только исходящих можно выключить «Принимать входящие»
Для только исходящих можно выключить «Принимать входящие»

По возможности используйте доменное имя сервера, чтобы в случае смены IP адреса, не перенастраивать устройства.

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

Покупка SIP номера

Самые дешевые номера в Zadarma.com, он же novofon.ru, нам нужен самый дешевый номер 499, который стоит 120руб в месяц. С заказом номера не должно возникнуть проблем. Берем авторизационные данные для SIP, и настраиваем подключение.

Нам нужен сервер, логин и пароль
Нам нужен сервер, логин и пароль

Настройка SIP транка

Маршрутизация > Провайдеры телефонии > Подключить SIP
Маршрутизация > Провайдеры телефонии > Подключить SIP
Добавляем провайдера с исходящей регистрацией
Добавляем провайдера с исходящей регистрацией

Проброс SIP RTP портов MikroTik

Исходящая маршрутизация

Настроим звонки на внешние номера

Маршрутизация > Исходящие маршруты
Маршрутизация > Исходящие маршруты
Создаем маршрут на номера начинающиеся с 7 или 8, состоящий из 11 цифр.
Создаем маршрут на номера начинающиеся с 7 или 8, состоящий из 11 цифр.
Теперь мы можем звонить на внешние номера
Теперь мы можем звонить на внешние номера

Входящая маршрутизация

Чтобы могли позвонить нам, создадим входящий маршрут.

Маршрутизация > Входящие маршруты > Добавить новое правило
Маршрутизация > Входящие маршруты > Добавить новое правило
Направляем все вызовы на номер 201
Направляем все вызовы на номер 201

Наберем купленный SIP номер с мобильного.

Видим входящий вызов
Видим входящий вызов

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

Если у вас более 1 номера принимают внешние вызовы, то нужно входящие звонки маршрутизировать в «Очередь вызовов».

Телефония > Очереди вызовов

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

Автоматическая настройка телефонов

Autoprovisioning так же доступен в MikoPBX, но отдельным модулем. Работает сходу в одной L2 сети, то есть сервер MikoPBX должны находиться в одной адресации. Для других СВОИХ маршрутизируемых локальных сетей нужно настраивать проброс multicast 224.0.1.75 до сети сервера MikoPBX.

Регистрируем MikoPBX для использования модулей
Регистрируем MikoPBX для использования модулей
Ставим модуль автоматической настройки IP телефонов
Ставим модуль автоматической настройки IP телефонов
Указываем IP адрес нашей MikoPBX и код регистрации на АТС, например для 204 номера будет *2200101*204
После перезагрузки телефона, он настроится на служебную учетную запись, с которой работает набор кода *2200101*Номер, телефон перезагрузится и настроится на указанный номер.
Указываем IP адрес нашей MikoPBX и код регистрации на АТС, например для 204 номера будет *2200101*204 После перезагрузки телефона, он настроится на служебную учетную запись, с которой работает набор кода *2200101*Номер, телефон перезагрузится и настроится на указанный номер.

Vlan для телефонии

Чтобы АТС и телефоны отделить в отдельную сеть — нужно настроить DHCP опцию 132, в которой указывается значение Vlan ID, В моем примере это Vlan10, в котором находится АТС и будут находиться телефоны.

/ip dhcp-server option
add code=132 name=option132 value="s'10'"

И применяем эту опцию на DHCP настройках:

Теперь телефон будет сразу проваливаться в Vlan10, где будет видеть MikoPBX
Теперь телефон будет сразу проваливаться в Vlan10, где будет видеть MikoPBX

DHCP Option

Подключение дополнительной АТС

Размещение всех филиалов на АТС является не лучшей идеей при маленьких каналах, так как 1 активный вызов занимает 80Кбит полосы пропускания в обе стороны. По этому создадим вторую MikoPBX и соединим их SIP транком.

MikoPBX-2 имеет номера 2XX и заведенный внешний номер 499XXXXXXX

MikoPBX-1 имеет номера 3XX и заведенный внешний номер 495XXXXXXX

Настройка SIP транка между MikoPBX

MikoPBX-2 будет ожидать регистрации:

Логин создается автоматически
Логин создается автоматически

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

-60

[endpoint]
set_var=IGNORE_TIME=1

MikoPBX-2 буде регистрироваться:

Исходящая регистрация по созданным на MikoPBX-2 данным
Исходящая регистрация по созданным на MikoPBX-2 данным

Аналогично в расширенные настройки добавляем:

[endpoint]
set_var=IGNORE_TIME=1

Настройка диалплана

Для прямого набора добавочных через транк. На обоих АТС добавим:
Модули > Приложение диалпланов > Добавить новое

Название и описание с программным кодом:
Название и описание с программным кодом:

1, GoTo(internal,${FROM_DID},1)
n, Hangup()

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

На обоих MikoPBX добавим входящий маршрут созданного транка:

Для входящих с MikoPBX-2. Вместо XXX можно указать конкретный код 1XX
Для входящих с MikoPBX-2. Вместо XXX можно указать конкретный код 1XX
Для входящих с MikoPBX-1. Вместо XXX можно указать конкретный код 2XX
Для входящих с MikoPBX-1. Вместо XXX можно указать конкретный код 2XX

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

На MikoPBX-2 номера 3XX доступны через транк MikoPBX-1
На MikoPBX-2 номера 3XX доступны через транк MikoPBX-1
На MikoPBX-1 номера 2XX доступны через транк MikoPBX-2
На MikoPBX-1 номера 2XX доступны через транк MikoPBX-2

Но при звонках друг другу, будет видно вместо CallerID название SIP транка. Для отображения нормального, нужно отключить использования поля fromuser в SIP транке.

Отключение заголовка From
Отключение заголовка From

Firewall

Если сервер доступе напрямую из интернета, то нужно сразу настраивать Firewall.

Сеть и Firewall > Сетевой экран
Сеть и Firewall > Сетевой экран
Добавляем свои сети в надежные
Добавляем свои сети в надежные
И отключаем все от доступа из интернета
И отключаем все от доступа из интернета

Голосовые файлы

Можно записать для IVR и других сценариев голосовые или музыкальные файлы.

Переходим на сайт https://apihost.ru/voice и озвучиваем с нужными параметрами. Для коммерческого использования лучше заказать студийную запись.

Озвучка довольно качественная на не сложных словах и оборотах предложений
Озвучка довольно качественная на не сложных словах и оборотах предложений
Телефония > Звуковые файлы > Аудиофайлы > Добавить новый звуковой файл
Телефония > Звуковые файлы > Аудиофайлы > Добавить новый звуковой файл
Подгружаем файл
Подгружаем файл
Делаем запись для IVR
Делаем запись для IVR
И тоже загружаем
И тоже загружаем
Список записей
Список записей

Создание IVR

Телефония > IVR меню > Создать новое IVR меню

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

Маршрутизация > Входящие маршруты

Исправим маршрут с транка Zadarma на созданный IVR
Исправим маршрут с транка Zadarma на созданный IVR

QoS

SIP QoS для IP телефонии

СЕТЕВЫЕ УСЛУГИ

  • Настройка
  • Мониторинг
  • Консультация
  • Подбор оборудования
  • Все услуги без предоплаты
  • Работаю с юридическими и физическими лицами