FreePBX 14 настройка с нуля

6 November 2019

FreePBX – прежде всего это графический интерфейс (GUI) для управления IP-АТС Asterisk. В предыдущей статье мы рассказали как установить FreePBX 14 Distro. Поэтому, на данном этапе мы выбрали FreePBX 14 настройка с Asterisk 16. В статье мы также подробно опишем базовую настройку основных параметров четырнадцатой версии FreePBX сразу после установки дистрибутива.

Подключение к FreePBX

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

К тому же, если версия Вашей системы отличается, IP-адрес можно также узнать через команду:

  • [root@freepbx ~]# ifconfig

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

Администратор системы и активация

После этого подключаемся к FreePBX 14 через браузер. Система несомненно предложит настроить ядро и после этого предварительно её настроить.

Во-первых, необходимо ввести параметры:

  • Username – имя пользователя администратора системы.
  • Password – пароль администратора.
  • Confirm Password – повтор пароля администратора.
Далее убедитесь, что введенный пароль администратора соответствует отметке “Strong” при вводе пароля. Самое главное, чтобы пароль был достаточно надежный.
  • Notifications Email address – E-mail адрес для отправки различных уведомлений (конечно, доступные обновления системы, модулей, блокировке IP-адресов и т.д.). Имеет смысл указать e-mail вашей Ticket-системы, для того, чтобы уведомления обрабатывались администраторами или ИТ-инженерами.
  • System Identifier – Идентификатор (имя) системы. Если у вас FreePBX в единственном экземпляре – название особого значения не имеет. Если у вас крупный географически разнесенный холдинг – имеет смысл подумать об уникальности названия системы.
  • Automatic Module Updates – Производить ли автоматическое обновление модулей. Мы не любим сюрпризов, поэтому данную настройку переводим в режим Disabled. Дальнейшее обновление будем производить в ручном режиме, когда функциональность этого потребует.
  • Automatic Module Security Updates – Автоматическое обновление модулей безопасности. Отключить нельзя, так как это очень важный параметр, который очень часто обновляется для закрытия найденных уязвимостей. Мы отключим автоматическое обновление и включим уведомление на вышеуказанный e-mail, чтобы инженеры произвели обновление в часы наименьшей нагрузки.
  • Send Security Emails For Unsigned Modules – Отправка уведомлений для неподписанных модулей безопасности.
  • Check For Updates every – Время проверки всех обновлений. Мы установим часы наименьшей нагрузки, а именно: Суббота с 00:00 до 04:00.

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

На следующем шаге Ваша PBX предложит активировать себя через портал Sangoma или пропустить этот шаг. Поэтому не будем откладывать в долгий ящик – следовательно, активируем по нажатию кнопки Activate.ндекс.ДиректХватит пить на корпоративе, играйте!Курс «Защита персональных данных»18+Устали вручную вводить первичку?Однодневный тренинг поMIKROTIK!18+

После этого вводим e-mail адрес аккаунта для активации.

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

  • Sound Prompts Language – язык звуковых файлов.
  • System Language – язык системы.
  • Timezone – часовой пояс.

Далее система предложит настроить Firewall и добавить IP-адреса или сети в доверенную зону (DMZ). Если вы хотите сделать это сейчас, нажимайте Continue, если позже – Abort.

Более того, система за вас уже знает IP-адрес, с которого производится настройка и подсеть, в которой также установлена FreePBX, кроме того она предложит добавить эти адреса в исключения Firewall, чтобы как следствие неверных или подозрительных действий администратора системы не произошла случайная блокировка этих адресов. Добавляем через Yes.
Более того, система за вас уже знает IP-адрес, с которого производится настройка и подсеть, в которой также установлена FreePBX, кроме того она предложит добавить эти адреса в исключения Firewall, чтобы как следствие неверных или подозрительных действий администратора системы не произошла случайная блокировка этих адресов. Добавляем через Yes.
Далее включаем Firewall.
Далее включаем Firewall.

Тем временем предварительная активация и предварительная настройка окончена.

ОТСТУПЛЕНИЕ ПРО АКТИВАЦИЮ FREEPBX 14

