79601 300x269 Configuring Cisco 7940/7960 Phones with 3CXEven though many people really like the Cisco 7940/7960 phones and want to use them with third-party IP PBX platforms such as 3CX, trixbox CE, and trixbox Pro, Cisco does not want you to do this and it is an unsupported configuration. Secondly, the phones are extremely picky about their configuration files and only a small number of firmware versions will even work correctly. Add to that the fact that you have to have a Cisco support contract to even get the firmware files and these phones can quickly go from a big savings if you bought them used on eBay, to a huge expense in just trying to make them work. All that aside, let’s roll up our sleeves and get these phones working with 3CX.

I always recommend staying away from these phones and using the newer SPA5xx series phones which are supported for use with third-party IP PBX systems. If you still want to go for it, then this is the guide for you.

What you will need

In order to get these phones setup, you will need to be using a DHCP server that will push out Option 66 to the phones. This is fairly simple if you are using Microsoft’s DHCP server. However, not all small routers that act as DHCP servers can offer DHCP Scope Options, if your DHCP cannot, you will need to solve that problem before continuing. The DHCP Server will need to have Option 66 set to the IP Address of the phone system or other tftp server in order for the phone to pick up it’s configuration files.

Secondly, you will need a tFTP server running as the phones will not pull their configuration files from a web server like many other phones will. If you need a tFTP server for Windows, we have a guide to setting up a tFTP server that explains how.

Setting up the Extension

3cx 7960 300x202 Configuring Cisco 7940/7960 Phones with 3CXThere isn’t anything very difficult in setting up the extension under 3CX, you simply need to create a new extension or edit an existing one. The authentication ID and Password contain the information we will need to create our configuration files. Also check the Other tab and make sure the SIP ID is the same as the extension number.

There are no other setting that need to be configured, we just need to go and create our configuration files next.

The Configuration Files

With the DHCP server working, the tFTP server installed and ready, and the extension configured, we now need to create the configuration files. I prefer using NotePad++ to edit the files under Windows. There are two files we need to create, SIPDefault.cnf and then a config file for each individual phone. SIPDefault.cnf contains global settings that every phone will use and the second file contains settings specific to each phone.

SIPDefault.cnf

In this sample file we are only concerned with the first three settings. The first line of the file, image_version, sets what firmware version we are going to use. This needs to match either the firmware version already loaded on the phone or the firmware version that you have available in the tftp folder for the phone to upgrade to. Our configuration was tested with 8.3.0 firmware.

The second setting, messages_uri sets the extension number that the phone will dial to access the voicemail system. With 3CX this will be 999 unless you have changed it from the default.

The third setting, proxy1_address, sets the IP address for the phone system so the phone knows where to send it’s registration information. The rest of the file should go unchanged.

image_version: P0S3-08-3-00
# Extension to dial for voicemail
messages_uri: “999″
# Proxy Server
proxy1_address: “192.168.5.44″
proxy2_address: “”
proxy3_address: “”
proxy4_address: “”
proxy5_address: “”
proxy6_address: “”
proxy1_port: 5060
proxy2_port: 5060
proxy3_port: 5060
proxy4_port: 5060
proxy5_port: 5060
proxy6_port: 5060
proxy_register: 1
timer_register_expires: 600
preferred_codec: g711ulaw
tos_media: 5
dtmf_inband: 1
dtmf_outofband: avt
dtmf_db_level: 3
timer_t1: 500
timer_t2: 4000
sip_retx: 10
sip_invite_retx: 6
timer_invite_expires: 180
dial_template: dialplan
tftp_cfg_dir: “”
sntp_server: “”
sntp_mode: directedbroadcast
time_zone: EST
dst_offset: 1
dst_start_month: April
dst_start_day: “”
dst_start_day_of_week: Sun
dst_start_week_of_month: 1
dst_start_time: 02
dst_stop_month: Oct
dst_stop_day: “”
dst_stop_day_of_week: Sunday
dst_stop_week_of_month: 8
dst_stop_time: 2
dst_auto_adjust: 1
time_format_24hr: 1
dnd_control: 0
callerid_blocking: 0
anonymous_call_block: 0
dtmf_avt_payload: 101
sync: 1
proxy_backup: “”
proxy_backup_port: 5060
proxy_emergency: “”
proxy_emergency_port: 5060
enable_vad: 0
nat_enable: 1
nat_address: “”
voip_control_port: 5060
start_media_port: 16384
end_media_port: 32766
nat_received_processing: 0
outbound_proxy: “”
outbound_proxy_port: 5060
cnf_join_enable : 1
semi_attended_transfer: 1
telnet_level: 1
services_url: “”
directory_url: “”
logo_url: “”
http_proxy_addr: “”
http_proxy_port: 80
dyn_dns_addr_1: “”
dyn_dns_addr_2: “”
dyn_tftp_addr: “”
remote_party_id: 0
call_hold_ringback: 0
stutter_msg_waiting: 0
call_stats: 0

SIP<macaddress>.cnf

Each phone requires its own configuration file based on the MAC address of the phone. If our MAC address is 00175989A49E, then our configuration file will be named SIP00175989A49E.cnf. For the Cisco 7960 phones, this is a pretty easy file to configure and you basically repeat the same information for each of the available lines that you want to configure.

phone_label: “Kerry”
line1_name: “200″
line1_shortname: “200″
line1_displayname: “200″
line1_authname: “200″
line1_password: “123456abc”

With 3CX the extension is used for everything except for the password so long as your SIP ID and Authentication ID match your extension number. The line1_password is the Authentication Password.

Multiple Line Appearances

If you multiple lines on the phone to be active, you need to create entries in the configuration file for each available line. The following is a complete configuration from a working 3CX configuration showing three of the six lines configured as extension 210.

phone_label: “Kerry”
line1_name: “210″
line1_shortname: “
210
line1_displayname: “
210
line1_authname: “
210
line1_password: “123456789abc”
line2_name: “
210
line2_shortname: “
210
line2_displayname: “
210
line2_authname: “
210
line2_password: “
123456789abc
line3_name: “7002″
line3_shortname: “7002″
line3_displayname: “7002″
line3_authname: “
7002
line3_password: “
123456789abc
line4_name: “UNPROVISIONED”
line4_shortname: “UNPROVISIONED”
line4_displayname: “UNPROVISIONED”
line4_authname: “UNPROVISIONED”
line4_password: “UNPROVISIONED”
line5_name: “UNPROVISIONED”
line5_shortname: “UNPROVISIONED”
line5_displayname: “UNPROVISIONED”
line5_authname: “UNPROVISIONED”
line5_password: “UNPROVISIONED”
line6_name: “UNPROVISIONED”
line6_shortname: “UNPROVISIONED”
line6_displayname: “UNPROVISIONED”
line6_password: “UNPROVISIONED”
line6_authname: “UNPROVISIONED”

Summary

The hardest part of this procedure can simply be getting the right firmware files and getting them installed on the phone. Usually if the phones still won’t work then you may have a typo in one of the files and the phones are very unforgiving of any errors in the configuration files. Once you have the firmware loaded, using these examples should help you get the phones registered easily with 3CX.

VoipStore.com: 3CX Features Solutions Page
888VoipStore.com: 3CX Products Page

Tagged with:
 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>