У меня так в руках оказался Cisco 7902, но без CallManager-а. Вот и решил проверить работоспособность аппарата с помощью Asterisk.
В Asterisk изначально есть канал skinny, однако рекомендуется всё-таки использовать более совершенный chan-sccp-b. Сообщается, что поддерживаются также устройства:
- 12 — Cisco IP Phone 12SP+
- 30 — Cisco IP Phone 30VIP
- 7902 — Cisco IP Phone 7902G
- 7905 — Cisco IP Phone 7905G - Fully supported
- 7910 — Cisco IP Phone 7910
- 7912 — Cisco IP Phone 7912G
- 7920 — Cisco IP Wireless Phone 7920 - All basic features
- 7935 — Cisco IP Conference Station 7935
- 7936 — Cisco IP Conference Station 7936 - Fully supported
- 7940 — Cisco IP Phone 7940 - Fully supported
- 7941 — Cisco IP Phone 7941 - Initial Support
- 7960 — Cisco IP Phone 7960 - Fully supported
- 7961 — Cisco IP Phone 7961 - Initial Support / Reported to work
- 7970 — Cisco IP Phone 7970 - Fully supported
- 7971 — Cisco IP Phone 7971 - Fully supported
- 7961GE
- 7941GE
- 7911
- 7980 — Cisco IP Communicator
- 7985
- 7914 — Cisco IP Phone 7960 with 1 or 2 7914 addons
- ata — Cisco ATA
- KIRK — Kirk is a wireless phone that uses sccp
Его и поставим.
Сходим на страницу проекта, скачаем последнюю версию (в моём случае это chan_sccp_20071213.tar.gz).
# wget "http://downloads.sourceforge.net/chan-sccp-b/chan_sccp_20071213.tar.gz?modtime=1197572506&big_mirror=0"
# tar xf chan_sccp_20071213.tar.gz
Соберём модуль:
# cd chan_sccp_20071213/
# make
sh ./create_config.sh "/usr/include"
Creating config file
====================
Checking Asterisk version...
* found asterisk 1.4
Build PARK functions (y/n)[n]?y
Build PICKUP functions (y/n)[n]?y
Use realtime functionality (y/n)[n]?y
* found 'struct ast_channel_tech'
* found 'ast_bridged_channel'
* found 'struct ast_callerid'
<...>
Now compiling .... sccp_softkeys.c 558 lines
Now compiling .... sccp_socket.c 394 lines
Now compiling .... sccp_indicate.c 329 lines
Linking chan_sccp.so
Последняя строка говорит нам о том, что модуль собрался и готов к использованию. а нам это и надо, устанавливаем его простым копированием (туда, где модули Астериска, у меня в примере - по умолчанию).
cp chan_sccp.so /usr/lib/asterisk/modules/
Установили, теперь нужно убедить Asterisk в использовании его вместо стандартного. Для этого в /etc/asterisk/modules.conf пишем:
noload => chan_skinny.so
load => chan_sccp.so
Теперь необходимо создать конфиг модуля по образу и подобию со страницы описания. Добпвляем телефоны (аппараты - по MAC-адресу) и линии (номера - по екстеншену). В extensions.conf корректируем диалплан чтобы приходили входящие вызовы.
Ну и осталось дело за малым. Но немаловажным! TFTP-сервер.
У меня дистрибутив Gentoo, поэтому установка свелась к следующему:
# emerge net-ftp/tftp-hpa
# mkdir /tftproot
# /etc/init.d/in.tftpd start
# rc-update add in.tftpd default
В /tftproot должен находиться хотя бы XmlDefault.cnf.xml содержанием:
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>IP Астериска</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</Default>
Также для каждого аппарата можно положить свой конфиг с именем типа SEP
MAC-адрес написан на каждом телефоне на обратной стороне. Cisco IP Communicator использует MAC используемой сетевой карты.