Updated on : July 30, 2009
Table of Contents
Configure
Cisco 7960G to a home VOIP phone (With voipdiscount.com Service)
2) Prepare
SIP configuration files
4) Register
an online voice mail account
5) Add
the voice mail account to IP phone line 2
6) Forward
ipkall to the voice mail account
7. Launch
your new home SIP 7960G
11) Plug
off 7960 power cord, and then re-plug in it to restart the phone.
By default, Cisco 7960G comes with SCCP image, so we need to convert it to SIP which is supported by most VOIP service provider on the market. The Cisco document describes how to do the conversion:
http://www.cisco.com/en/US/products/hw/phones/ps379/products_tech_note09186a0080094584.shtml , The following chapters give step-by-step ‘working-proved’ instruction with the real sample.
Download from http://tftpd32.jounin.net/tftpd32_download.html
Install on a PC, if the PC ip address is 192.168.1.102, Setup as below
Tftp32 Setting

DHCP Setting

http://tools.cisco.com/support/downloads/go/Redirect.x?mdfid=278875240

The file RINGLIST.DAT, dailplan.xml, XMLDefault.cnf.xml may not be found from the site, you can create them by yourself, Below are the working samples.
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName></processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation7 model="Cisco 7960">P0S3-08-11-00</loadInformation7>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>
ringer1.pcm
ringer2.pcm
<DIALTEMPLATE>
<TEMPLATE MATCH="911"
Timeout="0" Rewrite="0015107914200 "
User="Phone"/>
<!--
<TEMPLATE
MATCH="1,...,......." Timeout="0"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip"
Rewrite="00%s" User="Phone"/> <!--
<TEMPLATE
MATCH="408,......."
Timeout="0" Tone="Cisco-ZipZip"
Rewrite="001%s" User="Phone"/> <!--
<TEMPLATE
MATCH="510,......."
Timeout="0" Tone="Cisco-ZipZip"
Rewrite="001%s" User="Phone"/> <!--
<TEMPLATE
MATCH="650,......."
Timeout="0" Tone="Cisco-ZipZip"
Rewrite="001%s" User="Phone"/> <!--
<TEMPLATE
MATCH="415,......."
Timeout="0" Tone="Cisco-ZipZip"
Rewrite="001%s" User="Phone"/> <!--
<TEMPLATE
MATCH="86,731,........"
Timeout="0" Rewrite="00%s"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip"
User="Phone"/> <!--
<TEMPLATE
MATCH="86,513,........"
Timeout="0" Rewrite="00%s"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip"
User="Phone"/> <!--
<TEMPLATE
MATCH="86,571,........"
Timeout="0" Rewrite="00%s"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip"
User="Phone"/> <!--
<TEMPLATE
MATCH="86,21,........"
Timeout="0" Rewrite="00%s"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip" User="Phone"/>
<!--
<TEMPLATE
MATCH="86,10,........"
Timeout="0" Rewrite="00%s"
Tone="Bellcore-Hold" Tone="Cisco-ZipZip"
User="Phone"/> <!--
<TEMPLATE
MATCH="86,13.,........"
Timeout="0" Rewrite="00%s" Tone="Bellcore-Hold"
Tone="Cisco-ZipZip" User="Phone"/> <!--
<TEMPLATE MATCH="*"
Timeout="15" User="Phone"/>
<!-- Anything else -->
</DIALTEMPLATE>
P003-08-11-00
# SIP
Default Generic Configuration File
# Image
Version
image_version: P0S3-08-11-00
# Proxy
Server
proxy1_address:
"sip.voipdiscount.com" ;
Can be dotted IP or FQDN
proxy2_address:
"eu.voxalot.com" ;
For a voice mail account
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
#
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: 60 ; although default is 3600, I set
it as 60, otherwise, has an engaged line issue when other phone calls in.
# Codec for
media stream (g711ulaw (default), g711alaw, g729a)
preferred_codec: g711ulaw
# TOS bits
in media stream [0-5] (Default - 5)
tos_media:
5 ; it is obsolete, remove this line, otherwise
phone initialization will show error
# 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:
"0.north-america.pool.ntp.org" ;
SNTP Server IP Address
sntp_mode:
directedbroadcast ;
unicast, multicast, anycast, or directedbroadcast (default)
time_zone:
PST ;
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, 1-on, 2-off with no user control, 3-on with no user
control)
dnd_control:
0 ;
Default 0 (Do Not Disturb feature is off)
# Caller ID
Blocking (0-disbaled, 1-enabled, 2-disabled no user control, 3-enabled no user
control)
callerid_blocking:
0 ;
Default 0 (Disable 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 0 (Disable 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: "192.168.1.1" ;
WAN IP address of NAT box (dotted IP or DNS A record only), this is your home
router/gateway ip
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 ;
# 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
####### New
Parameters added in Release 4.4 #######
# Call Hold
Ringback (0-off, 1-on, 2-off with no user control, 3-on with no user control)
call_hold_ringback:
0 ;
Default 0 (Call Hold Ringback feature is off)
####### New
Parameters added in Release 6.0 #######
# Dialtone
Stutter for MWI
stutter_msg_waiting:
0 ;
0-Disabled (default), 1-Enabled
# RTP Call
Statistics (SIP BYE/200 OK message exchange)
call_stats:
0 ;
0-Disabled (default), 1-Enabled
# SIP Configuration Generic File
# Line 1 appearance
line1_name:
<your verified phone number>
; please refer to 9) Caller ID setting
# Line 1 short name
line1_shortname: "Daniel"
# Line 1 Registration Authentication
line1_authname:
"<Your voipdiscount account name>"
# Line 1 Registration Password
line1_password: "<Your voipdiscount account password>"
# Line 2 appearance, it must be your voxalot account name, otherwise, can not register to voxalot
line2_name: <Your voxalot account name>
# Line 2 Registration Authentication
line2_authname: "<Your voxalot account name>"
# Line 2 Registration Password
line2_password: "<Your voxalot account password>"
####### New Parameters added in Release 2.0 #######
# All user_parameters have been removed
# Phone Label (Text desired to be displayed in upper right corner)
phone_label: "Daniel"
# Line 1 Display Name (Display name to use for SIP messaging)
line1_displayname: "Daniel"
# Line 2 Display Name (Display name to use for SIP messaging)
line2_displayname: "Angela"
####### 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: "a" ; Limited to 31 characters (Default - cisco)
# User classifcation used when Registering [ none(default), phone, ip ]
user_info: none
Now, we need to change the current TFTP server IP to our own TFTP32 ip address, in this example, it is 192.168.1.102, follow these steps on the phone:
Note: After the SIP image is loaded, the unlock operation is different as settings->unlock Config, then type the password which is set in SIPDefault.cnf, In the above sample, the password is “a”, by default is “cisco”
You need to open UDP port forwarding for the IP phone
Below is the sample of Linksys WRT54G configuration

From www.ipkall.com , apply an account, you can get a free PSTN number with WA area code, in the application, give your <viopdiscount user id> as SIP phone number, sip.discount.com as SIP proxy server. In about four days, you will receive the free phone number through your registered email. Now, call this number, your voip phone will ring.
Note: the ipkall account can be expired if the number is not active (called and answered) in any 30 continuous days.

It is my favorite part, configure a voice mail system on the IP phone, whenever no one can answer the phone or the line is engaged, the voice mail system is invoked, the calling-party can leave a message on the internet mail server. After few seconds, the IP phone will receive a MWI (message waiting indicator) signal, and the LED light on the headset will be turned on. In the mean time, an email with the voice message (.wav file) has also been delivered to your email box. It is convenient and I enjoy it so much, below are the detail configuration.
I use a free service from www.voxalot.com, register a free account, in the account configuration, add a voice service provider

Please refer to h) SIPDefault.cnf
Now, change the ipkall configuration in Chapter 5 to the following:
SIP phone number: <the voxalot account number>
SIP proxy: eu.voxalot.com
Use line 2 to check the voice mail, dial *500, provide pin number (you set it from voxalot.com), then follow the voice prompt.
Or you can set the following line in SIP<macAddress>.cnf, so that you directly press the messages button on the phone to access your voice mail:
messages_uri: *500
Launch the soft phone of voipdiscount (the one you used to create the account), go to File->Your personal profile:

