Configuring Cisco 7940/7961 to work with SIP requires several steps. First, download the latest version of Cisco Firmware and TFTP Server above: Next, create a configuration based on the pattern described below.
When the phone has downloaded this information from a TFTP-server, it's ready for work. Let's describe step by step.
DHCP-server should provide the following options (or set it manually):
- dhcp option #1 (subnet mask)
- dhcp option #3 (gateway by default)
- dhcp option #6 (DNS-server address)
- dhcp option #15 (domain name)
- dhcp option #50 (IP-address)
- dhcp option #66 (TFTP-server address)
Initialization process of a Cisco IP-phone
1. Phone downloads software update file.
2. Phone gets its VLAN number – in order to get parameters from DHCP-server, in case of connection to gateway Cisco Catalyst, the phone should get number of the Voice-VLAN, which is set on gateway
3. Phone gets IP-address – from DHCP-server or from own settings.
4. Phone downloads the following files from TFTP-server or from memory:
- SEP.cnf.xml – Created on TFTP-server file SEP.cnf.xml which has the following data (software update version): P0S3-08-2-00
Phone checks the version of its software and, if it mismatches with specified version, updates it.
- .loads – if the version matches, the phone uses the file which already exists in memory, specified in file SEP.cnf.xml.
- OS79XX.TXT – this file provides compatibility of phone switching between SIP, MGCP or SCCP using the same TFTP-server.
- SIPDefault.cnf – default parameters all phones, settings are described further.
- SIP.cnf – parameters of specific phone, structure is described further.
- RINGLIST.DAT – lists files with ringtones and their location.
- dialplan.xml - consists dial plan. It can be sent to phone with the help of Notify (NTFY) in Event-header.
5. Phone checks the software version.
Cisco IP-phone process of initialization
File name format should be SIPXXXXYYYYZZZZ.cnf, where XXXXYYYYZZZZ – MAC-address of phone in upper case letters.
Example of file's name: SIP00503EFFD842.cnf.
Each file line should be set as following:
variable_name : definition ; optional commentary
Key for the parameters which appear in the following example:
- line1_name – number or Email address, used in registration. Number should be without hyphen, e-mail – without host name.
- proxy1_address – IP-address of SIP proxy server, used by phone.
- proxy1_port – Port number of SIP proxy server, used by phone.
Other parameters are changed in case of need. Example of configuration file 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: 1
# 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: 1; 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: 1; 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
Configuration file setup for separate IP-phone
The following parameters can be changed:
anonymous_call_block, autocomplete, callerid_blocking, call_hold_ringback, call_waiting, dnd_control – other in case of need. File should be named as SIP
.cnf. Example of configuration file for separate phone:
# 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
Parameters setup from Cisco IP phone menu
Certain parameters can be set manually using the Cisco IP phone menu. By default, the settings in Cisco IP phones 7940/7960 are blocked. To unblock, you need to enter a password, which is set in the configuration file. Do so by clicking Settings > Unlock Config. To block click Lock Config or Exit. Then save the changes made to parameters and the phone will be rebooted. Besides main settings, such as IP-address TFTP-server address, SIP parameters should be set in manual settings. After unblocking the phone's settings, select Settings > SIP Configuration. In the next menu set line1_name, proxy1_address, proxy1_port according to the information detailed above. If the phone should be authorized on a SIP proxy server, enter line1_authname and line1_password. By default, it is set as UNPROVISIONED.
Time settings shold be set from common configuration file, example for Moscow:
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 – dates of day-light saving time correspondingly.