Linksys Auto Provision

Skip to end of metadata
Go to start of metadata

Linksys Auto Provision
Данная статья содержит инструкции по настройке "провижининга" для linksys pap2. Однако данную статью можно так же использовать как руководство для аналогичных девайсов, поддерживающих provisioning.

Общая картина

Суть провижинга заключается в следующем.

На сервере хранятся конфигурационные файлы для каждого устройства в сети, а так же общие шаблоны, используемые всеми девайсами. В общем шаблоне хранятся такие настройки как адрес SIP прокси сервера, используемые аудио кодеки, и пр. В индивидуальных конфигурационных файлах, как минимум, хранятся логин и пароль для каждого порта на устройстве. Как правило, имена индивидуальных конфигурационных файлов содержат в своем имени MAC аддресс соответствующего устройства.

Все Linksys девайсы по factory default настроены на получение IP адреса от DHCP сервера, и название файла с настройками
- init.cfg, который будет запрошен по протоколу TFTP. Следовательно, нам нужно:

  • настроить DHCP сервер, что бы он выдавал всем девайсам адрес TFTP сервера
  • Создать файл init.cfg в корневой директроии TFTP сервера, который содержит имена дополнительных файлов с настройками.

Установка и настройка софта

Устанавливаем TFTP и DHCP демоны

  emege dhcp atftp

Редактируем конфигурационный файлы dhcp демона /etc/dhcp/dhcpd.conf

ddns-update-style               ad-hoc;
log-facility                    daemon;
default-lease-time              21600;
max-lease-time                  21600;

subnet 10.7.30.0 netmask 255.255.255.0 {
  range 10.7.30.100 10.7.30.200;
}

group spa_adapters {
 option tftp-server-name "10.7.30.254";

 host spa-2002_1 {
  hardware ethernet 00:0E:08:FA:B6:10;
  fixed-address 10.7.8.127; }
}

Здесь мы указали DHCP серверу выдавать диапазон адресов 10.7.30.100
- 10.7.30.200, адрес TFTP сервера 10.7.30.254 а так же одну статическую запись для устройства с MAC адресом 00:0E:08:FA:B6:10, хотя последнее вовсе вовсе не обязательно.

Теперь можно запустить DHCP сервер, включить одно из устройств и проверить что наши настройки работают:

/etc/init.d/dhcpd start

После включения в сеть устройства в логах сервера должны появиться примерно следующие строчки:

Sep 12 16:33:52 voip1 dhcpd: DHCPDISCOVER from 00:16:b6:91:86:b3 via eth1
Sep 12 16:33:53 voip1 dhcpd: DHCPOFFER on 10.7.30.200 to 00:16:b6:91:86:b3 (LinksysPAP) via eth1
Sep 12 16:33:53 voip1 dhcpd: DHCPREQUEST for 10.7.30.200 (10.7.30.254) from 00:16:b6:91:86:b3 (LinksysPAP) via eth1
Sep 12 16:33:53 voip1 dhcpd: DHCPACK on 10.7.30.200 to 00:16:b6:91:86:b3 (LinksysPAP) via eth1

Терь настроим tftp сервер. В /etc/conf.d/atftp пропишем следующее:

emerge atftp
TFTPD_ROOT="/home/tftproot"
TFTPD_OPTS="--daemon --user nobody --group nobody --bind-address 10.7.30.254"

Заетм создадим корневой каталог для tftp демона:

voip1 ~ # mkdir /home/tftproot
voip1 ~ # chown nobody:nobody /home/tftproot
voip1 ~ # chmod 700 /home/tftproot/

И запустим его:

voip1 dhcp # /etc/init.d/atftp start

Создание провижининг файлов для сипур

/home/tftproot/init.cfg:

<flat-profile>

<Profile_Rule_B>/$PN.cfg</Profile_Rule_B>

</flat-profile>

Для Linksys PAP2 макрос $PN имеет значение PAP2T . Следовательно создаем файл /home/tftproot/PAP2T.cfg:

<flat-profile>

<Profile_Rule_C>/$PN_$MAC.cfg</Profile_Rule_C>

<Admin_Passwd>pdtytkrf</Admin_Passwd>
<User_Password>lkhkjhqkwjehrjkqwe</User_Password>
<Syslog_Server>10.7.30.254</Syslog_Server>
<Debug_Server>10.7.30.254</Debug_Server>
<Debug_Level>0</Debug_Level>