Add the verified number as the linex_name
# Line 1
appearance
line1_name: <your verified phone number> ; please refer to 9) Caller ID setting
Now you should see the phone re-load the new SIP image with your new configuration from the tftp server, after 4 minutes, your phone should be ready to use with the following features:
C:>telnet
192.168.1.103
Password :*
Cisco
Systems, Inc. Copyright 2000-2005
Cisco IP
phone MAC:
Loadid: SW: P0S3-08-11-00 ARM: PAS3ARM1 Boot: PC030301 DSP: 4.0(5.0)[A0]
SIP
Phone> sh status
Current
Phone Status
--------------------
W350 unprovisioned proxy_backup <<< It is ok>>>
W351 unprovisioned proxy_emergency <<< it is ok>>>
SIP
Phone> sh network
------
Network *FLASH* Configuration ------
Platform :
Cisco Systems, Inc. IP Phone CP-7960G
Elapsed
Time: 00:04:03
dhcp_server
: 192.168.1.102
my_ip_addr
: 192.168.1.103
subnet_mask
: 255.255.255.0
defaultgw :
192.168.1.1
dyn_dns_addr_1
: 0.0.0.0
dyn_dns_addr_2
: 0.0.0.0
dns_addr :
192.168.1.1
primary_tftp_addr
: 192.168.1.102
dyn_tftp_addr
: 0.0.0.0
my_mac_addr
:
domain_name
:
my_name :
SIP
Status
Flags : 12310000
SIP
Phone> sh regi
LINE
REGISTRATION TABLE
Proxy
Registration: ENABLED, state: REGISTERING
line APR
state
timer
expires
proxy:port
---- ---
-------------
---------- ---------- ----------------------------
1 111 REGISTERED 3595
3374
sip.voipdiscount.com:5060
2 111 REGISTERED 3600 2 eu.voxalot.com:5060
3 ... NONE
0
0
undefined:0
4 ... NONE
0
0
undefined:0
5 ... NONE
0
0
undefined:0
6 ... NONE
0
0
undefined:0
1-BU .1x
IDLE
0
0
undefined:0
Note: APR
is Authenticated, Provisioned, Registered
SIP
Phone>dns –s 192.168.1.1 <<<
set your home router ip>>>
SIP Phone> debug sip-messages