Статьи и заметки об информационных технологиях
Блудная статья
О компании// Статьи// Рубрикатор// Каталог оборудования//
Поиск// Карта сайта// RSS// Ссылки//

Настройка IP-телефона Cisco для работы по SIP [04.03.2007]

Как настроить IP-телефон Cisco 7940/7960 для работы по протоколу SIP.

Для работы IP-телефона Cisco 7940/7960 по протоколу SIP необходимо провести несколько подготовительных операций. Во-первых, скачать по адресу http://www.cisco.com/pcgi-bin/tablebuild.pl/sip-ip-phone7960 последнюю версию прошивки для телефона и создать конфигурационный файл на основе рассматриваемого шаблона. После того, как телефон будет включен и загрузит эту информацию с TFTP-сервера, он будет готов к работе. Рассмотрим настройку по шагам.
Когда телефон инициализируется, он запрашивает с TFTP-сервера:

  • Последний файл прошивки 
  • Dual-boot файл (OS79XX.TXT
  • Специально созданный для этого телефона конфигурационный файл (именуемый с учетом MAC-адреса) 
  • Конфигурационный файл по умолчанию 
  • Ring-list файл 
  • Dial-plan файл

DHCP-сервер должен отдавать следующие опции (или их придется настроить вручную):

  • dhcp option #1 (маска подсети) 
  • dhcp option #3 (шлюз по умолчанию) 
  • dhcp option #6 (адрес DNS-сервера) 
  • dhcp option #15 (имя домена) 
  • dhcp option #50 (IP-адрес) 
  • dhcp option #66 (адрес TFTP-сервера)

Процесс инициализации IP-телефона Cisco 

1. Телефон загружает файл прошивки.
2. Телефон получает номер своего VLAN – для того, чтобы получить параметры с DHCP-сервера, телефон, в случае подключения к коммутатору Cisco Catalyst, должен получить номер Voice-VLAN’а, настроенного на коммутаторе.
3. Телефон получает IP-адрес – с DHCP-сервера или из своих настроек.
4. Телефон скачивает с TFTP-сервера или загружает из памяти следующие файлы:

  • SEP.cnf.xml – Созданный на TFTP-сервере файл SEP.cnf.xml в котором находится следующее содержимое (версия прошивки):

    <device>
    <loadInformation>P0S3-08-2-00</loadInformation>
    </device>


    Телефон проверяет версию своей прошивки и, если она не совпадает с версией, указанной в секции , обновляет ее. 
  • <Версия прошивки>.loads – если версия совпадает, телефон использует уже имеющийся в памяти файл, указанный в файле SEP.cnf.xml
  • OS79XX.TXT – использование этого файла обеспечивает совместимость переключения телефонов между SIP, MGCP или SCCP с использованием одного и того же TFTP-сервера. 
  • SIPDefault.cnf – параметры по умолчанию для всех телефонов, настройки рассматриваются далее. 
  • SIP<MAC-адрес>.cnf – параметры для одного телефона, структура рассматривается далее. 
  • RINGLIST.DAT – перечисляет файлы с мелодиями звонков и их местоположение. 
  • dialplan.xml - содержит примерный номерной план. Его можно отправить в телефон с помощью сообщения Notify (NTFY) через Event-заголовок.

5.  Телефон проверяет версию прошивки.

Конфигурационные файлы IP-телефонов Cisco

Формат имени файла должен быть SIPXXXXYYYYZZZZ.cnf, где XXXXYYYYZZZZ – MAC-адрес телефона в верхнем регистре. Пример имени файла: SIP00503EFFD842.cnf.
Каждая строка файла должна иметь вид:

имя_переменной : значение ; необязательный комментарий

Необходимо изменить в следующем примере параметры:

  • line1_name – номер или адрес электронной почты, используемый при регистрации. Номер вводится без дефисов, e-mail – без имени хоста. 
  • proxy1_address – IP-адрес прокси-сервера SIP, используемого телефоном. 
  • proxy1_port – Номер порта прокси-сервера SIP, используемого телефоном.

Остальные параметры изменяются при необходимости. Пример конфигурационного файла 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

Настройка файла конфигурации для отдельного IP-телефона

В файле можно изменить следующие параметры: 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. По умолчанию настройки в 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-сервере.
Начало файла обозначается таким тэгом:

<DIALTEMPLATE>

Для каждой схемы нумерации добавьте строку:

<TEMPLATE MATCH="pattern" Timeout="sec" User="type" Rewrite="xxx" Route="route" Tone="tone" />