FreePBX всегда был OpenSource (то есть лицензируется по лицензии GPL) и всегда будет. Причина регистрации вашей системы FreePBX на серверах лицензий FreePBX состоит в том, чтобы позволить вам добавлять «коммерческие модули», не относящиеся к GPL. Эти коммерческие модули также включают в себя как бесплатные, так и платные модули, помогающие расширить набор функций FreePBX.

Что происходит с системой в случае активации

Когда вы регистрируете свою систему FreePBX на сервере лицензий FreePBX, происходит следующее:

  • Создается Deployment ID на портале Sangoma. В результате чего каждая установка имеет свой уникальный ID.
  • Уникальный ID генерируется с помощью PHP Zend Guard. Этот уникальный ID хранится на сервере лицензий. Он связывает номер установки с этим уникальным ID, который называется Zend ID.
  • Когда вы покупаете коммерческие модули, для каждой установки вы выбираете свой модуль и на сервере лицензий также создается файл лицензий этих коммерческих модулей. Коммерческий модуль нельзя переместить с одной установки FreePBX на другую установку. Самое главное – покупка осуществляется в рамках только одной системы FreePBX.
  • Также вы можете запросить сброс аппаратной блокировки один раз. В результате чего вы сможете снять аппаратную блокировку вашей установленной системы и после этого зарегистрировать (или перенести) покупки на новую УАТС (FreePBX).
  • Обновление всех коммерческих модулей выполняется через меню System Admin → Licende → Update Activation.

также для мотивации новых пользователей, Sangoma периодически устраивает акции на коммерческие модули в случае активации системы. Мы производили установку 30.10.2019 (дата установки FreePBX) и нам был предложен модуль Extension Routing бесплатно!

Производим активацию системы через меню: AdminSystem AdminActivation. На данном шаге Вам, безусловно, необходимо заполнить обязательные поля и нажать кнопку Activate.

FreePBX 14 настройка сети

Переходим в меню: AdminSystem AdminNetwork Settings. Устанавливаем параметры сети (Static IP, DHCP) на сетевой интерфейс.

Здесь мы настраиваем следующие опции:

  • Network Interface – сетевой интерфейс, то есть конкретная сетевая карта (NIC);
  • IP Assignment – выберите Static чтобы настроить статический IP – адрес;
  • Static IP – введите IP – адрес сервера;
  • Netmask – маска сети. Указывает в виде количества единичных разрядов или с указанием всех октетов;
  • Gateway – шлюз по умолчанию;
  • Start Automatically – автоматический запуск сетевого интерфейса при запуске сервера.

Меню для настройки DNS-сервера находится по адресу: AdminSystem AdminDNS.

Настраиваем временную зону: AdminSystem AdminTime Zone.

Приступим к настройке служебных оповещений через электронную почту о работоспособности системы: AdminSystem AdminNotifications Settings.

  • From Address – адрес электронной почты, который УПАТС будет указывать в качестве отправителя при отправке письма;
  • Storage Notifications – электронная почта для уведомлений о проблемах с хранением данных (сбой RAID или нехватка места на дисках);
  • Intrusion Detection Notifications – электронная почта для уведомлений о вторжениях или попытках взлома сервера.

FreePBX 14 настройки безопасности (Firewall)

В FreePBX 14 Distro встроена система обнаружения вторжений на базе Fail2Ban. Данная служба анализирует лог-файлы и блокирует злоумышленников. Настраиваем в меню: AdminSystem AdminIntrusion Detection.

Безусловно, мы настоятельно рекомендуем настроить блокировки и белый список IP-адресов (сетей), которые не требуется блокировать, как правило это: voip-сеть, voice-vlan, подсеть c IP-телефонами, VoIP-шлюзами и т.д.

  • Status – состояние службы Fail2Ban. Нормальный режим – running.
  • Intrusion Detection – Stop (остановка) или Restart (перезапуск) службы.
  • Ban Time – время блокировки IP адреса (в секундах).
  • Max Retry – количество попыток подключения к FreePBX, которое можно осуществить в течение Find Time.
  • Find Time – время, в течение которого у пользователя есть Max Retry попыток авторизации в системе.
  • E-mail: – адрес электронной почты для уведомлений о блокировках IP-адресов.
  • Whitelist – список сетей или IP-адресов доверенной зоны (DMZ). Как правило тут указываются сети, в которых установлены IP-телефоны или VoIP-шлюзы, а также IP-адреса провайдеров, которые предоставляют вам услуги, подключенные по SIP (транку).

