Здесь описана практическая работа с оборудованием.
Подробное описание: Обеспечение параметрами (Provisioning)
SIP устройства Grandstream можно настраивать через:
HTTP сервер
Конфигурационный файл
загружаемый по протоколам TFTP
или HTTP
(параметры настройки находятся в разделе Config Server Path
Конфигурационного файла
)
Конфигурационный файл
создается на основе изменения файла—шаблона
устройства. Шаблоны устройств можно найти на странице Tools в разделе Configuration Template
Для удобства работы общие для нескольких устройств параметры правильнее хранить в одном файле, а настройки конкретных устройств (каналы и пароли) в отдельных файлах, например вот список файлов для двух телефонов GXP140x
:
Основной (общий) файл | GXP140x.txt |
Файл настроек для устройства с именем t100 | GXP140x_t100.txt |
Файл настроек для устройства с именем t101 | GXP140x_t101.txt |
Параметры серверов задаются в разделе Maintenance/Upgrade and Provisioning
шаблона.
Тип (формат) конфигурационного файла | Формат имени файла |
---|---|
Все SIP устройства поддерживают проприетарный бинарный формат | cfgMAC |
Некоторые устройства дополнительно поддерживают XML | cfgMAC.xml |
MAC
это MAC-адрес этого устройства, например cfg000b82000001
. Имя файла должно быть в нижнем регистре
При запуске устройство ищет конфигурационный файл
на сервере, если файл найден, то устройство загружает его, применяет настройки (и при необходимости перезагружается).
Параметры настройки находятся в разделе Firmware Server Path
Конфигурационного файла
НТТР сервер Apache
<VirtualHost pbx:80>
Alias /gs /var/www/provisioning/
ServerAlias pbx
ServerAlias pbx.domain.ru
ServerAdmin admin@pbx.domain.ru
DocumentRoot /var/www/
<Directory /var/www/provisioning/>
DirectoryIndex index.html
Options FollowSymLinks
AllowOverride Limit Options FileInfo
</Directory>
</VirtualHost>
cfg000b82000001 cfg000b82000002 cfg000b82000003 gxp1400base.bin gxp1400boot.bin gxp1400core.bin gxp1400fw.bin gxp1400prog.bin gxp2120aux.bin gxp2120base.bin gxp2120boot.bin gxp2120core.bin gxp2120fw.bin gxp2120prog.bin gxw4008base.bin gxw4008basea.bin gxw4008boota.bin gxw4008core.bin gxw4008corea.bin gxw4008extraa.bin gxw4008fw.bin gxw4008proga.bin
Для работы факса важно, чтобы в всех шлюзах, через которые проходит сигнал T.38
был установлен в режим Pass-though
Скрипт создает файл с параметрами конкретного устройства, для преобразования из формата текстового формата используется скрипт для преобразования в cfg
Параметры
1 | Основной файл |
2 | Файл паролей |
3 | MAC адрес |
4 | Режим: 1 =Только основные параметры 2=Только пароли и каналы 3=Все параметры |
Пример
create_config.sh GXP140x.txt GXP140x_t1.txt 000b82000001 1
Параметры
1 | MAC адрес в нижнем регистре, без разделителей |
2 | Имя исходного файла с параметрами |
3 | Имя выходного файла |
Пример
config.pl 000b82000001 config_000b82000001.txt cfg000b82000001
Проверено на следующем оборудовании:
Параметры
1 | Имя устройства или IP-адрес |
2 | Пароль |
Команда не перезагрузку устройства дается по протоколу Telnet
, для эмуляции сессии воспользуется пакет Expect.
Пароль для устройства можно получить из файла с параметрами устройства, в данном примере пароль записан в поле P2
Пример:
#!/bin/bash FILE=GXW4008_fxs1.txt HOST=fxs1 PASSWD=`echo \`cat $FILE | grep 'P2 = '\` | tr -d ' ' | tr -d 'P2='` reboot.sh $HOST $PASSWD
Проверено на следующем оборудовании:
Перезагрузка телефонов Grandstream работа по протоколу HTTP. Для работы нужно установить пакет cURL
#!/bin/bash export http_proxy=''; sid=$(curl -s -c /tmp/cookies.txt -d"password=${2}" http://${1}/cgi-bin/dologin | sed -r 's|.*"sid" : "([0-9a-z]+)".*|\1|' ) curl -b /tmp/cookies.txt -d"request=REBOOT&sid=${sid}" http://${1}/cgi-bin/api-sys_operation exit
Параметры
1 | Имя устройства или IP-адрес |
2 | Пароль |
Пример:
#!/bin/bash FILE=GXP140x_t101.txt HOST=t101 PASSWD=`echo \`cat $FILE | grep 'P2 = '\` | tr -d ' ' | tr -d 'P2='` reboot2.sh $HOST $PASSWD
Bash script to remote reboot some Grandstream phones - VoIP-Info