<Proxy_1_>10.7.30.254</Proxy_1_>
<Proxy_2_>10.7.30.254</Proxy_2_>
<Dial_Plan_1_>(*xx.|xx.)</Dial_Plan_1_>
<Dial_Plan_2_>(*xx.|xx.)</Dial_Plan_2_>

<Call_Waiting_Serv_1_>no</Call_Waiting_Serv_1_>
<Call_Waiting_Serv_2_>no</Call_Waiting_Serv_2_>
<Three_Way_Call_Serv_1_>no</Three_Way_Call_Serv_1_>
<Three_Way_Call_Serv_2_>no</Three_Way_Call_Serv_2_>
<VMWI_Serv_1_>no</VMWI_Serv_1_>
<VMWI_Serv_2_>no</VMWI_Serv_2_>
<MWI_Serv_1_>no</MWI_Serv_1_>
<MWI_Serv_2_>no</MWI_Serv_2_>

</flat-profile>

О том что означают эти параметры можно узнать на официальном сайте линксиса.

Добавление нового устройства

Для каждого нового устройства, которое мы хотим подключить к Asterisk'у процедура настройки одинаковая и достаточно незамысловатая.

  • Узнать МАС адрес девайса. Он как правило написан на самом устройстве, или его можно обнаружить в системных логах, сразу после подключения устройства в сеть.
  • Создать двух новых юзеров в веб-интерфейсе asterisk-gui
  • Создать файл PAP2T_$MAC.cfg:
    <flat-profile>
    
    <User_ID_1_></User_ID_1_>
    <Password_1_></Password_1_>
    
    <User_ID_2_></User_ID_2_>
    <Password_2_></Password_2_>
    
    </flat-profile>
    

И вписать в него логины и пароли. $MAC в имени файла заменить на МАС адрес, напр. 00:16:b6:91:86:b3. Лог получения конфига:

localhost asterisk # tcpdump \-n \-i eth0 port tftp
tcpdump: verbose output suppressed, use \-v or \-vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes

18:51:03.236606 IP 192.168.118.10.27167 > 192.168.118.2.69:  36 RRQ "/init.cfg" octet timeout
18:51:03.277951 IP 192.168.118.10.63719 > 192.168.118.2.69:  37 RRQ "/PAP2T.cfg" octet timeout
18:51:03.334963 IP 192.168.118.10.53191 > 192.168.118.2.69:  55 RRQ "/PAP2T_00:1c:10:c3:3b:f9" [tftp]
  • Перезагрузить линксис. Это так же можно сделать удаленно с сервера при помощи команды curl:
    curl http://10.7.30.200/admin/reboot
    

    В последующем уже нужно будет добавить юзернейм и пароль, который был указан в PAP2T.cfg :

    curl --digest -u admin:pdtytkrf http://10.7.30.200/admin/reboot
    

Если все получилось нормально, то в консоли астериска можно будет наблюдать 2ух новоиспеченных юзеров:

    -- Registered SIP '131' at 10.7.30.198 port 5060 expires 3600
    -- Saved useragent "Linksys/PAP2-3.1.9(LSc)" for peer 131
    -- Registered SIP '132' at 10.7.30.198 port 5061 expires 3600
    -- Saved useragent "Linksys/PAP2-3.1.9(LSc)" for peer 132

Для обновления прошивки надо вызвать http://10.X.X.XXX/upgrade?tftp:/10.Y.Y.YYY/filename.bin

Еще можно добавить

&lt;Resync_Periodic ua=&#34;na&#34;&gt; 5
&lt;/Resync_Periodic&gt;

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

Comment by litnimax on Mon May 12 08:05:00 2008

Для телефона SPA962 название файлов следуюшие:

  • spa962.cfg (по умолчанию вместо init.cfg), ну а далее как описано в init.cfg.
  • SPA-962.cfg
  • SPA-962_XX:XX:XX:XX:XX

Обсуждение темы !http://www.asterisk-support.ru/forum/topics/3398/?page=1#17415

openssl enc --e --aes-256-cbc --k secretnoe_slovo --in spadefault.xml --out spadefault.cfg

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.