SPA 504 after upgrade to 7.4.4 Phone does not provision - even with the simplest config files

Unanswered Question
Apr 7th, 2010
User Badges:

Syslog message: LOCAL0.INFO: SPA504G 00:25:84:d8:c2:03 -- Successful resync http://secprov2.xxx.com/sipura/Configurator.aspx?type=504G&mac=002584d8c203&mode=update


contents of config file


<flat-profile>
<SIP_User_Agent_Name ua="na" >D5FRIG-$VERSION</SIP_User_Agent_Name>
</flat-profile>



17    12:52:43.271073    192.168.1.69    88.215.56.187    Syslog    LOCAL0.INFO: SPA504G 00:25:84:d8:c2:03 -- Resync failed: corrupt file\n

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
icastrov Wed, 04/07/2010 - 05:45
User Badges:
  • Cisco Employee,

Hi


i'm not sure why it's not workign in your case but i managed to get the phone provisioned in 7.4.4 using your example:


FMM >>>> Requesting profile
content len (pld) =102
SPA504G 00:25:84:d8:d0:aa -- Successful resync tftp://192.168.1.102:69/nacho_2.xml
SPA504G 00:25:84:d8:d0:aa -- Successful resync tftp://192.168.1.102:69/nacho_2.xml
FMM >>>> Successful profile
PRV pc=1


I have enclosed the xml file for your reference...has it been encrypted in your case? if so, did you use the SPC tool?


Thanks!

-nacho

Attachment: 
FlyingDoctor_2 Wed, 04/07/2010 - 08:34
User Badges:

I took a phone that was working fine

did the upgrade and then the provisioning started to fail

I iterated around removing content till we were left with just the xml I showed


The provisioning is from a Windows server using IIS (normally over SSL)


No other  encryption is used as the content is created dynamically


can you try you example using http - I will try with tftp (which is not an option for us)

FlyingDoctor_2 Wed, 04/07/2010 - 08:34
User Badges:

I took a phone that was working fine

did the upgrade and then the provisioning started to fail

I iterated around removing content till we were left with just the xml I showed


The provisioning is from a Windows server using IIS (normally over SSL)


No other  encryption is used as the content is created dynamically


can you try you example using http - I will try with tftp (which is not an option for us)

FlyingDoctor_2 Wed, 04/07/2010 - 09:08
User Badges:



IIS uses "chunked transfer encoding"  - I think it does not like that - but every other SPAXXXX (thousands of them) device works fine


I cannot see anything in the release notes about a provisioning change

icastrov Thu, 04/08/2010 - 00:59
User Badges:
  • Cisco Employee,

we've tried with HTTP without any issue... what if i give you my MAC address so that i can try to get tmy phone provisioned in your setup?

FlyingDoctor_2 Fri, 04/09/2010 - 08:23
User Badges:

Stand easy - we have found the issue - The 504 (not tried the 502 yet) running 7.4.4 does not like some IIS website settings (dont have the detail yet)


The scary things are


  • Every other SPAxxxx product (I think we have all of them still live,  back to the SPA2000) on every other firmware release we have ever used - workes fine
  • The 525G on 7.4.4 also works fine
  • There is nothing in the release notes which hints at a change in this area
Steven Howes Thu, 04/22/2010 - 05:31
User Badges:

Have you worked out what was causing it? I've got a system on Apache and am seeing the same issue with JUST the 504, even the 508 provisions which is mad considering it looks like the same firmware file. I'm trying to rule out typos etc before I bore you lot with the details..


S


EDIT: Sorry, 508 is broken too. At least it makes more sense...

FlyingDoctor_2 Thu, 04/22/2010 - 14:43
User Badges:

Hi,


it was "chunked transfer encoding" in the html - nothing wrong with the XML, so must be an undocumented change to the phone browser


look at the html from your server using wireshark, you need to find a way to turn off chuncking on the server


not sure how we did it, but our xml is generated namically from an application so was done progromatically


Stuart

Steven Howes Fri, 04/23/2010 - 03:44
User Badges:

Yep, it's definately broken handling of chunked encoding. I added a Content-length header in PHP to override it's use of chunked encoding and the phone took it. Guessing the HTTP stack on the phones was upgraded and not mentioned in release notes? Either way, the fix if you use PHP is to do put all the profile into a variable rather than outputting it as you go, and then do:


header("Content-length: " . strlen($profile));

echo $profile;


So Apache/IIS etc doesn't chunk it.

S
icastrov Mon, 04/26/2010 - 08:58
User Badges:
  • Cisco Employee,

Hi Steve


Sorry for the late reply, I'm checking with engineering whether there was any (undocumented) change in the HTTP stack in 7.4.4. I'll get back to you guys soon!


Thanks!

-nacho

richard.wilkins... Mon, 04/26/2010 - 10:17
User Badges:

I am also seeing this issue to with 7.4.4.  If I drop the firmware back to 7.4.3 it provisions fine (Apache over SSL).

icastrov Fri, 04/30/2010 - 08:46
User Badges:
  • Cisco Employee,

Hi


are you seeing this issue when sending only one chunk or do you see this also when sending multiple chunks?


Thanks!

-nacho

Steven Howes Tue, 05/04/2010 - 09:00
User Badges:

Hi,


I have found another undocumented change relating to HTTP. The Useragent has changed, see below:


"Cisco/SPA508G-7.4.4 (002584D8XXXX)(CBT1323XXXX)"

"Linksys/SPA508G-7.4.3 (002584D8XXXX)(CBT1323XXXX)"


This series of undocumented changes is making something which should be a simple firmware upgrade into a fault finding task. Surely Cisco must have some sort of version tracking and release control so changes like this are documented? Something like a useragent change could quite easily mess something up if a provisioning system relies on useragent to determine phone model.

S
icastrov Tue, 05/04/2010 - 10:28
User Badges:
  • Cisco Employee,

Hi Steve


Can you please provide me the complete traces you've just pasted below?


Thanks!

-nacho

Steven Howes Tue, 05/04/2010 - 10:36
User Badges:

Define 'trace'. I can give you the full line from the log, but doesn't contain anything more than the time and the IP of my server and the useragent.. If you want a packet trace of the entire firmware download I can provide it... Although it would be much quicker to get one phone on 7.4.3 and 7.4.4 and just do a download. It's simple enough to see.


S

icastrov Tue, 05/04/2010 - 10:40
User Badges:
  • Cisco Employee,

I'd need a packet or network trace.


Thanks!

-nacho

Steven Howes Tue, 05/04/2010 - 11:09
User Badges:

Ok I'll get one tomorrow, although it makes little or no sense. Clearly what has happened is the HTTP useragent has been updated to 'Cisco' to try and lose the old 'Linksys' brand. The 'broken bit' is your updating of the changelogs, not the code. I'm not entirely sure that's been understood though.


S

icastrov Tue, 05/04/2010 - 11:14
User Badges:
  • Cisco Employee,

It's being perfectly understood, issue here is that this change has been around since 7.3.5 so I did just want to confirm that you're seeing this in 7.4.3. I'll give it a try tomorrow in my lab so don't worry if you had not the network traces handy.


Thanks!

-nacho

Steven Howes Tue, 05/04/2010 - 11:24
User Badges:

I can get a dump of the HTTP request tomorrow morning (depends who's tomorrow is first ;) damned time zones, 13 or so hours for me ). Worth noting this is a 508 not a 504. I'll check the logs for the 504's at the same time tomorrow to see if they are consistent (I'd assume so given the firmware file looks to be identical). Could be the change was made in the older version but never actually worked until the HTTP stuff was touched in the last release (breaking chunked encoding handling at the same time)?.


S

Roland_Pope Mon, 06/21/2010 - 17:51
User Badges:

I have the issue with a 502G and the workaround of adding the 'Content-Length' header seems to have fixed the problem for me too. The phone was on 7.4.3a and provisioning fine, but this issue showed up after the 7.4.4 upgrade. Odd that I have a SPA504G which seems to be going fine on another system.


Roland

"Cisco/SPA508G-7.4.4 (002584D8XXXX)(CBT1323XXXX)"

"Linksys/SPA508G-7.4.3  (002584D8XXXX)(CBT1323XXXX)"


is not the only thing that changed


before it was like this, so if your provision system extracts the serial number from it, it could run into problems when looking at first and last brackets only (as our system did)

someone at cisco thought it would be handy to add MAC address to the useragent string..


"Cisco/SPA508G-7.4.4 (CBT1323XXXX)"

"Linksys/SPA508G-7.4.3  (CBT1323XXXX)"

Actions

This Discussion