FreePBX 14 настройка SIP

Модуль SettingsAsterisk SIP Settings → Genaral SIP Settings – это графическая визуализация файла /etc/asterisk/sip_general_additional.conf вашей системы. После этого откроется окно конфигурации.

ВКЛАДКА GENARAL SIP SETTINGS

  • Allow Anonymous Inbound SIP Calls – Разрешение анонимных (не авторизованных) входящих звонков. Эту опцию следует отключить так как она является потенциально опасной для совершения взлома. Следует установить опцию в значение – No.
  • Allow SIP Guests – Разрешение гостевых SIP-звонков и обработка их в контексте [from-sip-external] (контекст по умолчанию). Следует установить опцию в значение – No.
  • External Address – В данном поле необходимо указать внешний IP-адрес FreePBX. Возможно автоматическое определение через “Detect Network Settings
  • Local Networks – локальные IP-адреса и подсети, с которых регистрируются Ваши VoIP-устройства. Формат: 192.168.1.0/24 или 192.168.1.0/255.255.255.0.
  • RTP Port Ranges – Диапазон UDP портов для RTP-трафика (голоса).
  • RTP Checksums – Подсчет контрольной суммы для UDP, который использует RTP-трафик.
  • Strict RTP – Данная опция позволяет сбрасывать RTP пакеты, которые проходят не в рамках сессии.
  • RTP Timeout – Завершение вызова, если нет активности RTP/RTCP пакетов на аудиоканале во время HOLD (удержания вызова) в течение указанного времени (в секундах).
  • RTP Hold Timeout – Завершение вызова, если в течение указанного времени (в секундах) нет активности RTP или RTCP на аудиоканале во время HOLD.
  • RTP Keep Alive – Отправлять сообщение Keep Alive для удержания RTP потока для открытой NAT-сессии в течение периода отсутствия RTP пакетов. Прежде всего актуально для вызовов, которые поставили на удержание.
  • MediaTransportSettings
  • STUN Server Address – Имя хоста или адрес для сервера STUN, используемого при определении внешнего IP-адреса и порта, по которым можно связаться с сеансом RTP. Номер порта является не обязательным. Если этот параметр опущен, будет использоваться значение по умолчанию – 3478.
  • TURN Server Address – Имя хоста или адрес сервера TURN, который будет использоваться в качестве ретранслятора. Номер порта является не обязательным. Если параметр опущен, используется значение по умолчанию – 3478.
  • TURN Server Username – Имя пользователя, используемое для аутентификации на сервере ретрансляции TURN. По умолчанию не используется.
  • TURN Server Password – Пароль, используемый для авторизации с сервером ретрансляции TURN. По умолчанию параметр отключен.
  • ICE Blacklist: IP Addresses – Подсети для исключения из хоста ICE, Server Reflexive (srflx) и обнаружения ретрансляции. Конечно, параметр полезен, когда для оптимизации процесса ICE, система использует несколько диапазонов адресов и/или физических интерфейсов и некоторые их них не должны использоваться для RTP. Например, VPN и локальные соединения могут не проходить для ICE. Можно перечислить несколько подсетей. Например, если этот параметр не задан, используются все обнаруженные адреса узлов. Формат: [адрес]/[подсеть]. Прежде всего, данная настройка связана с использованием WebRTC.
  • ICE Host Candidates: Candidates – Когда Asterisk находится за статическим NAT и используется ICE, тогда ICE будет предоставлять внутренний IP-адрес сервера в качестве одного из кандидатов на хост.
  • T38 Pass-Through – Сквозной пропуск факсимильных сообщений (факсов) через FreePBX без дополнительной обработки по протоколу T.38.
  • No – выключить сквозной режим.
  • Yes – активация сквозного режима коррекции ошибок FEC и переписывание значений оконечных устройств, согласно которому отправляется факс по протоколу T.38.
  • Yes with FEC – активация T.38 в режиме коррекции ошибок FEC.
  • Yes with Redundancy – активация T.38 в режиме отказоустойчивой коррекции ошибок FEC.
  • Yes with no error correction – активация T.38 без коррекции ошибок.
  • Codecs – Выбор используемых голосовых кодеков с установкой приоритета использования.
  • Video Support – Поддержка видео-звонков.
  • Video Codecs – Выбор кодеков для видео-звонка.

