Разборки с Cisco IP phone 7941

Feb 16, 2010 11:54

Настроить Cisco IP Phone 7941 меня побудила нужда. Нужно было срочно законфигурять 10 IP-телефонов. 4 из них - Fanvil BW210. Это брат телефону SNR-6020, который продаётся на shop.nag.ru. Веб-лицо у этого аппарата один-в-один как у SNR. Отличается он лишь дизайном корпуса. Шесть оставшихся - Cisco IP Phone 7941. С одним из них и начались проблемы.

В два лица мы (я и мой коллега) готовили к настройке оборудование. Я занимался софтсвичом и телефонами Fanvil, коллега - Cisco-аппаратами. При перенастройке одного из 7941 с тестового софтсвича на рабочий (РТУ1.2.1) что-то пошло не так. В результате, при включении питания на телефоне горела только лампочка громкой связи зелёным. Стандартная процедура сброса не действовала. В этот момент я и присоединился к процессу реанимирования аппарата.

В процессе ковыряния проблемы пришлось вкратце вникнуть в процесс загрузки аппарата, XML-файл конфигурации, поднять TFTP и DHCP-сервера, поснифферить исходящий трафик. У телефона был корректно настроен интерфейс (IP-адрес, маск, шлюз, TFTP-сервер) и он регулярно посылал Gratuitous ARP, ARP для нахождения MAC-адреса своего шлюза, CDPv2. Всего-навсего надо было его после настройки - а телефон был напрямую подключен к компьютеру с TFTP-сервером, на котором находился файл конфигурации - подключить к сети. Но это было только полбеды. Вторая половинка заключалась в слове "Unprovisioned". Вот для решения этой задачи как раз и потребовалось настроить tftpd и dhcp3-server.

Необходимые инструкции быстро нашлись в поисковике:

Настройка TFTP сервера (tftpd)

Вот содержимое моего файла /etc/xinetd.d/tftp

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}

Настройка DHCP сервера (dhcp3-server)

Содержимое файла /etc/dhcp3/dhcpd.conf

option option-150 code 150 = ip-address;

default-lease-time 600;
max-lease-time 7200;

# Интерфейс eth0
subnet 10.20.30.0 netmask 255.255.255.0 {
}

# Интерфейс eth1
subnet 10.20.40.96 netmask 255.255.255.224 {
range dynamic-bootp 10.20.40.121 10.20.40.125;
option subnet-mask 255.255.255.224;
option broadcast-address 10.20.40.127;
option domain-name-servers 172.20.0.2;
option routers 10.20.40.97;
#option nntp-server 192.168.0.10;
#option time-offset -18000; # Eastern Standard Time
option option-150 10.20.40.120;
}

host ipfon {
hardware ethernet 00:27:0d:12:34:56;
filename "SEP00270D123456.cnf.xml";
server-name "10.20.40.120";
}

log-facility local7;

В DHCP option 150 указывается IP-адрес TFTP-сервера. На сколько я смог понять, это нестандартная опция, но она используется цыской. Список опций можно посмотреть тут. Про определение DHCP option 150 я вычитал здесь. Ещё одно письмо касательно DHCP option 150.

После долгих поисков, чтения конфигов, мануалов и общения с товарищем по несчастью методом проб и ошибок выяснилось, что ошибка крылась в файле SEP.cnf.xml в
. Сначала мы думали, что проблема с файлом CTLFile.tlv, который отсутствовал на TFTP-сервере, но это оказалось не так. У меня в phoneLabel содержалась строка RTComm-Sibir. Я не знаю, чем цыскофону не понравилось название конторы, в которой я работаю, но с пустым значением этого параметра телефон завёлся. На мысль поиграться с параметром меня навели логи - сообщение в Status->Status Messages. К сожалению, я не помню, что оно говорило, но что-то как раз об ошибке в файле конфигурации. Вот на эту строчку было потрачено два дня. Зато работа по настройке оставшихся 7941 была поставлена на конвеер.

Так же привожу дополнительные ссылки по настройке:
Астериск+Cisco IP phone
http://www.voip-info.org/wiki/index.php?page=Asterisk%20phone%20cisco%207970%20SIP
http://www.voip-info.org/wiki/view/Asterisk+phone+cisco+79x1+xml+configuration+files+for+SIP
Изменение рингтонов и логотипа
http://tipsandtricks.nogoodatcoding.com/2008/06/hacking-cisco-7940-ip-phone.html
Статья "Как настроить IP-телефон cisco 7941 для SIP"
http://www.hypercomp.ru/articles/configuring-cisco-7941-ip-phone-for-sip/

Теперь можно вернуться к пинанию РТУ1.5. Это продукт от МФИ Софт, который содержит в себе совтсвич 4-го класса (MVTSPro) и центрекс (Centrex). Всё это хозяйство ставится на один сервер под управлением ОС Debian Lenny. Имеющаяся документация на продукт убога. Но благодаря этому я научился читать логи, дебаг и дампы.

На этом, пожалуй, всё.

PS: Чуть не забыл. Вот мой файл dialplan.xml:

Семизначные городские номера. 11-ти значные междугородние. Экстренные службы 0x (01, 02, 03).

mvts, телеком, voip, cisco

Previous post Next post
Up