Using soft phones with Freeswitch PBX allows the utilization of existing PCs or smart phones as the communicating devices. But often there are times when the requirements for setting up or deploying a Unified Communication solution necessitate the use of IP phones. Freeswitch has been tested and works well with various IP phones, more details can be found at https://freeswitch.org/confluence/display/FREESWITCH/Phones In this blog post I will explain how I got five different models of Cisco IP phones provisioned for use with Freeswitch.
Cisco IP phones are factory configured or provisioned to work only with Cisco Unified Communication manager which mainly uses SCCP as communication protocol. Freeswitch supports SCCP though, but to enable the IP phones work seamless with Freeswitch, the firmwares on the various phones need to be upgraded to enable them use SIP and subsequently provisioned while doing the upgrade.
Required Tools
Cisco IP phones usually will get their firmware upgrade from a TFTP server residing on the network. Newer models of Cisco phones allow manually inputing IP address of the TFTP server in the phone configuration. But for the old model; 7942G, the DHCP server will have to advertise the address of the TFTP server to it.
On a Windows PC Tftpd32 is an utilitiy app that will make aWindows PC serve as both the DHCP and TFTP server at the same time, it can be downloaded from.
On a Linux PC I did the provisioning 8861, 7861,7821,7811 models on a Debian PC. First install the tftp application running this command on the terminal.
apt-get install atftpd
USE_INETD=false
OPTIONS="--port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /srv/tftp"
/etc/init.d/atftpd start
iptables -A INPUT -p udp -s 172.16.20.0/24 -m multiport --dport 69 -m state --state NEW -j ACCEPT
Firmware Upgrade and Provisioning
Before the upgrade can be done, some required xml files need to be created and placed in the tftp server root folder.
Diaplan.xml
XMLDefault.cnf.xml
2000 2427 2428 172.16.20.15 sip88xx.10-3-1-20
SEPxxxxxx.cnf.xml
A copy of this file will be created in the TFTP root folder for each of the IP Phones to be provisioned, the format for naming the file is SEP[MAC of Phone].cnf.xml eg SEP054B443C44.cnf.xml. The content of the usually looks like what is shown below
SIP
cisco
cisco
D/M/Ya
UTC+01:00 Standard/Daylight Time
172.16.20.15
Unicast
2000
5060
5061
172.16.20.15
true
true
x-serviceuri-cfwdall
x-cisco-serviceuri-pickup
x-cisco-serviceuri-opickup
x-cisco-serviceuri-gpickup
x-cisco-serviceuri-meetme
x-cisco-serviceuri-abbrdial
false
2
true
true
2
2
0
true
6
10
180
3600
5
120
120
5
500
4000
70
true
None
1
false
true
false
false
g711ulaw
101
3
avt
false
false
3
false
208
0
false
10
false
16384
32766
9
Reception
USECALLMANAGER
5060
208
208
2
3
208
*1234#
false
1
3501
4
5
208
true
true
false
true
5060
184
0
dialplan.xml
true
1
sip88xx.10-3-1-20
false
false
0
1
0
0
0
0
0
22
0
1
1
1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37
US
US
5.0(2)
1
96
0
96
2
0
3804
false
For newer models of Cisco IP phones in which the IP address of the TFTP server can be manually entered into the phone, follow this step to input the TFTP Server address.
Press the menu key on the phone then press Admin Settings -> Network Setup -> Ethernet Configuration -> IPV4 Setup -> Alternate TFTP Server -> TFTP Server 1
Once the file has been saved, power cycle the IP Phone in which the configuration file was jut created by removing the Rj45 cable from the POE switch and plug it back while holding the # key on the phone, when the light comes on the display press 1234567890*# this will start the upgrade process for the phone.
Provisioning 7942G
Updated 06/01/2016
Provisioning 7942G model of Cisco IP phones takes a different approach, because manual input of TFTP server IP address has been disabled, press **# to unlock the manual input screen. Then follow the steps mentioned earlier to reset or power cycle the phone.
An approach earlier used before the update posted above is to use a utility; tftpd as explained in the way I earlier got the phone configured below. I took the 7942G phones off the general network and placed on a private local network with no DHCP server, I used the Tftpd32 utility on a Windows PC to make the PC both the DHPC and the TFTP server and assigned a static IP address to the PC as shown in the picture below.
You should point the tftpd application to the location of the sip upgrade files on the windows PC. You can then power cycle the IP Phones has described earlier, the phones will be assigned IP address by Tftpd32 application and the phone will start the upgrade, you will see on the application log as the files are being sent to the phone as shown in the screen below.
8861 Model
7861 Model
7821 Model
7811 Model
7942G Model