Всем привет! В сегодняшней статье расскажем об одном из самых полезных, на наш взгляд, коммерческих модулей FreePBX и продемонстрируем процесс его настройки. Особенно поможет данный модуль системным администраторам, которым часто приходится подготавливать телефонные аппараты для новых сотрудников, а также обслуживать и обновлять их. Итак, встречайте - модуль EndPoint Manager! Его стоимость на момент написания статьи 17.01.18 составляет 149$ (8 418 рубля), лицензия предоставляется на 25 лет. Согласитесь, в масштабах компании - это не такая большая сумма, а время Вашего админа – бесценно :)
Конечно, если Вы являетесь счастливым обладателем телефонов от Sangoma, то благами модуля EPM вы можете пользоваться бесплатно :)
Обзор
Модуль EndPoint Manager позволяет организовать функционал auto-provisioning, когда телефонный аппарат нужно только подключить к сети, а все необходимые настройки он автоматически скачает с сервера, после чего сразу же будет готов к работе. Помимо телефонных аппаратов, с помощью данного модуля можно также настраивать шлюзы, конференц-фоны, беспроводные трубки, дверные телефоны и пэйджинг устройства самых популярных производителей VoIP оборудования:
- Aastra
- Algo
- AND
- Audiocodes
- Cisco
- Cortelco
- Cyberdata
- Digium
- Grandstream
- HTek
- Mitel
- Mocet
- Obihai
- Panasonic
- Phoenix Audio
- Polycom
- Sangoma
- Snom
- Uniden
- Vtech
- Xorcom
- Yealink
Полный список конкретных поддерживаемых устройств можно найти на сайте разработчика: https://wiki.freepbx.org/display/FPG/EPM-Supported+Device
Основное предназначение EPM - это создание шаблонов (template) с необходимыми настройками, которые потом можно применять на одном или группе аналогичных устройств, что сводит подготовку устройств к минимуму.
Общий механизм работы примерно такой - После создания шаблона с настройками для определённой модели телефонного аппарата, администратор, с помощью модуля EPM, привязывает данный шаблон к конкретному внутреннему номеру (extension) по MAC адресу данного устройства. После этого автоматически создаётся конфигурационный файл вида ХХХХ.cfg, где ХХХХ – MAC адрес устройства, который, сервер FreePBX с установленным EPM, хранит на файловом хранилище. Когда телефонный аппарат подключается в сеть, то вместе с IP адресом, он получает по DHCP адреса сервера (option 66), на котором для него создан файл конфигурации. После чего телефон обращается на данный сервер и скачивает готовую конфигурацию и, опционально, актуальную прошивку. То есть, по сути, для того чтобы ввести новый телефон в эксплуатацию, нам нужно только подключить его в сеть, узнать его MAC адрес и всё!
Более подробно про процесс auto-provisioning и option 66 можно почитать в нашей статье
Модуль имеет несколько подразделов, каждый из которых имеет своё предназначение, рассмотрим их:
- Global Settings - в данном разделе настраиваются общие параметры модуля, такие как внутренняя и внешняя адресация, порты, административные и пользовательские пароли для устройств
- Extension Mapping - данный раздел предназначен для настройки соответствия внутреннего номера, настроенного на IP-АТС и назначения определённого шаблона конфигурации. Привязка происходит по MAC адресу аппарата
- Brands - данный раздел содержит шаблоны конфигураций для определённого бренда и моделей VoIP оборудования. Брендов может быть несколько, они добавляются в разделе Add Brand. По умолчанию тут только шаблон для телефонов Sangoma.
- Add Brand - здесь Вы можете добавить новый бренд, для которого в дальнейшем будете создавать шаблоны конфигураций
- Image Management - данный раздел предназначен для управления фоновым изображением на телефонном аппарате, если конечно он его поддерживает
- Ringtone Management - данный раздел предназначен для управления рингтонами звонка на телефонном аппарате;
- Basefile Edit - с помощью данного раздела можно изменять дефолтные параметры самих шаблонов для любой модели телефона. Как правило, это подразумевает редактирование XML файла конфигурации.
- Custom Extensions - данный раздел предназначен для настройки телефонных аппаратов, которые не зарегистрированы на вашей АТС. Поскольку модуль EPM по умолчанию видит только пул внутренних номеров локальной АТС, то для настройки удалённых устройств, например с другой АТС, необходимо сначала объявить их в этом разделе.
- Firmware Management - данный раздел позволяет управлять прошивками устройств всех брендов. Помимо этого, можно управлять их версиями и назначать определённому шаблону ту или иную версию прошивки.
- Network Scan - с помощью данной утилиты можно просканировать сеть и получить список MAC адресов устройств, которым ещё не назначены шаблоны конфигураций и сразу же их назначить через раздел Extension Mapping. Стоит отметить, что поскольку MAC адреса не маршрутизируются, то определить можно только устройства, находящиеся в одной сети с IP-АТС, поэтому здесь нужно указывать локальную сеть. То есть, например, если IP адрес Вашей АТС – 192.168.11.64/24, то Вы сможете успешно просканировать только устройства в сети 192.168.11.0/24.
Настройка
Рассмотрим подробнее каждый из разделов, описанных выше. После установки, модуль появляется в разделе Settings.
Доступ к разделам модуля осуществляется по нажатию на кнопку в правом углу:
Первое, с чего необходимо начать - это глобальные настройки Global Settings.
- Internal IP - здесь указываем локальный адрес нашей IP- АТС. Можно ввести слово auto, тогда локальный IP адрес будет определён автоматически.
- External IP - в этом поле указываем внешний адрес нашей IP-АТС или валидный FQDN. Это поле нужно только если у вас есть телефоны, которые подключаются из вне. Можно ввести слово auto, тогда внешний IP адрес будет определён автоматически, чтобы не использовать данное поле – введите none
- Ports - данная секция отображает номера портов, которые настроены для различных сервисов - Web Server - порт для доступа к вэб-интерфейсу модуля, HTTP Provisioning - порт для auto-provisioning по протоколу HTTP, TFTP Provisioning - порт для auto-provisioning по протоколу TFTP, RESTful Apps - порт использующийся для интеграции Phone Apps с IP-АТС. Номера данных портов настраиваются в модуле System Admin, настроить через EPM их нельзя.
- Phone Admin Password - здесь можно административный пароль для доступа к вэб-интерфейсу телефонных аппаратов. Пароль будет одинаковым для всех устройств под управлением модуля EPM
- Phone User Password - некоторые телефоны имеют разные уровни доступа к вэб-интерфейсу управления. В данном поле можно настроить пароль для пользовательского уровня.
- ReSync Time - время, по истечению которого телефон будет заного запрашивать конфигурацию с сервера, чтобы актуализировать её. По умолчанию это день – 86400 секунд
- XML-API (RestAPI) Default Login - разрешает доступ к Phone Apps, если это поддерживается телефоном.
- Extension Mapping IP Address и Phone Status - здесь настраивается как будет отображаться статус телефонного аппарата в разделе Extension Mapping. Можно показывать IP адрес телефона и время последнего ping’а данного аппарата
По завершению настроек необходимо нажать Save Global
Теперь, когда у нас есть глобальные настройки, можно добавлять и настраивать шаблоны для любых брендов телефонных аппаратов, которые будут подключаться к нашей IP-АТС.
Для этого открываем меню и кликаем Add Brand, перед нами откроется список поддерживаемых производителей, выберем Cisco. После этого, перед нами откроется окно с параметрами настроек нового шаблона для устройств Cisco:
Внимание! Дальнейшие параметры могут отличаться в зависимости от выбранного в предыдущем шаге производителя. Ниже будет приведён пример для Cisco
- Template Name - имя шаблона. Рекомендуем указывать здесь модели, для которых создаётся шаблон, а также для каких телефонных аппаратов он предназначен – локальных или удаленных. Например, в нашем случае шаблон будет для локальных телефонов Cisco SPA 504G
- Destination Address - адрес IP-АТС, на который телефон будет обращаться для того, чтобы зарегистрироваться. Значения Internal и External берутся из Global Settings или же вы можете указать адрес вручную нажав Custom
- Provision Server Protocol - протокол, который будут использовать телефоны для получения своих конфигурационных файлов - TFTP или HTTP
- Provision Server Address адрес provisioning сервера, на который телефон будет обращаться для получения конфигурации. Значения Internal и External берутся из Global Settings или же вы можете указать адрес вручную нажав Custom. В нашем случае - Destination Address и Provision Address будут совпадать и являться адресом IP-АТС 192.168.11.64, это наиболее распространённый случай.
- Time Zone - временная зона
- Primary Time Server и Time Server 2 - сервера синхронизации времени NTP
- Daylight Savings - включает переход на летнее время
- Background Image - фоновое изображение для телефонного аппарата. Загружается в разделе Image Management
- Line Label - позволяет вывести идентификатор линии на LCD экран телефона (если он есть):
- Extension - выводит внутренний номер, например “7007”
- Name - выводит имя внутреннего номера, например “Alex Dobronravov”
- Name-Extension - выводит имя и номер, например “Alex Dobronravov 7007”
Обратите внимание, что в зависимости от используемого телефона количество отображаемых символов может быть ограничено
- Dial Pattern - здесь можно поменять стандартные шаблоны набора номера, используемые телефоном. Символы в данном поле будут зависеть от выбранного производителя
- Firmware Version - здесь мы можем настроить загрузку прошивок для моделей телефонных аппаратов, для которых создаётся шаблон. При нажатии на кнопку Firmware Management мы попадаем в соответствующий раздел, в котором уже доступны все прошивки для телефонов Cisco (в том числе и для нужного нам SPA 504G), выберем самый актуальный пак. В каждом паке содержатся прошивки для разных моделей телефонов. Из пака загружаются только прошивки для моделей, которые выбраны в шаблоне. Можно указать разные версии прошивок, для этого нужно выбрать разные паки в Firmware Slot 1 и с
После чего в настройках шаблона в поле Firmware Version мы можем выбрать нужный слот, чтобы загрузить его на все телефонные аппараты, которые будут выбраны в данном шаблоне.
- Available Phones - в данном списке находим нужную нам модель телефонного аппарата (в нашем случае – SPA 504G) и кликаем на неё. После чего перед нами открывается окно с настройками кнопок телефонного аппарата. Доступные настройки будут зависеть от выбранной модели
В данном случае мы настроили на первой кнопке телефона SPA 504G отображение линии, а на второй BLF по номеру 3032. Отметим, что подобная конфигурация будет присвоена всем телефонам, которым мы назначим данный шаблон. Если их много, то некоторым, например, может не понадобиться BLF одного и того же номера, учитывайте это. В дальнейшем, настройки кнопок можно будет изменить для каждого телефона индивидуально.
Отметим также, что можно создать один шаблон для нескольких моделей телефонов (а также для панелей расширения Expansion Module и других устройств, например, в случае Cisco - FXS), для этого просто отметьте и настройте необходимые модели:
По завершению настройки шаблона доступно несколько опций сохранения - Save - просто сохранит новый шаблон, Save and Rebuild Config(s) - сохранит конфигурацию подготовит её к загрузке на телефоны, которые используют данный конфиг при следующем цикле синхронизации, Save, Rebuild and Update Phones - данный вариант перезапишет новую конфигурацию, подготовит её к загрузке на телефоны, которым назначен данный шаблон и отправят её на эти телефоны, что может вызвать перезагрузку телефонов. Стоит отметить, что пока никаким телефонам не назначен данный шаблон – при использовании опций Save and Rebuild Config(s) и Save, Rebuild and Update Phones ничего не произойдёт, опции действуют только когда в разделе Extension Mapping есть активные устройства.
Для более тонкой настройки параметров, которые невозможно настроить стандартными средствами шаблона, используйте функционал Basefile Edit. Он предназначен для опытных пользователей и позволяет править конфигурацию шаблона для определённой модели на уровне её конфигурационного файла, как правило – формата XML
Завершение настройки и назначение настроенного шаблона телефонным аппаратам
Теперь, когда мы закончили с настройкой шаблона, самое время привязать его к внутреннему номеру и к конкретному телефонному аппарату. Для этого есть 2 способа:
Предварительно убедитесь, что настраиваемые телефонные аппараты подключены в сеть и получают адреса по DHCP. Также, на DHCP сервере должна быть настроена опция 66 (option 66), сообщающая телефону адрес provisioning сервера, на котором хранится конфигурация.
- Заходим в раздел Extension Mapping и нажимаем Add Extension. Выбираем внутренний номер, из списка зарегистрированных на нашей IP-АТС, которому хотим назначить шаблон (тут также можно настроить Custom Extension, о котором говорилось выше), далее выбираем учётную запись SIP, в нашем случае - Account 1. Во втором столбце выбираем бренд - Cisco и ниже прописываем MAC адрес настраиваемого телефона. В последнем столбце выбираем шаблон, который мы только что настроили (в нашем случае spa504g_internal) и модель телефона (в нашем случае Cisco SPA 504G)
После этого выбираем способ сохранения конфигурации и нажимаем Use Selected. Мы выбрали Save, Rebuild and Update Phones, чтобы конфиг сразу же отправился на телефон.
- Заходим в модуль Extensions ищем нужный внутренний номер и открываем вкладку Other. В разделе Endpoint заполняем необходимые поля и нажимаем Submit
В обоих случаях, после данных манипуляций, создаётся конфигурационный файл XXXXYYYYZZZZ.cfg , где XXXXYYYYZZZZ – МАС адрес телефонного аппарата и хранится в файловом хранилище сервера. Когда телефон подключится в сеть, то от DHCP сервера он получит IP адрес, а также через опцию 66 – адрес provisioning сервера, в нашем случае – это TFTP сервер 192.168.11.64. Телефонный аппарат обратится на TFTP сервер и скачает от туда свой конфигурационный файл XXXXYYYYZZZZ.cfg. Таким образом, телефон будет сразу готов к работе.