Saturday, April 2, 2011

Device Updates (firmware upgrade) with Lync 2010

I connected Aastra 6725ip phone this morning. The phone arrived with RTM firmware. Because I know Cumulative Update 1 for Phone Edition is out, I will install it on my lab server, provision my first phone as Test Device and later, approve the update for all units in my environment.

We have three product lines (besides many other devices) that looks like a phone and work like a phone. Those are Aastra 6721ip and Aastra 6725ip; Polycom CX700 and LG-Nortel IP Phone 8540; and Polycom CX500, Polycom CX600, and Polycom CX3000. Complete up to date list can be found here: 

Back to our task. The update for each product line can be found here:

Lync 2010 Phone Edition for Aastra 6721ip and Aastra 6725ip
Lync 2010 Phone Edition for Polycom CX700 and LG-Nortel IP Phone 8540
Lync 2010 Phone Edition for Polycom CX500, Polycom CX600, and Polycom CX3000

I personally like to keep the bits (model and firmware version, that is) in order and achieved. This is because as my previous experience shows, one never know if for some reason a quick downgrade will not be necessary.

First, I will create floder on my C:\ name PhoneEditionUpdates. Then sub-folder for each manufacturer, each model and each FW version. This is how my folder structure looks at the end:

Next, visit each link, download, run and unpack each update package in the appropriate folder.

Next step is to get the web servier identity (this is – if I have more than one pool, I must decide where the update will be installed. To do so, I will run “Get-CsService” cmdlet. In this case, “WebServer:fe.drago.local”

Now I can construct my command:

Import-CsDeviceUpdate -Identity "service: WebServer:fe.drago.local" -FileName C:\PhoneEditionUpdate\Aastra\Aries\7577.0107 \  -WhatIf

***Above is an example of “WhatIf” parameter in Lync Management Shell. We are humans, thus making mistakes all the time. WhatIf checks the outcome of our command without actually executing it. Something is wrong in the above… Ah, the path contains white space.

After correcting it, I see the command will be executed correctly.

I will remove -WhatIf from the end and run it again. Only this time, I will add the “-Verbose” parameter. I want to see management shell in action.

 Let’s verify the import in Control Panel

So far, so good. Because if this was Production environment, rushing and approving the updates would create a chaos for short period of time (phones reboot “without reason” as the end user would see it), I will create Test Device, which will be upgraded now, I will test the functionality and if satisfied, will approve the update tonight, after close of business. This way my user will come tomorrow morning (well, it is Saturday, so, Monday morning) and continue business as usual (and so will the US Congress, LOL)

When we create Test Device, actually we approve the pending updates to THIS device only. Lync, unlike OCS, receives inband provisioning which includes update URL and software version. All I have to do now is to connect the phone and leave it idle for 10 minutes or so. I expect to see the device reboot by itself and have software version 7577.0107.

To approve the updates for all devices, select all and Approve them from Action menu.


Petri said...

But why you have multiple copies from the same update? In your case six of them...

Drago said...

What is not seen on the screenshot (far right) is a column named "Revision". Lync devices evolve and we have several hardware revisions as well. Each HW revision has it's own update file...

polycom ip 550 said...

Very useful instructions on fixing some issues with the Aastra 6725ip. Thanks, I'll get right to it.

Unknown said...

Thanks Drago. This was my first glimps into Lync Phone Edition updates ... you can't imagine how helpful this detailed explanation was to me. thank you for your time.

KP said...
This comment has been removed by the author.