How to upgrade Polycom CX700 1.0.452.0 using the OCS 2007 R2 Device Update Service

Let me start by saying that, although the title of this post refers Polycom CX700 (because was this device I used), the procedures described here will probably work with other devices (e.g. LG-Nortel or Microsoft).

If you read my previous post Troubleshooting OCS 2007 R2 Device Update Service for Communicator Phone Edition, you probably noticed the comments about upgrading Office Communicator Phone Edition (OCPE) version 1.0.452.0.

When I wrote that post, I hadn’t tested anything lower than 1.0.522.34, so, to tell you the truth, I was not sure it was possible to upgrade these early (Beta) versions. Until today!

When I had the chance to put my hands on one of these early babies (thanks Paulo Silva), I didn’t think twice.

The upgrade process

As soon as I plugged the device into my test environment and tried to sign in, I got the following error:

Cannot sign in to Communications Service. Current version
does not work with the available server. Contact your
system administrator.

I immediately understood what the problem was: the Client Version Filter. Lowering the allowed OCPhone version to 1.0.199 did the trick.

After a quick reboot and still no signs of a successful upgrade, I noticed that I was getting an Update Status (0x0/404) on the phone. The IIS log confirmed the HTTP error 404 – File Not Found. The device was requesting the file /UCDeviceUpdates/ucdevice.upx, which cannot be found because the virtual dir /UCDevicesUpdate doesn’t exist.

 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2009-04-15 17:47:37 192.168.200.101 POST /UCDeviceUpdates/ucdevice.upx - 80 - 192.168.20.103 Microsoft+UCPhone+Device 404 0 2 0

I’m not sure why the device requests that specific URL. In the tests I made with an even lower version, 1.0.199, the requested URL was /RequestHandler/ucdevice.upx, which is the correct one. Further investigation is needed to determine the cause of this issue.

In order to try to overcome the situation, I decided to create the /UCDevicesUpdate virtual dir, replicating all the settings of the /RequestHandler folder. Here’s how to do it on IIS 7.0 (with IIS 6.0 would probably be easier, since there is an option to redirect a virtual dir):

  1. Open Internet Information Services (IIS) Manager, right click the web site and select Add Application. Name it UCDeviceUpdates, select the LSGroupExpAppPool, and point it to the same Physical path as /RequestHandler.

    01-virtual-dir

  2. Select the newly created application ( /UCDeviceUpdates), on the Features View select Authentication and then disable Windows Authentication.

    02-disable-windows-authentication

    If we stop now (as I first did), we would get the HTTP Error 405.0 - Method not allowed.

     #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
    2009-04-15 18:07:35 192.168.200.101 POST /UCDeviceUpdates/ucdevice.upx - 80 - 192.168.20.103 Microsoft+UCPhone+Device 405 0 64 31
    
  3. The Handler Mappings for /UCDeviceUpdates must be changed so that they match /RequestHandler, particularly the *.upx Script Map.

    03-handler-mappings

    04-upx-script-mapping

With these changes in place, the upgrade process went as expected: the device gets in-band provisioning about the update URL, downloads and installs the interim version (1.0.522.103), reboots, downloads and installs the approved version (3.5.6907.9), does a final reset and it’s ready to use with Office Communications Server 2007 R2.

 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2009-04-15 18:36:09 192.168.200.101 POST /UCDeviceUpdates/ucdevice.upx - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 6531
2009-04-15 18:38:28 192.168.200.101 GET /DeviceUpdateFiles_Int/OCInterim/ENU/CPE.nbt - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 139006
2009-04-15 18:38:28 192.168.200.101 GET /DeviceUpdateFiles_Int/OCInterim/ENU/CPE.cat - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 15
2009-04-15 18:46:05 192.168.200.101 POST /requestHandler/ucdevice.upx - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 2093
2009-04-15 18:49:09 192.168.200.101 GET /DeviceUpdateFiles_Int/UCPhone/Polycom/CX700/A/ENU/3.5.6907.9/CPE/CPE.nbt - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 183461
2009-04-15 18:49:09 192.168.200.101 GET /DeviceUpdateFiles_Int/UCPhone/Polycom/CX700/A/ENU/3.5.6907.9/CPE/CPE.cat - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 15
2009-04-15 18:50:29 192.168.200.101 POST /requestHandler/ucdevice.upx - 80 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 140
2009-04-15 18:51:51 192.168.200.101 POST /RequestHandler/ucdevice.upx - 443 - 192.168.20.103 Microsoft+UCPhone+Device 200 0 0 187
2009-04-15 18:56:47 192.168.200.101 GET /Abs/Int/Handler/F-0bd2.dabs - 443 - 192.168.20.103 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+CE) 401 2 5 0
2009-04-15 18:56:47 192.168.200.101 GET /Abs/Int/Handler/F-0bd2.dabs - 443 DEMO\OCPhone 192.168.20.103 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+CE) 200 0 0 125

A final note: I didn’t use the Test Devices option, instead I approved the update (this means that all qualified devices would get the update without first testing it).

Epilogue

So far, the OCS 2007 R2 Device Update Service revealed to be capable of successfully upgrading OCPE version 1.0.452.0 and later. The early beta versions can sometimes be tricky and require some tweaks, like creating a new virtual dir (as explained in this post).

I’ve read some post regarding the 1.0.452.0 version stating that WINS is required. In the tests I made, I didn’t use WINS, only DNS (I had the UCUPDATES and UCUPDATES-R2 defined as A records and pointing to the OCS pool IP address).

I would love to test version 1.0.199. Can someone lend me one? :-)

Comments

  • Anonymous
    January 01, 2003
    Hi Rui, I do have v1.0.199 unit... I've been trying to upgrade it for several months now but no success. If you send me your postal address, I can lend you the unit. Best Regards, Minsoo e-mail: v108544@lg-nortel.com

  • Anonymous
    January 01, 2003
    In a previous post, How to upgrade Polycom CX700 1.0.452.0 using the OCS 2007 R2 Device Update Service

  • Anonymous
    January 01, 2003
    Hi Rui, thanks a lot, I have just made the necessary changes to IIS7 and it´s working! It just updated to the latest firmware. Thanks a lot for you effort. Best regards

  • Anonymous
    January 01, 2003
    PingBack from http://blogs.technet.com/ucspotting/archive/2009/03/11/troubleshooting-ocs-2007-r2-device-update-service-for-communicator-phone-edition.aspx

  • Anonymous
    November 03, 2010
    HI Rui - thanks for the great documentation - I have a LG-Nortel 8540 that is running firmware 1.0.199 (1.23) - Beta.  I am running an OCS R2 standard environment and am trying to push updates with no success.  I've lowered the client version filter so that the device can connect to the OCS r2 environment, but can't seem to apply updates; either the interim 1.0.522.101 or the current 3.6.6907.207 versions. Everything looks right, but I am concerned that I may have messed up handler mappings in IIS for "Request Handler".  Internet searches for handler mapping configurations are not guiding me correctly here, could you offer suggestions or guidance on what the proper handler mappings are to be? Many thanks!

  • Anonymous
    May 24, 2014
    this was very helpful, I just wanted to point others who may show up here: http://www.microsoft.com/en-us/download/details.aspx?id=23569

    since many of you probably aren't running ocs 2007 (or r2) anymore

    the above trial from Microsoft worked perfectly, the only trick was changing the clock back on all the VMs to before December 2013 since all of the certs were expired, I was able to upgrade to 3.5 from this hyper-v environment after that did the 2 step CU5 to CU7 via lync 2013.