Introduction
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.
Then run vi /etc/default/atftpd to edit the content of atftpd by adding – port 69 to the content of the file to make it look like what is shown below
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"
Save the file and exit vi. Start the tftp server by running this command
To allow connection to be made to the tftp server on port 69 run the command below, while substituting the IP for your network IP
iptables -A INPUT -p udp -s 172.16.20.0/24 -m multiport --dport 69 -m state --state NEW -j ACCEPT
I recommend downloading firmware files for the phones directly from Cisco software download center, you can register an account
which will be verified and will allow you to download the SIP upgrade files. After downloading the files,
you should extract and copy the contents to the tftp server root folder.
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
The content of the diaplan.xml file is to tell the phone the pattern in which the phone number will take.
XMLDefault.cnf.xml
2000
2427
2428
172.16.20.15
sip88xx.10-3-1-20
This configuration file contains description of the version of the fimware that the phone should request
from the TFTP server and the address of the PBX server. Change the value in the bolded elements to match
the IP address to your PBX server and the version of the firmware.
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
You can change the values of the elements of the xml
configuration file to reflect your PBX installation and save the files.
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