четверг, 29 марта 2018 г.

Использование Provisionig при настройке Panasonic KX-HDV100

Пришло время новых историй!

Занялся, на днях, раскуриванием "Asterisk", а за одно и всем остальным, что с ним связано. Настройку самой АТС пока отложим в сторону, а вот телефонными аппаратами займемся.
Как обычно, все манипуляции производятся в Gentoo Linux.
В принципе, можно их настраивать и в ручную, через Web-интерфейс, но когда их больше штук эдак пяти, это начинает приводить в уныние, потому лезем в мануалы и вдумчиво их изучаем.

Нас интересует "Руководство для администратора" и "XML Application Developer's Guide". По результатам выясняем, что для автоматического конфигурирования нам нужно подсунуть аппарату следующие файлы:

  • Файл предварительной конфигурации - тут прописаны пути к остальным файлам конфигурации.
  • Файл общей конфигурации для всех аппаратов
  • Файл конфигурации конкретного телефона
Первым, естественно, нужно загружать файл предварительной конфигурации.
Приступим.
Первым делом настроим DHCP сервер, для выдачи телефонам адресов и указания им файла конфигурации. Для этого выделим пул адресов выдаваемых оборудованию конкретного производителя, в нашем случае это Panasonic. Примерное содержание файла конфигурации dhcpd.conf:
default-lease-time 21600;
max-lease-time 21600;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1, 192.168.0.2;
option domain-name "example.com";
#option-66 параметр, в котором передаем телефонам путь к файлу предварительной конфигурации
option option-66 code 66 = string;
 
shared-network example_network {

subnet 192.168.0.0 netmask 255.255.255.0 {
#Класс включающий в себя сетевые устройства производителя "Panasonic"
 class "panasonic" {
   match if substring (option vendor-class-identifier,0,9) = "Panasonic";
#Путь к файлу предварительной конфигурации
   option option-66 "192.168.0.3/Panasonic/";
}
#Пул адресов для устройств производителя "Panasonic"
    pool {
      allow members of "panasonic";
      range 192.168.0.5 192.168.0.34;
     }
  }

}
Файл предварительной конфигурации должен лежать на tftp сервере, называться он должен по имени модели телефона, т.е. в нашем случае - KX-HDV100RU.cfg  Соответственно ставим и настраиваем tftp сервер:
localhost~#emerge -av tftp-hpa
Открываем  файл конфигурации /etc/conf.d/in.tftp. Раскомментируем, или добавляем строку INTFTPD_PATH="/var/tftp/". Сохраняем и закрываем файл.
создаем нужные папки и файл предварительной конфигурации:
localhost~#mkdir /var/tftp 
localhost~#mkdir /var/tftp/Panasonic
localhost~#touch /var/tftp/Panasonic/KX-HDV100RU.cfg
Редактируем файл предварительной конфигурации. Первая строка в нем обязательно должна быть -  # Panasonic SIP Phone Standard Format File #, в конце файла обязательно пустая строка.
Содержимое KX-HDV100RU.cfg:

# Panasonic SIP Phone Standard Format File #
#Файл конфигурации конкретного телефона ({MAC} - указание телефону подставить в качестве имени файла свой mac-адрес заглавными буквами без пробелов и разделителей)
CFG_STANDARD_FILE_PATH="http://192.168.0.3/panasonic/{MAC}.cfg"
#Файл общей конфигурации для всех аппаратов
CFG_MASTER_FILE_PATH="http://192.168.0.3/panasonic/kx-hdv-common.cfg"
Добавляем tftp в автозагрузку и запускаем его:
localhost~#rc-update add in.tftpd default
localhost~#/etc/init.d/in.tftpd start  
Создаем папку на web сервере и оставшиеся  файлы конфигурации в ней:
localhost~#mkdir /var/www/localhost/htdocs/panasonic
localhost~#touch /var/www/localhost/htdocs/panasonic/kx-hdv-common.cfg
#тут подставить mac настраиваемого аппарата(повторить N раз для N телефонов подставляя их mac-и)
localhost~#touch /var/www/localhost/htdocs/panasonic/ABBCCD12345F.cfg
#За одно и адресную книгу создадим
localhost~#touch /var/www/localhost/htdocs/panasonic/abook.xml
Редактируем созданные файлы. Повторюсь - первая строка в файле обязательно должна быть -  # Panasonic SIP Phone Standard Format File #, в конце файла обязательно пустая строка.
 kx-hdv-common.cfg:
