How to survive ‘Protocol Application Invalid’ July 3, 2008Posted by cat24.net in Cisco IP Phones.
On a number of occasions I have been involved in sorting out Cisco 7940 and 7960 phones that on power up display the scary message ‘Protocol Application Invalid’. From this point on the phone is unable to retrieve its configuration from the phone PBX server and seems to be stuck. A quick search on Google shows lots of instances of this and for me these Google searches have also been a source of guidance from other kind souls who have worked out how to overcome this situation and once more gain control of their Cisco phones.
Many refer to their phones as ‘bricked’ and start to loose patience. Since I have not examined all these ‘bricks’ I can’t judge whether they are unrecoverable. However, I have recovered phones myself that displayed ‘Protocol Application Invalid’ (PAI) and I have helped a number of trixbox users on the forum there get their phones back into use.
Some time ago I wrote up my first experience of sorting out this problem and put my experiences on my website, on this page.
This posting on my website has brought in more requests and this first blog here is a way to keep the information up to date.
PAI seems in the voip forums to be associated with the phone being ‘dead’ or ‘bricked’. That may be true in some cases but a search on the Cisco website picks up these two links that give more details about PAI.
Cisco define the error message thus:
“Protocol Application Invalid” Error:
This error message means that the application image cannot be loaded into Flash memory or that the image does not exist in Flash memory. This can happen for these reasons: ……
The recovery process needs some basic technical expertise and knowledge of computer networks. Recovering these phones usually requires configuring a dhcp server and a tftp server and then connecting the problem phone to the network running these two applications.
You will also need copies of the relevant firmware for the phone. The Cisco firmware is licensed and you can buy a SmartNet contract from a Cisco dealer for less than £10 sterling. This gives you access to the Cisco download site where you can access SIP and SCCP images for your Cisco phone. I bought a SmartNet support contract that gives me access to the firmware. However, the strict licence does not allow the firmware to be redistributed, so I am not going to email firmware to you, so don’t ask. However, there are links on the voip-info wiki, where some firmware is posted . Cisco have also put one copy (version 8.2) up on their public ftp site.
If the process of recovering your Cisco phone seems too complicated or you do not have the time I am happy to carry the process out for you, more details at the end.
How to recover a Cisco phone.
The recovery of Cisco 7960 phones that I have worked on relied on the fact that the phones could either be factory reset, or were locked and had fixed network settings.
In the first case a factory reset allows the phone to be unlocked and reset to the situation where it is free of network settings apart from requesting an IP address from the DHCP server. The DHCP server needs to be setup so that it has an ‘Option 150’ set. This supplies the IP address if the TFTP server as well as an IP address for the phone.
Configure a DHCP and a TFTP server.
There are three TFTP servers that I know of.
- TFTP32D Link to website
- Pumpkin Link to site
- ATFTPD, installed as part of trixbox and running on Centos 4 or 5 etc.
TFTPD32 and Pumpkin both run under windows, obviously ATFTP is Linux based. The advantage of of TPTP32D is that it also has a built in DHCP server. You could run TFPT32D on a laptop and connect your phone to the laptop with a crossover cable, or connect both to a switch or hub. Make sure there are no other DHCP servers running on the network. I tried TFTP32D and could not get the ‘Option 150’ set up properly in the DHCP configuration. I tried for a bit, but as I use atftpd a lot and have spare trixbox servers sitting around I went down that route as it was quicker. A lot of trixbox forum members use TFTP32D so it must work, just not for me.
DHCPD and TFTP under Centos
I covered setting up the DHCPD server under Centos here on my website at Cat24.net The critical thing is to add the lines
option voip-tftp-servers code 150 = ip-address;
option voip-tftp-servers w.x.y.z;
into the dhcpd.conf file. In the above lines you need to put the numeric IP address of your TFTP server in place of the w.x.y.z. The effect of this code in dhcpd.cnf is to include the tftp server address into the information sent back to the Cisco phone when the DHCP server hands out an IP address. The Cisco phone should then request its configuration file from the tftp server as the phone boots.
You can check what network settings have been set on your phone by pressing the settings button on the right of the phone and scrolling to the network configuration (or press a 3 on the keypad). This will show the addresses that have been stored on the phone.
Configuring or upgrading Cisco Phones.
I spent quite a while putting together my first Cisco ‘how-to’ on Cat24.net. There are a number of links that I found useful at the bottom of that page. I don’t see any point in copying that material here. However, the Voip-Info.org wiki is a fantastic resource and there is lots of Cisco IP phone related material there, covering all the common Cisco phones that seem to be in circulation. Spend some time searching that wiki using various search terms and all the information you require to configure 7940/7960 and 7941/7961 phones etc is there.
Cisco phones can be programmed with three entirely different voip protocols
- SCCP – the in house Cisco protocol
If you are upgrading or downgrading firmware versions or are moving from SCCP to SIP or vice versa Cisco have a very useful resourcehere, that gives a Firmware Upgrade Matrix for 7940 and 7960 IP Phones. This gives the recommended path and process for upgrading or downgrading.
This link may also be useful:
These following links are from the trixbox forums where Cisco PAI has been discussed. If anyone is struggling with this problem these links are worth reading particularly to gain background information.
If these links get out of date or don’t work for you go to the trixbox forum and redo the search.
If you need help you could try joining the trixbox forum and posting your question there bearing in mind that the focus there is running the trixbox flavour of asterisk on the Centos Linux OS. I post there quite a lot, and monitor the new posts, as time permits. A search on the form for cat24.net will pull up my posts.
If you can’t sort out problems such as PAI with your Cisco phones I am happy to work on the phone for you. You will need to send me the phone, but don’t do that until you have contacted me through the contact details on my website. I will quote a price and we can discuss payment. Normally PAI problems can be turned around in about 2 days.
You can also of course comment here as well.