ВКЛАДКА CHAN SIP SETTINGS

  • NAT Settings
  • NAT
  • yes – Всегда игнорировать информацию и разрешать NAT.
  • no – Использовать NAT только в соответствии с RFC3581.
  • never – Отключение использования NAT.
  • route – Разрешать NAT без отправки rport.
  • IP Configuration
  • Public IP – Публичный IP-адрес. Если система его не смогла обнаружить можно указать Static IP.
  • Static IP – Статический IP-адрес. Например, если вы используется Dynamic IP – укажите его в соответствующем поле.
  • Dynamic IP – Автоматическая настройка внешнего IP-адреса (файл /etc/asterisk/sip_nat.conf).
  • Dynamic Host – Доменное имя вашего внешнего IP-адреса (например, mydomain.example.ru).
  • Dynamic Host Refresh – Параметр в Asterisk – externrefresh. Периодичность поиска и обновления доменного имени вашего хоста (в секундах).
  • TLS/SSL/SRTP Settings
  • Enable TLS
  • Yes – Включение сервера для входящих TLS-соединений.
  • No – Отключение сервера для входящих TLS-соединений.
  • Certificate Manager – Выбор сертификата, который будет использоваться для транспорта TLS. Данный сертификат настраивается в меню: AdminCertificate Management.
  • SSL Method – Метод транспорта SSL (только TLS). Значение по умолчанию – tlsv1
  • Don’t Verify Server – Не требуется проверка сертификата сервера (только TLS).
  • MEDIA & RTP Settings
  • Non-Standart g726 – Согласование аудиосигнала G726-32 с использованием AAL2 вместо RFC3551 (прежде всего это требуется в основном для VoIP-шлюзов Sipura и Grandstream).
  • Reinvite Behavior – Опция в Asterisk – directmedia (canreinvite). Опция позволяет перенаправлять поток RTP-данных в случае, если SIP-пир находится не за NAT. Прежде всего опция влияет на потерю звука.
  • yes – Разрешить re-INVITE, направляя RTP-трафик по оптимальному пути.
  • no – По умолчанию. Все RTP-потоки проходят через Asterisk.
  • nonat – Позволяет перенаправлять RTP-трафик, когда отправитель не за NAT.
  • update – Использование UPDATE для перенаправления трафика, вместо re-INVITE.
  • Notification & MWI
  • MWI Polling Freq – Частота проверки (в секундах) изменения состояния MWI (световая или звуковая индикация о наличии голосовых сообщений в почтовом ящике).
  • Notify Rinring – Контроль использования подписок на получения звонков других абонентов. Полезно при использовании BLF.
  • Notify Hold – Контроль использования подписок на удержании для BLF.
  • Registration Settings
  • Registration Timeout — таймаут регистрации. По умолчанию, равен 20 секундам. Иными словами, каждые 20 секунд будет отправляться запрос на регистрацию, пока не будет превышено максимальное количество попыток.
  • Registration Attempts — количество попыток регистрации, после которого сервер примет решение перестать отправлять запросы или нет. Если выставлено как 0, то количество запросов не ограничено. В нормальной ситуации, значение 0 является вполне рабочим – Asterisk будет продолжать посылать запросы на регистрацию до тех пор, пока очередная попытка не увенчается успехом.
  • Registration Minimum Expiry — минимальное время, в течение которого сессия регистрации будет считаться просроченной.
  • Registration Maximum Expiry — максимальное время, в течение которого сессия регистрации будет считаться просроченной (прежде всего для входящих регистраций).
  • Registration Default Expiry — длительность входящих и исходящих регистраций по умолчанию.
  • Jitter Buffer Settings
  • Enable Jitter Buffer — Опция активирует использование джиттер буффера на принимающей стороне в рамках одного SIP – канала.
  • Advanced General Settings
  • Default Context — контекст обработки вызова по умолчанию, если не указан иной контекст. Другими словами FreePBX назначает данную опцию как [from-sip-external]. То есть вы вносите изменения только в том случае, если полностью понимаете, что делаете.
  • Bind Address — в данном поле указывается IP – адрес, на котором Asterisk будет ожидать запросы на телефонный процессинг, на порту, указанном в опции Bind Port. Если указано как 0.0.0.0, Asterisk будет принимать запросы на всех адресах, указанных в настройках ОС. Рекомендуем оставить эту опцию без изменений. Кстати, chan_sip не поддерживает IPv6 для транспорта UDP. Если укажите [::], Asterisk будет слушать все IPv4 и все IPv6 адреса. Если вы настолько круты, что используйте PJSip, то смело используйте IPv6.
  • Bind Port — локальный UDP (и TCP, если включено в опции Enable TCP) порт, на котором Asterisk слушает обращения к chan_SIP. Если оставить поле пустым, то по умолчанию будет использован порт 5161 (5160).
  • TLS Bind Address — TCP порт, на котором Asterisk слушает TLS (защищенные) обращения. Конфигурация вида [::], слушает IPv4 и IPv6 на всех интерфейсах.
  • TLS Bind Port — локальной порт для входящих TCP обращений в рамках TLS SIP пакетов.
  • Enable SRV Lookup — Поиск DNS SRV. Данная опция сильно зависит от используемой версии Asterisk. В корреляции с версией, SRV функционал имеет свои ограничения.
  • Enable TCP — включить использование TCP.
  • Call Events — важная опция если вы работаете с AMI (Asterisk Manager Interface). При включенной опции, вы также сможете мониторить различные события в AMI, которые генерирует SIP UA (user agent). Тем не менее данный функционал полезен при разработке собственных приложений.
  • Other SIP Settings — Остальные параметры SIP, которые не указаны в данных настройках. Используйте эту опцию осторожно, так как FreePBX не проверяет данное поле на наличие ошибок. Формат [настройка]=[значение].
