Категория: Инструкции
КАК Я ПРОГРАММИРОВАЛ CISCO 7940G
Задача была такой. перепрошить сиську под протокол SIP (Session Initiation Protocol). Изначально этого протокола в аппарате небыло.
Хотелось наладить IP телефонию у себя дома. Тем более http://www.gorphone.ru/ "Комкор" как всегда ставит эксперимент на кроликах в городе Зеленограде. Решено было попробовать что это вообще за связь на примере "SIPNET " http://www.sipnet.ru/
И так имеем сиську. или он нас :
Аппарат CISCO7940G
Прошивка Р00305000600
Версия 5.0(6.0)
Понятно что она не имеет SIP протокола, хочу обновить прошивку. для работы с СИПНЕТОМ.
Согласно инструкции. и дальнейшего лазания поиском. нашел что нужно прописать в строку ТФТП сервер 212.53.35.219
(Замечу сразу что ввод букв в этой строке не возможен на моем аппарате, или я чтото не так делаю? альфа нумерик нету клавиши такой у меня)
Пытался также указать и 212.53.35.34. безрезультатно. связаться с ним не получается. Т.е. посути дела сделать автоматический апгрейд прошивки не получился.
Установил у себя тфтп сервер и наладил связь с сиськой 7940.
Наковырял в инете прошивку 8.2 пробовал прошить, не получилось. Схватывает txt и sbn файл закачивает их себе и после перезагрузки повторяет всё по новой. Пока не выключишь тфтп сервер. Лезу в меню, изменений никаких, прошивка осталась таже что и была.
Как установил отдельная песня:
Server interfaces 127.0.0.1
IP pool starting addres Пишем адрес что задан для сетевой карты на компьютере ( 10.0.40.97 )
WINS/DNS Server Пигшем адрес для DNS сервера например ( я написал первый предпочитаемый DNS что в настройках карты 10.0.101.6 )
Default router Пишем адрес основоного шлюза что указан для сетевой карты ( 10.0.40.1 )
Mask Пишем маску подсети что и для сетевой карты 255.255.255.0
Domain Name Пишем OSEL
Если выбор YES / NO не активен надо нажать "* * # " (так было на моём аппарате с существующей прошивкой) В новых версиях прошивок необходимо зайти в Unlock Config и набрать пароль для доступа к конфигурации. Обычно это " cisco " или " access "
Если DHSP сервер НАСТРОЕН делаем дальше так :
Если DHSP сервер НЕ НАСТРОЕН тогда вводим здесь же в этом меню:
Если всё включено и связь есть. Откройте закладку Log viewer в программе tftp сервера. И вы увидете что хочет CISCO 79ХХ от сервера получить.
А лезет она за файлами.
И далее она должна обновление начать делать, но.
В моём случае сиська хотела XMLDefault.cnf .xml и она его получила .
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<analogAccessPort>2002</analogAccessPort>
<digitalAccessPort>2001</digitalAccessPort>
<ethernetPhonePort>2000</ethernetPhonePort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>10.0.40.97</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation4 model="12 S">P00203010002</loadInformation4>
<loadInformation3 model="12 SP">P00203010002</loadInformation3>
<loadInformation2 model="12 SP+">P00203010002</loadInformation2>
<loadInformation124 model="14 Button Line Extension Module">S00103010001</loadInformation124>
<loadInformation1 model="30 SP+">P00103010002</loadInformation1>
<loadInformation5 model="30 VIP">P00203010002</loadInformation5>
<loadInformation30 model="Analog Access">A001A031</loadInformation30>
<loadInformation47 model="Analog Access WS-X6624">A00203010005</loadInformation47>
<loadInformation51 model="Conference Bridge WS-X6608">C00103010003</loadInformation51>
<loadInformation40 model="Digital Access">D001Q022</loadInformation40>
<loadInformation43 model="Digital Access WS-X6608">D00403010010</loadInformation43>
<loadInformation42 model="Digital Access+">D00303010008</loadInformation42>
<loadInformation6 model="IP Phone 7910">P004G302</loadInformation6>
<loadInformation9 model="IP Phone 7935">P005S301</loadInformation9>
<loadInformation8 model="IP Phone 7940"> P003-08-6-00 </loadInformation8>
<loadInformation7 model="IP Phone 7960">P003G302</loadInformation7>
<loadInformation111 model="Media Termination Point WS-X6608">M00103010003</loadInformation111>
</Default>
image_version:P0S3-08-6-00 (где P0S3-08-6-00 файл с новой прошивкой без расширения)
Собственно сама прошивка
После всех этих процедур аппарат начнет загрузку образа Application Loader с tftp перезагрузится и загрузит образ firmware. Не трогайте его в этот момент, и уж темболее не выключайте питание, иначе может плохо кончится и он будет просто пластиковой коробочкой.
Всё. после этого меню станет совсем другим. Появится "SIP Configuration " и можно будет продолжить настройку под нужного провайдера вашего аппарата.
Используются технологии uCoz
Как настроить IP-телефон Cisco 7940/7960 для работы по протоколу SIP.
Для работы IP-телефона Cisco 7940/7960 по протоколу SIP необходимо провести несколько подготовительных операций. Во-первых, скачать по адресу http://www.cisco.com/pcgi-bin/tablebuild.pl/sip-ip-phone7960 последнюю версию прошивки для телефона и создать конфигурационный файл на основе рассматриваемого шаблона. После того, как телефон будет включен и загрузит эту информацию с TFTP-сервера, он будет готов к работе. Рассмотрим настройку по шагам.
Когда телефон инициализируется, он запрашивает с TFTP-сервера:
DHCP-сервер должен отдавать следующие опции (или их придется настроить вручную):
1. Телефон загружает файл прошивки.
2. Телефон получает номер своего VLAN – для того, чтобы получить параметры с DHCP-сервера, телефон, в случае подключения к коммутатору Cisco Catalyst, должен получить номер Voice-VLAN’а, настроенного на коммутаторе.
3. Телефон получает IP-адрес – с DHCP-сервера или из своих настроек.
4. Телефон скачивает с TFTP-сервера или загружает из памяти следующие файлы:
5. Телефон проверяет версию прошивки.
Конфигурационные файлы IP-телефонов CiscoФормат имени файла должен быть SIPXXXXYYYYZZZZ.cnf. где XXXXYYYYZZZZ – MAC-адрес телефона в верхнем регистре. Пример имени файла: SIP00503EFFD842.cnf.
Каждая строка файла должна иметь вид:
имя_переменной. значение ; необязательный комментарий
Необходимо изменить в следующем примере параметры:
Остальные параметры изменяются при необходимости. Пример конфигурационного файла SIPDefault.cnf :
# SIP Default Configuration File
# Image Version
image_version: P0S3-08-3-00
# Proxy Server
proxy1_address: 172.16.255.255
proxy2_address: ""; Can be dotted IP or FQDN
proxy3_address: ""; Can be dotted IP or FQDN
proxy4_address: ""; Can be dotted IP or FQDN
proxy5_address: ""; Can be dotted IP or FQDN
proxy6_address: ""; Can be dotted IP or FQDN
# 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: 0
# Phone Registration Expiration [1-3932100 sec] (Default - 3600)
timer_register_expires: 3600
# Codec for media stream (g711ulaw (default), g711alaw, g729a)
preferred_codec: g711ulaw
# TOS bits in media stream [0-5] (Default - 5)
tos_media: 5
# Inband DTMF Settings (0-disable, 1-enable (default))
dtmf_inband: 1
# Out of band DTMF Settings
#(none-disable, avt-avt enable (default), avt_always-always avt)
dtmf_outofband: avt
# DTMF dB Level Settings
#(1-6dB down, 2-3db down, 3-nominal (default), 4-3db up, 5-6dB up)
dtmf_db_level: 3
# SIP Timers
timer_t1: 500; Default 500 msec
timer_t2: 4000; Default 4 sec
sip_retx: 10; Default 10
sip_invite_retx: 6; Default 6
timer_invite_expires: 180 ; Default 180 sec
####### New Parameters added in Release 2.0 #######
# Dialplan template (.xml format file relative to the TFTP root directory)
dial_template: dialplan
# TFTP Phone Specific Configuration File Directory
tftp_cfg_dir: ""; Example. /sip_phone/
# Time Server
#(There are multiple values and configurations refer to Admin Guide for Specifics)
sntp_server: ""; SNTP Server IP Address
sntp_mode: anycast (default); unicast, multicast, or directedbroadcast
time_zone: EST; Time Zone Phone is in
dst_offset: 1; Offset from Phone's time when DST is in effect
dst_start_month: April; Month in which DST starts
dst_start_day: ""; Day of month in which DST starts
dst_start_day_of_week: Sun; Day of week in which DST starts
dst_start_week_of_month: 1; Week of month in which DST starts
dst_start_time: 02; Time of day in which DST starts
dst_stop_month: Oct; Month in which DST stops
dst_stop_day: ""; Day of month in which DST stops
dst_stop_day_of_week: Sunday; Day of week in which DST stops
dst_stop_week_of_month: 8; Week of month in which DST stops 8=last week of month
dst_stop_time: 2; Time of day in which DST stops
dst_auto_adjust: 1; Enable(1-Default)/Disable(0) DST automatic adjustment
time_format_24hr: 1; Enable(1 - 24Hr Default)/Disable(0 - 12Hr)
# Do Not Disturb Control
#(0-off (default), 1-on, 2-off with no user control, 3-on with no user control)
dnd_control: 0;
# Caller ID Blocking
#(0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
callerid_blocking: 0; (Default is 0 - disabled and sending all calls as anonymous)
# Anonymous Call Blocking
#(0-disabled, 1-enabled, 2-disabled no user control, 3-enabled no user control)
anonymous_call_block: 0; (Default is 0 - disabled and blocking of anonymous calls)
# DTMF AVT Payload (Dynamic payload range for AVT tones - 96-127)
dtmf_avt_payload: 101; Default 101
# Sync value of the phone used for remote reset
sync: 1; Default 1
####### New Parameters added in Release 2.1 #######
# Backup Proxy Support
proxy_backup: ""; Dotted IP of Backup Proxy
proxy_backup_port: 5060; Backup Proxy port (default is 5060)
# Emergency Proxy Support
proxy_emergency: ""; Dotted IP of Emergency Proxy
proxy_emergency_port: 5060; Emergency Proxy port (default is 5060)
# Configurable VAD option
enable_vad: 0; VAD setting 0-disable (Default), 1-enable
####### New Parameters added in Release 2.2 ######
# 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
# Outbound Proxy Support
outbound_proxy: ""; restricted to dotted IP or DNS A record only
outbound_proxy_port: 5060; default is 5060
####### New Parameter added in Release 3.0 #######
# Allow for the bridge on a 3way call to join remaining parties upon hangup
cnf_join_enable: 1; 0-Disabled, 1-Enabled (default)
####### New Parameters added in Release 3.1 #######
# Allow Transfer to be completed while target phone is still ringing
semi_attended_transfer: 1; 0-Disabled, 1-Enabled (default)
# Telnet Level (enable or disable the ability to Telnet into the phone)
telnet_level: 1; 0-Disabled (default), 1-Enabled, 2-Privileged
####### New Parameters added in Release 4.0 #######
# XML URLs
services_url: ""; URL for external Phone Services
directory_url: ""; URL for external Directory location
logo_url: ""; URL for branding logo to be used on phone display
# HTTP Proxy Support
http_proxy_addr: ""; Address of HTTP Proxy server
http_proxy_port: 80; Port of HTTP Proxy Server (80-default)
# Dynamic DNS/TFTP Support
dyn_dns_addr_1: ""; restricted to dotted IP
dyn_dns_addr_2: ""; restricted to dotted IP
dyn_tftp_addr: ""; restricted to dotted IP
# Remote Party ID
remote_party_id: 0; 0-Disabled (default), 1-Enabled
В файле можно изменить следующие параметры: anonymous_call_block, autocomplete, callerid_blocking, call_hold_ringback, call_waiting, dnd_control – остальные при необходимости. Файлу нужно присвоить имя вида SIP<MAC-адрес> .cnf. Пример файла конфигурации для отдельного телефона:
# SIP Configuration Generic File
# Line 1 appearance
line1_name: 1234567
# Line 1 Registration Authentication
line1_authname: "UNPROVISIONED"
# Line 1 Registration Password
line1_password: "UNPROVISIONED"
# Line 2 appearance
line2_name: football
# Line 2 Registration Authentication
line2_authname: "UNPROVISIONED"
# Line 2 Registration Password
line2_password: "UNPROVISIONED"
####### New Parameters added in Release 2.0 #######
# Phone Label (Text desired to be displayed in upper right corner)
phone_label: ""; Has no effect on SIP messaging
# Line 1 Display Name (Display name to use for SIP messaging)
line1_displayname: "User ID"
# Line 2 Display Name (Display name to use for SIP messaging)
line2_displayname: ""
####### New Parameters added in Release 3.0 ######
# Phone Prompt (The prompt that will be displayed on console and Telnet)
phone_prompt: "SIP Phone"; Limited to 15 characters (Default - SIP Phone)
# Phone Password (Password to be used for console or Telnet login)
phone_password: "cisco"; Limited to 31 characters (Default - cisco)
# User classification used when Registering [ none (default), phone, ip ]
user_info: none
Некоторые параметры можно настроить вручную, из меню IP-телефона Cisco. По умолчанию настройки в IP-телефоне Cisco 7940/7960 заблокированы. Для разблокирования нужно ввести пароль, заданный в конфигурационном файле телефона, нажав Settings > Unlock Config. Для блокировки нажмите Lock Config или Exit. После изменения параметров нужно их сохранить и телефон перезагрузится с новыми настройками. Помимо основный настроек, таких как IP-адрес или адрес TFTP-сервера, при настройке вручную нужно настроить параметры SIP. После разблокировки телефона выберите Settings > SIP Configuration. В появившемся меню установите line1_name, proxy1_address, proxy1_port – их формат описан выше. Если телефон должен авторизоваться на прокси-сервере SIP, введите также line1_authname и line1_password. По умолчанию их значение равно UNPROVISIONED.
Настройку времени рекомендуем задавать из общего конфигурационного файла, пример секции с такой настройкой для Москвы:
time_zone. BT
dst_offset. 01/00
dst_start_month. April
dst_start_day. 1
dst_start_time. 02/00
dst_stop_month. October
dst_stop_day. 1
dst_stop_time. 02/00
dst_stop_autoadjust. 1
DST – это даты перехода на летнее и зимнее время соответственно.
Настройка dial-plan для IP-телефонов CiscoНомерные планы позволяют IP-телефонам Cisco, работающим по протоколу SIP поддерживать автоматический набор и генерировать вторичный тоновый сигнал. При использовании общего номерного плана его лучше всего задавать в общем конфигурационном файле. Правила в файле номерного плана анализируются с первого до последнего, пишутся в XML-формате и хранятся на TFTP-сервере.
Начало файла обозначается таким тэгом:
Для каждой схемы нумерации добавьте строку:
<TEMPLATE MATCH="pattern" Timeout="sec" User="type" Rewrite="xxx" Route="route" Tone="tone" />
где:
pattern может содержать. (точка) для замены любого символа, * (звездочка) для замены одного или более символов. (запятая) для генерации вторичного сигнала.
sec – время в секундах, после которого начинается набор.
type – может быть IP или Phone. Тэг, добавляемый к номеру, регистронезависим.
xxx – номер, который будет набираться вместо введенного пользователем при совпадении с pattern.
route – адрес прокси-сервера SIP, на который перенаправляется звонок, значение может быть default, emergency или имя прокси-сервера.
tone – если не задан, используется вторичный гудок по умолчанию, если стоит запятая и затем имя гудка, то проигрывает этот звук; без запятой гудок игнорируется.
Также можно указать решетку (#) и звездочку (*) как набираемые символы. По умолчанию # означает «набрать сейчас», не дожидаясь совпадения с шаблоном из номерного плана. * по умолчанию означает * или. в шаблоне (wildcard-символ).
В качестве вторичного гудка можно использовать следующие значения (после запятой): Bellcore-Alerting, Bellcore-dr5, Bellcore-Reorder, Bellcore-Busy, Bellcore-dr6, Bellcore-Stutter, Bellcore-BusyVerify, Bellcore-Hold, CallWaiting-2, Bellcore-CallWaiting, Bellcore-Inside, CallWaiting-3, Bellcore-Confirmation, Bellcore-None, CallWaiting-4, Bellcore-dr1, Bellcore-Outside (default), Cisco-BeepBonk, Bellcore-dr2, Bellcore-Permanent, Cisco-Zip, Bellcore-dr3, Bellcore-Reminder, Cisco-ZipZip, Bellcore-dr4.
При желании к каждому правилу можно добавить <!—комментарий --> в конце каждой строки.
Файл номерного плана заканчивается строкой
После этого номерной план сохраняется в файл xml с уникальным именем и помещается на TFTP-сервер.
Примеры файлов с номерным планом:
С использованием решетки как набираемого символа:
<DIALTEMPLATE>
<TEMPLATE MATCH="123#45#6" TIMEOUT="0" User="Phone"/> <!-- Match `#' -->
<TEMPLATE MATCH="34#. " TIMEOUT="0" User="Phone"/> <!-- Match `#' -->
<TEMPLATE MATCH="*" TIMEOUT="15" User="Phone"/>
</DIALTEMPLATE>
С использованием двух разных гудков:
<DIALTEMPLATE>
<TEMPLATE MATCH="7. " TIMEOUT="0" /> <!-- Default Secondary Dial Tone -->
<TEMPLATE MATCH="9. " TIMEOUT="0" Tone="Zip" /> <!-- Play Zip Tone -->
<TEMPLATE MATCH="8. " TIMEOUT="0" Tone="Hold" /> <!-- Play Hold Tone -->
<TEMPLATE MATCH="8,123. " TIMEOUT="0" Tone="Hold" Tone="Zip" /> <!--Play Hold Tone after 8, Play Zip Tone after 123-->
</DIALTEMPLATE>
После включения питания телефон проходит через следующие стадии. Сначала загораются и гаснут по очереди индикаторы: Headset, Mute, Speaker. Затем появляются сообщения:
После этого на главном экране отображается номер из конфигурации: если он появился, значит, телефон запустился успешно.
Дополнительно о настройке IP-телефонов Cisco для использования SIP можно почитать по адресу http://cisco.com/en/US/products/sw/voicesw/ps2156/products_administration_guide_book09186a00801d1978.html