Setting up Cisco 7940G VoIP Phones with Asterisk/Trixbox

Step by step instructions for configuring a Cisco 7940G phone to work with Asterisk/Trixbox. These are very nice business class phones. If it wasn\’t for Cisco swapping the PoE + and -, they would be perfect, but alas, you are required to either puchase a $1,000 Cisco PoE network switch, or use a passive injector with the pairs swapped, which works just as well.’, ‘Setting up Cisco 7940 VoIP Phones

From the manufacturer, they come with a very old firmware that doesn’t allow us to connect them to Asterisk. But, after following a few steps, we can upgrade the phones to the latest public version of the firmware and connect them to our system.

In this example, I have already downloaded the mentioned versions of the firmware from Cisco\’s site as well as unpacked them and copied them to the /tftpboot directory. I have also installed the cisco scripts for endpoint manager

0) Apply sticker for buttons
1) First step is to setup the extensions using the web interface following the instructions from other documentation. Just make sure you set the NAT to “no”.
2) Next, we need to use the Endpoint Manager to create a config file for the new phone. To do this, we need to know the MAC address of the new phone. This can be obtained from the bottom of the phone, from the box it came in, look at the network settings on the phone, or from the web interface of the phone.
3) Now that we have it, go into the Endpoint Manager and add a cisco phone. Select the extension that will be assigned to the phone, select 7940, and enter the MAC address.
4) Select Edit Default Config and change Image version to: P0S3-05-0-00
Also edit the /tftpboot/OS79XX.TXT file to say the same thing.
5) Plug in phone and hit the settings button. (Even with “Configuring IP” on the screen)
6) Press * * # (for edit mode) and then 3 for network settings.
7) Press 32 and set to YES, and then SAVE.
8) Exit out of settings mode and go back in, again pressing * * # and then 3.
9) Press 8 for TFTP server and press the EDIT softkey.
10) Enter for the TFTP server, presss Validate, Save and reset the phone. (Unplug and plug)
11) When it starts back up, it should upgrade the firmware and restart the phone again.

Verify the upgrade took by pressing the settings button, 5 (status), and 3 (firmware). It should now read POS3-05-0-00. Do this for each new phone.

Once they are all upgraded to 5-0, we need to edit the Default Config to be P0S3-06-0-00 as well as change the OS79XX.TXT file to P0S3-06-0-00. You will also need to enter the TFTP server information again.

1) Press the settings button and hit 9. Enter “cisco” for the password and hit Accept
2) Next, press 3 (Network config), 27 (Alternate TFTP), press YES, and then Save
3) Press 3 again, and then 7, and hit the Edit button. Enter again and hit Accept, then Save.

It should automatically connect and upgrade the software without a hard reset. Again, validate the upgrade was successful by pressing the settings button, 5, and then 3.

Once you have upgraded to 06-0, you can go directly to 08-2. This time, set the Default Config to P0S3-08-2-00 and the OS79XX.TXT to P003-08-2-00. If, for some reason it won’t take 08-2, do 07-0 and upgrade one version at a time.

The reason you have to do this in two steps is 5-0 implements firmware security (signed firmwared) and must be installed prior to any other upgrades.

Now we need to set the TFTP server again. (This may be needed after each firmware upgrade)

1) Press the Settings Button
2) Press 9 to unlock the configs and type in ‘cisco’ using the number pad. Press 2 three times to select the letter ‘c’, etc.
3) Press 3 to select Network Settings.
4) Press 27 to select Aternate TFTP, and press YES softkey, and then Save.
5) Press 3 to go back into Network Settings, Press 7 for TFTP Server and press the Edit softkey
6) Delete and type in, press Accept, and Press Save.

Repeat these steps for firmware 8-2 for all the phones. Note the change in use for OS79XX.txt below.

Also, make sure each phone has finished rebooting, as some steps require multiple resets.


From V6 on, the OS97XX.txt file takes a new role. It becomes the Universional Application Loader.. so, it should have P003-08-2-00 in it, and the SIPDefault.cnf should have P0S3-08-02-00 in it. Once you have installed P0S3-06-0-00, you can go directly to 08-02-00.

Leave a Reply