Наша команда разработчиков рекомендует использовать PjSIP во всех разработках, так как протокол SIP считает устаревающим.

Пример: Настройка сервера FreePBX, который использует канал chan_SIP (FreePBX 14 настройка Chan SIP Settings)

ВКЛАДКА CHAN PJSIP SETTINGS

Во всех проектах мы используем PjSIP, так как он является более гибким в управлении SIP Peers (endpoint)
  • Misc PjSip Settings
  • Allow Transports Reload – Разрешать перезагрузку транспорта при перезагрузке FreePBX. Другими словами, включение этого параметра не рекомендуется, так как может привести к проблемам с провайдером.
  • Show Advanced Settings – Показ дополнительных настроек при создании PjSIP подключения.
  • Endpoint Identifier Order -Порядок идентификации конечных SIP-пиров (endpoint). Безусловно, изменение данных параметров требует перезапуск службы.
  • TLS/SSL/SRTP Settings – Настройки для использования транспорта TLS.
  • Transports – Отображение информации настройки “Allow Transports Reload”.
  • udp – Прежде всего для использования UDP для подключений.
  • tcp – Прежде всего для использования TCP для подключений.
  • tls – Прежде всего для использования TLS подключения endpoint к вашей УАТС.
  • ws – Прежде всего, используется для WebRTC, поэтому не забудьте включить.
  • wss – Транспорт wss. Например, если используете WebRTC не забудьте включить.
  • 0.0.0.0 (udp)
  • Port to Listen On – Порт для подключения по протоколу PjSIP
  • Domain the transport comes from – Обычно используется с SIP-звонками. Например, user2domain, где domain – это значение этого поля.
  • External IP Address – Если значение пусто – то будет использоваться настройки по умолчанию для каждого PjSIP подключения (транка).
  • Local network – Вы можете использовать эту настройку для определения дополнительной локальной сети для каждого интерфейса.

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

Для создания внутренних номеров используется модуль Applications → Extensions. Также создание внутренних номеров в FreePBX мы описали в отдельной статье:

Создание SIP extensions в FreePBX 14

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

Подключение к провайдеру телефонии по протоколу SIP в FreePBX 14

Протокол SIP – Deprecated, поэтому рассмотрим вариант подключения по PjSIP:

Подключение к провайдеру телефонии по PjSIP в FreePBX 14

Настройка маршрутизации

После этого создадим SIP-транки к провайдеру телефонии, в том же духе необходимо настроить маршрутизацию вызовов. К тому же, пример настройки маршрутизации описана в статье:

Настройка маршрутизации в FreePBX 14

FreePBX 14 настройка голосового меню (IVR)

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