[Из песочницы] Телефоны CISCO 7942G и 7940 в связке с Asterisk 11
Попали в мои руки данные аппараты. С Cisco я не очень дружу, потому полез в гугл и таки настроил эти аппараты. Очень помогла эта статья, но и в ней есть ошибки, которые не совместимы с некоторыми ревизиями 7942G.
Из коробки телефоны работают с цисовскими протоколами, потому надо сначала прошить на SIP.
Начнем с нуля.
Настроим DHCP
DHCP в моем случае выступает MikroTik. Добавляем в свойства DHCP сервера 150 опцию со значением ‘10.1.1.1’, где 10.1.1.1 – ваш будущий TFTP сервер. Прописываем именно с одинарными кавычками. В некоторых случаях говорят указывать как 66 опцию, но с ней у меня не работало.
Поднимаем TFTP
Я все делал на все том же CentOS 6.7. Тут все просто. tftp-server есть в стартовой поставке, потому ставить его не надо. Если что:
yum install tftp-server
Включаем его и пусть пишет логи.
nano /etc/xinetd.d/tftp
В этом файле нас интересуют строки server_args и disable. Первое приводим к виду:
-p -c -u root -s /tftpboot -v
Второе просто ставим no.
Создадим папку и дадим права:
mkdir /tftpboot && chmod 777 /tftpboot
Перезагружаем и радуемся:
service xinetd restart
Прошивка и настройка 7942G
Собрал файл – настройки, прошивка и русская локаль. Просто разархивируем в корень /tftpboot. Скачать можно тут.
Сразу настроим телефон. В файле SEPmymac.cnf.xml меняем SIP_NUM на номер пользователя на астериске, SIP_PASS соотвественно пароль. Вместо 10.1.1.99 указываем свой сервер телефонии. Сам файл переименовываем – mymac меняем на мак устройства заглавными буквами.
В строке:
<timeZone>GMT Standard/Daylight Time</timeZone>
Указываем часовой пояс. У цисок все свое, даже часовые пояса. Часовой пояс Калининграда искал полдня. В итоге вот:
1 Dateline Standard Time -720
2 Samoa Standard Time -660
3 Hawaiian Standard Time -600
4 Alaskan Standard/Daylight Time -540
5 Pacific Standard/Daylight Time -480
6 Mountain Standard/Daylight Time -420
7 US Mountain Standard Time -420
8 Central Standard/Daylight Time -360
9 Mexico Standard/Daylight Time -360
10 Canada Central Standard Time -360
11 SA Pacific Standard Time -300
12 Eastern Standard/Daylight Time -300
13 US Eastern Standard Time -300
14 Atlantic Standard/Daylight Time -240
15 SA Western Standard Time -240
16 Newfoundland Standard/Daylight Time -210
17 South America Standard/Daylight Time -180
18 SA Eastern Standard Time -180
19 Mid-Atlantic Standard/Daylight Time -120
20 Azores Standard/Daylight Time -60
21 GMT Standard/Daylight Time +0
22 Greenwich Standard Time +0
23 W. Europe Standard/Daylight Time +60
24 GTB Standard/Daylight Time +60
25 Egypt Standard/Daylight Time +60
26 E. Europe Standard/Daylight Time +60
27 Romance Standard/Daylight Time +120
28 Central Europe Standard/Daylight Time +120
29 South Africa Standard Time +120
30 Jerusalem Standard/Daylight Time +120
31 Saudi Arabia Standard Time +180
32 Russian Standard/Daylight Time +180
33 Iran Standard/Daylight Time +210
34 Caucasus Standard/Daylight Time +240
35 Arabian Standard Time +240
36 Afghanistan Standard Time +270
37 West Asia Standard Time +300
38 Ekaterinburg Standard Time +300
39 India Standard Time +330
40 Central Asia Standard Time +360
41 SE Asia Standard Time +420
42 China Standard/Daylight Time +480
43 Taipei Standard Time +480
44 Tokyo Standard Time +540
45 Cen. Australia Standard/Daylight Time +570
46 AUS Central Standard Time +570
47 E. Australia Standard Time +600
48 AUS Eastern Standard/Daylight Time +600
49 West Pacific Standard Time +600
50 Tasmania Standard/Daylight Time +600
51 Central Pacific Standard Time +660
52 Fiji Standard Time +720
53 New Zealand Standard/Daylight Time +720
Парой строчек ниже указывается NTP сервер. Я для этих целей поднял его на все том же CentOS, где крутится Asterisk.
NTP сервер
Для начала установим, если не стоит:
yum install ntp
Конфиг лежит в /etc/ntp.conf. Добавляем туда строчку, где указываем подсеть, у которой есть доступ к этому серверу.
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
Стартуем сервер:
/etc/init.d/ntpd start
Непосредственно прошивка
При включении Cisco 7942 теперь будут пытаться подтянуть конфиг с TFTP сервера. В конфиге так же указана прошивка, её он тоже подтянет. Итого он должен загрузится с нужной прошивкой, настройками и локалью. Это займет время, но весь процесс будет отображаться на экране.
Для нормальной работы 7942G требуется еще файл dialplan.xml, который так же должен лежать в корне TFTP сервера. Вставляем в него следующее содержимое.
<DIALTEMPLATE>
<TEMPLATE MATCH="*" Timeout="3"/> <!-- Anything else -->
</DIALTEMPLATE>
7940
Ко мне данный аппарат попал уже прошитый, но логика примерно такая же. Конфиг выглядит следующим образом:
# SIP Default Configuration File
# Image Version
# image_version: P0S3-8-12-00
# Proxy Server
proxy1_address: "10.1.1.99"
proxy2_address: "";
proxy3_address: "";
proxy4_address: "";
proxy5_address: "";
proxy6_address: "";
# Proxy Server Port (default - 5060)
proxy1_port: 5060
proxy2_port: 5060
proxy3_port: 5060
proxy4_port: 5060
proxy5_port: 5060
proxy6_port: 5060
# Proxy Registration (0-disable (default), 1-enable)
proxy_register: 1
# Phone Registration Expiration [1-3932100 sec] (Default - 3600)
timer_register_expires: 600
# Codec for media stream (g711ulaw (default), g711alaw, g729a)
preferred_codec: g711alaw
# NAT/Firewall Traversal
nat_enable: 0; 0-Disabled (default), 1-Enabled
nat_address: ""; WAN IP address of NAT box (dotted IP or DNS A record only)
voip_control_port: 5060; UDP port used for SIP messages (default - 5060)
start_media_port: 16384; Start RTP range for media (default - 16384)
end_media_port: 32766; End RTP range for media (default - 32766)
nat_received_processing: 0; 0-Disabled (default), 1-Enabled
# SIP Configuration File
# 7940 w/2 lines
# Line 1 Parameters
line1_name: "SIP_NUM"
line1_shortname: "SIP_NUM"
line1_authname: "SIP_NUM"
line1_contact: "SIP_NUM"
line1_displayname: "FirstName LastName"
line1_password: "SIP_PASS"
# Line 2 Parameters
line2_name: ""
line2_authname: ""
line2_displayname: ""
line2_password: ""
# Phone Label (Text desired to be displayed in upper right corner)
# Has no effect on SIP messaging
phone_label: ""
# Remote Access Parameters for console or telnet login
phone_prompt: "SIP Phone"
phone_password: "cisco"
user_info: none
Раскомментурем строчку image и указываем версию прошивки. Сами прошивки брать на официальном сайте или на торрентах. Файл конфига называем SIPmymac.cnf – вместо mymac опять таки мак-адрес устройства.
Допиливаем звонки.
Как установить картинку можно посмотреть тут.