Ключевые слова:cisco, voip, asterisk, (найти похожие документы)
From: A. Shupikov <a.shupikov@gmail.com.>
Date: Sun, 30 Mar 2008 17:02:14 +0000 (UTC)
Subject: Подключение ip-телефона Cisco 7960 c модулем расширения Cisco 7914 к Asterisk
Оригинал: http://ssh3.livejournal.com/118136.html
По традиции, всем ip-телефонам от Cisco попадающим мне в руки, я не
раздумывая меняю микропрограмму на поддерживающую SIP и отправляю
их в эксплуатацию. В данном случае это не возможно, так как необходимо
получить работающий комплект в составе: ip-телефона Cisco 7960;
модуля расширения Cisco 7914.
По версии производителя, использование Cisco 7914 возможно только под
управление Cisco Unified Communications Manager (ex. Cisco Call
Manager), что на данный момент автоматически означает использование
протокола SCCP.
1. Настройка dhcpd, tftpd.
a. dhcpd
Наиболее простой способ сообщить устройству ip-адрес
tftp-сервера, это описать в конфигурационном файле
dhcp-сервера опцию 150 (option-150):
/etc/dhcp3/dhcpd.conf
#
# Sample configuration file for ISC dhcpd for Debian
#
...
# option definitions common to all supported networks...
option option-150 code 150 = ip-address;
...
shared-network dt-labs {
subnet 192.168.117.0 netmask 255.255.255.0 {
option routers 192.168.117.254;
option option-150 192.168.117.254;
...
}
b. tftpd
Настройка под наши нужды tftp-сервера тривиальна, достаточно
поместить в корневой каталог файлы микропрограмм и
конфигурации. Содержимое конфигурационных файлов рассмотрим
ниже.
2. Обновление микропрограммы и настройка.
a. Обновление микропрограмм
В нашем случае, необходимы следующие файлы:
Cisco 7960:
P00308000600.bin
P00308000600.loads
P00308000600.sb2
P00308000600.sbn
Cisco 7914:
S00105000300.sbn
b. Настройка
Файлы конфигурации, документы в формате xml, в простейшем
случае достаточно следующих:
xmlDefault.CNF.XML
SEP000AB8CB5588.cnf.xml
xmlDefault.CNF.XML - содержит базовую конфигурацию.
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.117.254</processNodeName>
</callManager>
</member>
</members>
<loadInformation124 model="Addon 7914">S00105000300</loadInformation124>
<loadInformation8 model="IP Phone 7940">P00308000600</loadInformation8>
<loadInformation7 model="IP Phone 7960">P00308000600</loadInformation7>
</callManagerGroup>
</Default>
SEP000AB8CB5588.cnf.xml - "персональный" конфигурационный
файл, часть выделенная цветом является mac-адресом
устройства. Данный файл используется только устройством с
совпадающим mac-адресом.
<device>
<devicePool>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.117.254</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<versionStamp>{Jan 01 2005 00:00:00}</versionStamp>
<loadInformation>P00308000600</loadInformation>
<addOnModules>
<addOnModule idx="1">
<loadInformation>S00105000300</loadInformation>
</addOnModule>
</addOnModules>
<networkLocale></networkLocale>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
</device>
Для управления тональными сигналами и рингтонами, могут
потребоваться дополнительные конфигурационные файлы
7960-tones.xml и RINGLIST.XML, но о них как-нибудь в другой
раз.
3. Настройка Asterisk
Необходимые замечания. Я намеренно опускаю часть, в которой
следовало бы рассказать о способах получения кода из SVN
репозитория проекта, необходимых библиотеках, тонкостях
сборки. Все это давно описано и без труда находится в
Google.
Кроме того, добиться полной работоспособности устройства
подключенного по протоколу skinny, получилось только с
использованием trunk - активно развивающейся, наиболее
функциональной, но к сожалению наименее стабильной ветке
проекта.
a. skinny.conf
В этом конфигурационном файле описываются устройства
подключаемые к Asterisk с использованием протокола skinny.
Для моего случае описание комплекса из Cisco 7960 и 7914,
выглядит так:
[big]
device=SEP000AB8CB5588
callerid="Customers Support" <300>
context=default
;
; Displays next to the line
linelabel="Support phone"
;
; Flex buttons on 7960
; button 1
line => 300
callerid="Support" <300>
linelabel="Support Line 300"
;
; button 2
line => 301
callerid="Support" <301>
linelabel="Support Line"
;
; button 3
line => 302
callerid="Support" <302>
linelabel="Support Line"
;
; button 4
line => 303
callerid="Support" <303>
linelabel="Support Line"
;
; button 5
speeddial => 400,IT Dep.
; button 6
speeddial => 400,SI Dep.
;
; Flex buttons on 7914
; button 1
speeddial => 100,User0
;...
; button 14
speeddial => 113,User13
addon => 7914
Убедиться, в успешной авторизации устройства в системе, можно
выполнив в консоли: skinny show devices
*CLI> skinny show devices
Name DeviceId IP Type R NL
-------------------- ---------------- --------------- --------------- - --
big SEP000AB8CB5588 192.168.117.249 7960 Y 4
Узнать номера линий, которые устройство готово принять: skinny show lines
*CLI> skinny show lines
-------------------- -------- -------------------- --------------------
big 4 303 "Support Line"
big 3 302 "Support Line"
big 2 301 "Support Line"
big 1 300 "Support Line"
b. extenisons.conf
Описание в плане набора абонентов подключенных к Asterisk
посредством skinny очень прост:
exten => _30[0123],1,Dial(Skinny/${EXTEN}@big)
exten => _30[0123],n,Hangup