[cisco-voip] Upgrading SIP images on Cisco 7960

Jared Mauch jared at puck.nether.net
Sat Jan 22 10:34:30 EST 2005


On Sat, Jan 22, 2005 at 09:01:45AM -0500, Kevin Thorngren wrote:
> Hi Candace,
> 
> I have not done much with SIP but typically the "Protocol Application 
> Invalid" error means that the phone is having problems accessing the 
> TFTP server.  If you can capture a Sniffer trace of the phone booting 
> you will probably find the problem.  Also, there is this issue I found 
> that you may be running into:
> 
> CSCee31047 - Universal App Loader does not config file hunt on all TFTP 
> errors
> Problem: The Universal Application Loader does not config file
>           hunt SIP or MGCP configuration files if a TFTP Error
>           other than File Not Found is received.
> 
> Workaround: Ensure TFTP Server is configured to send File Not
>              Found error messages.
> 
> If you are seeing something other than "File Not Found" being returned 
> as an error you might be running into this issue.

	The real issue is that Cisco has a matrix so large you need
a cray to compute the possible permutations to get
a phone to upgrade.  I feel sorry for anyone who is trying to actually
use the SIP software in production as a result of what feels like
a half-hearted approach to providing SIP software on the 7960.

	Even if one orders the phone with SIP from Cisco, it is
shipped with the CM/SCCP software loaded on it from the factory.

	here's a quick summary of what you really need to make your
SIP phone upgrade process work halfway decently, something that Cisco
should *FIX* now, and provide *ALL* the images necessary to perform
these upgrades from any stage to the newer stages...

Upgrading from SIP 2.x software:
	These images have a limit on file name length.  Despite popular
belief, most people that run Cisco IP phones with SIP actually
use a UNIX tftp server, which is case sensitive file names.  (This is
important when we get down further to 7.x versions).  If you're
attempting to upgrade from this version to any newer version, you will
need to symlink/hardlink (or in WinD0ze, just copy the file to
the short name.  So if you're trying to take a phone from 2.x to 7.x,
you have to create several files in your tftpboot dir for each type of
the file name, eg: P003-07-.bin, P0S3-07-.bin).
	Watch out for the skinny/SCCP software that has these troubles
too.  Upon upgrading from SCCP -> SIP you are likely to lose
your IP configuration if you configured the phone statically.

Upgrading from SIP 3.x software:
	A lot easier due to the fixing of the 8.3 filename length limit.
But if you get older phones, you need to operate under the 
lowest-common-denominator rule.

	The phone will read OS79XX.TXT and upgrade to that, and if
it's not there, it will attempt to upgrade to image specified in
SIPDefault.cnf or SIP<mac>.cnf

Upgrading from SIP 4.x software:
	Fairly easy, as well, it's the same as 3.x, but keep in mind
older phones.  You want to update your symlinks/copies as necessary 
as in 2.x step.

Upgrading from/to 5.x software:
	Cisco introduced the first signed(v1) SIP images.  If phone is not
running a signed image, it will search for files with an ext of .bin.  If
phone is running a signed image, it will only run a signed image now,
so it will search for files with a .sbn extention.

	You will need to update your symlinks too

Upgrading from/to 6.x:
	Same as 5.x, keep updating those links.

Upgrading from/to 7.x:
	Ugh, Cisco in attempt to "SIMPLIFY" the upgrade procedures
between protocols (sccp, sip and mgcp) introduced the Universal Application
Loader.  This is the first instance of a P00 image that was distributed
with the SIP software.

	Phones coming to 7.x from a previous version will first search for
the OS79XX.TXT file.  here's where you get screwed by cisco hardcore:
your OS79XX (as distributed by cisco) says: P0S3-07-3-00  (using 7.3 as ex.)

	If you're coming from 3.x, 4.x, etc.. the phone will say
'where is my P0S.bin image?'  But there is none.  You then need to
modify the config and to tell it to load the UAL image which is
in the P00 file, not the P0S file.  It gets really sloppy here.
(I'd bother telling tac, but last time i opened a case on a SIP
image they were mostly clueless and didn't really care, plus
the phones aren't related to my primary business i do with cisco
so it's more of an annoying thing than something i care to work
on them to fix.. someone else can persue this with them, here's
your reference, and I suspect a lot of people will end up saying 'me too')

	So, you get stuck in a weird situation here, and when you're
