Ранее специалистами нашей компании было проведено тестирование телефонов Digium с системой унифицированных коммуникаций Switchvox и одним из самых распространенных бесплатных дистрибутивовAsteriskNow. И вот наконец-то мы добрались до “голого” Asterisk'a.
В данном обзоре мы рассмотрим конфигурирование аппарата с помощью модуля взаимодествия телефонов Digium с Asterisk – DPMA (Digium Phone Module for Asterisk), а также настройку Smart BLF.
Всех заинтересовавшихся прошу под кат.
Итак, начнем.
Прежде всего, нужно заказать лицензию DPMA на официальном сайте производителя:store.digium.com/productview.php?product_code=804-00032
Лицензия бесплатная, но тем не менее продукт все равно требует регистрации. Буквально через несколько минут на почту приходит письмо от Digium с кодом активации. Естественно, чтобы получить лицензию нужно зарегистрироваться на сайте.
После получения лицензии необходимо скачать утилиту register:
Далее меняем права доступа для утилиты register:
И запускаем ее:
Далее следуя подсказкам визарда выполняем все необходимые манипуляции:
Нажимаем 1, затем 11.
И, наконец, вводим ключик, присланный нам от Digium.
“Читаем” условия лицензионного соглашения, вводим необходимые данные для регистрации.
И видим в терминале надпись, что лицензия успешно записана.
Стоит отметить, что для того, чтобы лицензия успешно активировалась, сервер должен иметь выход в интернет, т.к. утилита лезет на сервера Digium для регистрации.
Переходим к следующему шагу: скачиваем модуль DPMA
Разархивируем и копируем файл res_digium_phone.so в папку с модулями Asterisk (по умолчанию /usr/lib/asterisk/modules/):
Копируем файл конфигурации в папку конфигов asterisk (по умолчанию /etc/asterisk/):
Загружаем модуль:
Подключаемся к Asterisk, проверяем валидность лицензии:
Лицензия DPMA привязывается к mac-адресу вашей сетевой карты, в случае ее замены, либо придется перерегистрировать модуль, либо подменять mac-адрес новой сетевой карты
Итак, переходим к настройке телефонов.
Для удобства я назвал их номерами телефонов.
Далее непосредственно переходим к файлу конфигурации res_digium_phone.conf.
Структура файла делится на несколько обязательных секций:
- general
- network
- phone
- line
- external_line
- application
- ringtone
- alert
- firmware
- translation
Остановимся поподробнее на каждой:
Итак, мы разобрали все секции файла конфигурации res_digium_phone.conf
Теперь разберемся со структурой xml-файла с контактами:
Телефоны Digium оснащены приложение “Контакты” с встроенным быстрым набором, blf и статусом присутствия. Приложение “Контакты” связано с приложением “Статус”, так как оба эти приложения действуют на основании информации о присутствии пользователя. Приложение “Статус” опирается только на информацию о присутствии локального пользователя, в то время как приложение “Контакты” также смотрит на статусы других пользователей (информация о которых закреплена за кнопками быстрого набора).
Контакты без статуса присутствия могут быть загружены локально в телефон владельцем этого телефонв, однако это не рекомендуется. Предпочтительно использовать сконфигурированный администратором xml-файл для унификации.
Начиная с версии DPMA 1.3 телефоны Digium поддерживают возможность переноса локально добавленных пользователем контактов на сервер Asterisk. Для активации данной возможности опция “editable” должна иметь значение 1 и контакт должен иметь уникальный идентификатор.
Хотя и можно добавить контакты на сервер с телефона, контакты, сформированные на сервере, не редактируются с телефона и не удаляются из памяти телефона. Таким образом, Digium намекает, что лучше все-таки воздержатья от возможности добавления контактов с телефона во избежании потерь телефонной книги…
Загрузка контакт-листа
Файлы контактов, которые должен загрузить телефон, определяются в модуле DPMA или в основном XML-файле провиженинга телефона.
Параметр contact
Как сказано выше, может быть задано несколько полей contact, которые являются подэлементами элемента
Параметр Rapid Dial Keys
BLF задается параметром blf_contact_group (обязательное поле, BLF-кнопкам будут присвоены значения в соответствии с порядком их объявления в XML-файле.)
Структура файла контактов
Ввиду того, что контакты и blf используют синтаксис XML, очень важно верно построить структуру контакт-листа, так как телефоны Digium не имеют встроенного валидатора XML и вы не увидите никакого сообщения об ошибке.
Базовая структура файла контактов выглядит следующим образом:
Не оставляйте параметры “first_name” и ”last_name” пустыми во избежание некорректного отображения контакт-листа
При использовании DPMA необходимо использовать параметр auto_hint для корректной blf-индикации в формате «auto_hint_,» например: subscribe_to=«auto_hint_1234»
В случае использования DPMA пропистывать хинты в диалплане не обязательно
Если не используется DPMA параметр subscribe_to выглядит следующим образом: subscribe_to=«sip:500@my.pbx.com»
Также необходимо прописать хинты в диалплане:
В любом случае, используете вы DPMA или нет, параметр callcounter в sip.conf необходим
Секция Emails
Секция Actions
Headers: дочерний элемент actions
Wildcard Variables (специальные символы)
%_ACCOUNT_USERNAME_%
%_ACCOUNT_SERVER_%
%_ACCOUNT_PORT_%
Display Rules (правила отображения)
Начиная с версии ПО 1.4 приложение Контакты работает во взаимодействии с функцией BLF. Действия, определенные для контакта, по умолчанию, отображаются при просмотре информации о контакте.
Структура файла smart blf
Smart BLF описывает поведение клавиш быстрого набора (начиная с версии прошивки 1.4). BLF определяет позицию кнопки быстрого набора, позволяет задавать фиксированное расположение на страницах (актуально для D70), поведение кнопки быстрого набора, действия при коротком и продолжительном нажатии, а также специальный рингтон контакта. Правила поведения кнопок быстрого набора конфигурируются в отдельном xml-файле, получаемом по http.
Ввиду того, что контакты и blf используют синтаксис xml, очень важно верно построить структуру контакт-листа, так как телефоны Digium не имеют встроенного валидатора XML и вы не увидите никакого сообщения об ошибке.
Базовая структура файла blf выглядет следующим образом:
Более подробный пример конфига:
Behaviors: дочерний элемент blf_item
Indicators: дочерний элемент blf_item
Подробное описание всех опций и правила построения xml-файлов с контактами и smart blf можно найти на wiki asterisk.
Как было описано выше, файлы с поведением кнопок быстрого набора загружаются по http.
Я выбрал для этих целей apache2.
Тестирование проводилось на Centos 6.3. Пример установки:
Заходим в файл конфигурации:
Ставим в параметре “ServerName” ip-адрес или доменное имя сервера, с которого телефон будет получать конфиги. В моем случае:
ServerName 192.168.1.253
(не забываем снять коммент в начале строки).
Чтобы проверить, есть ли запросы от Digium-телефонов на получение Xml-файлов воспользуемся командой:
Если телефон обращается за конфигом к apache, то в консоли мы увидим что-то типа:
Если все корректно настроено, то после перезагрузки ядра Asterisk ваш Digium-телефон приветливо заморгает зелеными и красными диодами:)
А ребята из Digium для того, чтобы разнообразить серые будни иногда делают такие вещи:)
Резюмируя все выше написанное, хотелось бы отметить, что первоначальная настройка может показаться довольно сложной, однако если у админа парк из 20 и более телефонов, то такой вариант провиженинга значительно облегчит работу по настройке телефонов. Богатый выбор опций, гибкая кастомизация, использование стандартных сервисов для автоматической настройки, плотная интеграция с asterisk и основанными на нем дистрибутивами делают телефоны Digium, на наш взгляд, лучшим решением на рынке IP-телефонии и унифицированных коммуникаций.