# Panasonic SIP Phone Standard Format File #

#Часовой пояс(GMT+3) и NTP сервер
TIME_ZONE="180"
NTP_ADDR="192.168.0.1"
#Доступные к выбору языки интерфейса телефона
AVALIABLE_LANGUAGE="ru,en"
AVALIABLE_LANGUAGE_WEB="ru,en"
#Установленный язык интерфейса телефона
DEFAULT_LANGUAGE="ru"
WEB_LANGUAGE="ru"
#ВКЛ(1)/ВЫКЛ(0) звук клавиш телефона
KEY_PAD_TONE="1"
#Циклическая загрузка файлов конфигурации в телефон
CFG_CYCLIC="Y"
#Периодичность загрузки в минутах
CFG_CYCLIC_INTVL="10"
#Включить постоянный web доступ к телефону(Y/N)
HTTPD_PORTOPEN_AUTO="Y"
#Настройки HTTP клиента телефона
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
#Включаем XML приложения
XMLAPP_ENABLE="Y"
#Подключаем адресную книгу
XML_PHONEBOOK_URL="http://192.168.0.3/panasonic/abook.xml"
#Периодичность синхронизации адресной книги в минутах
XML_PHONEBOOK_CYCLIC_INTVL="60"
#Настройки перехвата и парковки вызовов в соответствии с настройками Asterisk
NUM_PLAN_PARKING="*88"
NUM_PLAN_PICKUP_DIRECT="**"
CALLPARK_KEY_ENABLE="Y"
 ABBCCD12345F.cfg(этих столько - сколько телефонов):
# Panasonic SIP Phone Standard Format File #

## SIP Settings
#Номер телефона
PHONE_NUMBER_1="100"
#Логин SIP
SIP_AUTHID_1="100"
#Пароль SIP аккаунта
SIP_PASS_1="password"
#IP SIP-сервера
SIP_PRXY_ADDR_1="192.168.0.4"
SIP_RGSTR_ADDR_1="192.168.0.4"
SIP_PRSNC_ADDR_1="192.168.0.4"
#Кнопки P1 и P2 действие
#X_PANASONIC_IPTEL_BLF|X_PANASONIC_IPTEL_ONETOUCH
FLEX_BUTTON_FACILITY_ACT1="X_PANASONIC_IPTEL_BLF"
FLEX_BUTTON_FACILITY_ACT2="X_PANASONIC_IPTEL_BLF"
#Кнопки P1 и P2 значение аргумента для действия
FLEX_BUTTON_FACILITY_ARG1="101"
FLEX_BUTTON_FACILITY_ARG2="102"
Ну и адресная книга, конечно:
<?xml version="1.0" encoding="UTF-8"?>
<Group>
<startIndex>1</startIndex>
<numberOfRecords>2</numberOfRecords>
<totalAvailableRecords>2</totalAvailableRecords>
<groupDirectory>
<directoryDetails>
<firstName>David</firstName>
<lastName>Allan</lastName>
<number>1111001</number>
<extension>1001</extension>
</directoryDetails>
<directoryDetails>
<firstName>George</firstName>
<lastName>Williams</lastName>
<number>1111010</number>
<extension>1010</extension>
</directoryDetails>
</groupDirectory>
</Group>

Теперь берем новый телефон, втыкаем в розетку и наслаждаемся!
Будет работать для KX-HDV100, KX-HDV130 и, предположительно, KX-HDV230.

Комментариев нет:

Отправить комментарий