upgrading all your phones, you will need to do a lot of hand holding
for each of your users and watching your tftp server..  Hopefully
you don't get stuck in a loop or get phones stuck with the
invalid application foo.

	Phones running 7.x no longer look for it, meaning you
must specify image_version in your SIP<mac>cnf.

	Now, these images are also the signed(v2) images, so have a
.sb2 extension.  These actually check the filename that is
received from the TFTP server and perform even more checks,
which is how you can get your application data invalid messages.

	Your phones will "HUNT" to attempt to determine what they
should try to do, either run SIP, MGCP, or SCCP..

	Let me walk you through what one of these phones does:

in.tftpd[16815]: RRQ from x.15.15.157 filename CTLSEP000DBD200000.tlv 

	Phone tries to load security flags from tftp server.  These exist
only on the SCCP phones, as you can see it looking for CTLSEP (SEP meaning
SCCP).

in.tftpd[16816]: RRQ from x.15.15.157 filename SEP000DBD200000.cnf.xml 

	Phone tries to get it's SEP XML config.  These files look similar to
the xml example i show you later down.  There are more flags that exist
depending on the CM version, but with CM/SEP/SCC/PICK A NAME, the
phone config comes over the persistent tcp session the phone establishes
to the CM.  If you get stuck, you can symlink/copy your xmldefault.cnf.xml
file which specifies the right software for your phone to load.
Note, you probally want to create this file *even* if you're doing SIP
because it will help you in strange sticky situations.

in.tftpd[16817]: RRQ from x.15.15.157 filename SIP000DBD200000.cnf 

	Phone tries to get it's SIP config.  If found, it will load the SIP
software..

in.tftpd[16818]: RRQ from x.15.15.157 filename P0S3-07-3-00.loads 

	Phone fetches the new "load this software" specification file.

in.tftpd[16819]: RRQ from x.15.15.157 filename SIPDefault.cnf 

	Phone fetches the SIPDefault file.

	If you've got phones coming from SCCP to SIP, you will
probally need to create a file called XMLDefault.cnf.xml or
xmlDefault.CNF.XML.  Note the case differences, and i've seen
other phones search for other variations of this as well too.
Some developers couldn't just decide on one way to do it, so
sloppy coding rules.

	If you're a pure SIP user, you don't know what one of these looks
like.  Here's an example:

<Default>
<callManagerGroup>
<members>
<member  priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName></processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation8  model="IP Phone 7940">P0S3-07-3-00</loadInformation8>
<loadInformation7  model="IP Phone 7960">P0S3-07-3-00</loadInformation7>
<authenticationURL></authenticationURL>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>


	So, basically, you're not screwed but they sure tried to do
it to you :)

	HAHHAHAHA.. and now there is some "this is your video conf
room" cisco commerical on tv, saying "Simplicity, Powered by Cisco Systems"
(after handing them an ip phone, probally the 7970 is what they are refering
to).

	Too bad it's not true in this case.. :(

	- jared

> On Jan 21, 2005, at 5:19 PM, Candace Holman wrote:
> 
> > Is there any trick to upgrading from SIP firmware 6.x to 7.x?  In 7.x 
> > the
> > Universal Application Loader comes into play.  I can't get past a 
> > Protocol
> > Application Invalid error on two phones.   If you've made this work, 
> > can
> > you send me a directory listing, and the contents of OS79XX.TXT and
> > SIPDefault.cnf?
> >
> > Thanks,
> >
> > =====================================================================
> > Candace Holman
> >
> > Harvard University Information Systems
> > 60 Oxford Street
> > Cambridge, MA 02138
> >
> >
> > _______________________________________________
> > cisco-voip mailing list
> > cisco-voip at puck.nether.net
> > https://puck.nether.net/mailman/listinfo/cisco-voip
> >
> _______________________________________________
> cisco-voip mailing list
> cisco-voip at puck.nether.net
> https://puck.nether.net/mailman/listinfo/cisco-voip

-- 
Jared Mauch  | pgp key available via finger from jared at puck.nether.net
clue++;      | http://puck.nether.net/~jared/  My statements are only mine.


More information about the cisco-voip mailing list