Lync CU6

Lync CU 6 has just landed. It takes the server to .199, the client to .4103, and OCPE to .4100.

I’ve placed all of the relevant links in my new “Lync Resource Toolkit” page, my new one-stop shop for Lync bits, which I’ll be keeping current. It’s up the top of the grey bar on the RHS under “Pages”.

Of interest to me in this update:

Client: 2703312 A user cannot join a Lync Online meeting that is created in another organization by using Lync 2010

OCPE: 2709668 An update is available that enables Lync 2010 Phone Edition to communicate with Lync servers or Exchange server that use wildcard certificates

2703333 An update is available for Lync 2010 Phone Edition that adds the Presence Unknown status to the My Status option. [Unknown?? I can set my status to Unknown now??]

Mobility: 2703338 Presence status on certain Lync 2010 mobile clients is updated to “Inactive” instead of “Away” after 5 minutes in the idle state

CU 6 – June 2012

CU 6 Gateway Compatibility

  • NET UX1000 & 2000 – v2.1.2 v150 or later
  • NET VX – 4.7.5 v73

Audio File Formats for NET UX MOH

You might have seen my earlier post on the file formats you need for audio files for Lync and Exchange.

From firmware release 2.1.x, the UX family of PSTN Gateways now support the direct provision of Music On Hold (MOH).

“The Music On Hold feature allows you to play music or other audio while a call is on hold and is available to all call types (SIP, ISDN, CAS).”

This enhancement saves you the hassle of pushing to and maintaining a MOH audio file on your users’ PCs (which has to date been required). Now, when the Gateway sees a message from Lync to indicate the call is on hold, it breaks the audio path to inject its local music source.

If you have an FXS interface card in your UX you can instead stream a live feed into the call, say from a radio, MP3 player or other source.

Keep your MOH *fresh* – or do it live!

Continue reading ‘Audio File Formats for NET UX MOH’ »

Polycom SoundPoint IP phones for Lync

 

Jeff Schertz is a brilliant resource. Yes, I’m a fan. His recent post on getting the SoundPoint phones working under Lync was invaluable – and the extension dialling one even better!

I was actually quite impressed when I managed to get my sample IP650 working. Consultative transfer on a handset under Lync has to date been the exclusive domain of the Tanjay/CX700, and now I see it’s natively across the entire SoundPoint family as well. Nice job!

Other selling points for me include:

  • Electronic Hookswitch (EHS) support so headset users can answer and end calls remotely
  • Polycom’s legendary full-duplex handsfree
  • Up to 3 x 14-button key expansion modules to give lots of fixed ‘speed-dial’ buttons

I thought I’d take Jeff’s posts a little further and see what else I could find or do with these guys… So, AU$110 later and overnight eBay sent me a 321 to play with.

Here’s a quick walk-through of what I had to do to get it working in my Lab.

Continue reading ‘Polycom SoundPoint IP phones for Lync’ »

C-ChangePHP 2012 update

Whoops: Download file updated on May15th. The initial May 13th build used “short tags” in some sections. Now resolved.


 

With 4 days to go until the first birthday of my C-ChangePHP, I’m celebrating it early by releasing an update to “v2”.

This release fixes a few things that broke in iOS5, and adds a significant revamp of the way the presentation-layer code works:

  • Compatible with iOS5 / HTML5
  • All (?) of the formatting has been moved to the Style Sheet
  • It caters for iPhones and iPads (and other tablet devices) with automatic layout changes to optimise the screen real estate
  • Totally new JavaScript code that powers the selection of the rooms. The resulting changes to the code make it a LOT easier to tailor to your building from the sample provided
  • A new white-on-black theme (easily changeable if you don’t approve)

Continue reading ‘C-ChangePHP 2012 update’ »

Lync SE to EE Migration Checklist

There are plenty of articles that outline the migration process for taking a Standard Edition installation of Lync to Enterprise Edition, but what I’ve not seen covered off is a check-list of things to look out for BEFORE you kill the old SE.

The obvious things are checking you’ve:

  • swung DNS
  • updated the Edge (hosts file?)
  • moved the file share
  • made sure ISA/TMG is pointing your external traffic to the new FE pool (or HLB if you have one)
  • updated the Gateways to also point to (and accept traffic from) the new FE
  • re-run the Exchange integration script (Exchange 2010: %Program Files%\Microsoft\Exchange Server\V14\Scripts\exchucutil.ps1)

There are still a few commandlets you need to run to ensure the old SE is ‘clean’. The process here is essentially the same as when migrating from OCS to Lync, and covered off fairly comprehensively in the document Migrating from Office Communications Server 2007 R2 to Lync Server 2010.

Here’s a collection of commands to run, extracted from the above, with some additions from a Lync beta migration document and a few of my own embellishments. If the first command in any group doesn’t respond clean, then issue the following command to move.

Scrape the following into a text document on your FE, and find/replace (^H) the EE & FE pool names with your own before then pasting each command in turn into the Shell:

Conference Directories

Get-CsConferenceDirectory | Where-Object {$_.ServiceID -match "<SE-FQDN>"}
Move-CsConferenceDirectory -Identity <Numeric identity of conference directory> -TargetPool <EE-PoolFQDN>

Common Area Phones

Get-CsCommonAreaPhone -Filter {RegistrarPool –eq "<SE-FQDN>"}
Get-CsCommonAreaPhone -Filter {RegistrarPool –eq "<SE-FQDN>"} | Move-CsCommonAreaPhone -Target <EE-PoolFQDN>

Get-CsCommonAreaPhone | Where-Object {$_.RegistrarPool -eq "<SE-FQDN>"}
Get-CsCommonAreaPhone | Where-Object {$_.RegistrarPool -eq "<SE-FQDN>"} | Move-CsCommonAreaPhone -Target <EE-PoolFQDN>

Analog Phones

Get-CsAnalogDevice -Filter {RegistrarPool –eq "<SE-FQDN>"}
Get-CsAnalogDevice -Filter {RegistrarPool –eq "<SE-FQDN>"} | Move-CsAnalogDevice -Target <EE-PoolFQDN>

Get-CsAnalogDevice | Where-Object {$_.RegistrarPool -eq "<SE-FQDN>"}
Get-CsAnalogDevice | Where-Object {$_.RegistrarPool -eq "<SE-FQDN>"} | Move-CsAnalogDevice -Target <EE-PoolFQDN>

Dial Plans

Get-CsDialPlan -id service:registrar:<SE-FQDN>

You might not care for an old pool-scoped dial plan on the SE server, but make sure you don’t need to replicate the functionality on the EE pool.

Don’t be freaked if this reports a mess of red – the key takeaway here is if it says what you’ve asked for doesn’t exist:

Get-CsDialPlan : Cannot find "DialPlan" "Registrar:<FQDN>" because it does not exist.

Users

Get-CsUser -Filter {RegistrarPool -eq "<SE-FQDN>"}
Get-CsUser | Where-Object {$_.RegistrarPool -eq "<SE-FQDN>"}

Response Groups

Get-CsRgsConfiguration service:ApplicationServer:<SE-FQDN>
Get-CsRgsWorkflow service:ApplicationServer:<SE-FQDN>
Get-CsRgsQueue service:ApplicationServer:<SE-FQDN>
Get-CsRgsAgentGroup service:ApplicationServer:<SE-FQDN>
Get-CsRgsHolidaySet service:ApplicationServer:<SE-FQDN>
Get-CsRgsHoursOfBusiness service:ApplicationServer:<SE-FQDN>

Migrating Response Groups used to be a hassle, requiring the use of special scripts from the ResKit. These days the cmdlets are inbuilt.

As with the Dial Plan above, red here is good news (for a change):

Get-CsRgsConfiguration : Cannot bind parameter 'Identity' to the target. Exception setting "Identity": "The application "RGS" is not installed on pool "<FQDN>"."

And in case you’ve found an “obvious” shortcut in Move-CsRgsConfiguration, I refer you to this spoiler from the party-poopers at TechNet:

“The Move-CsRgsConfiguration cmdlet is only for migrating from Office Communications Server 2007 R2 or Lync Server 2010 to Skype for Business Server 2015; you cannot use this cmdlet to migrate from one instance of Skype for Business Server 2015 to a new instance of Skype for Business Server 2015. That type of migration can only be done by using the new Import-CsRgsConfiguration and Export-CsRgsConfiguration cmdlets.”

So; down to business.

To backup:

Export-CsRgsConfiguration -Source "service:ApplicationServer:<SE-FQDN>" -FileName "C:\RgsExportSource.zip" -RemoveExportedConfiguration

(Note that the above has DELETED your now-previously-working RGS config, so you don’t want to be doing this during operating hours!)
To import into the new EE:

Import-CsRgsConfiguration -Destination "service:ApplicationServer:<EE-PoolFQDN>" -FileName "C:\RgsExportSource.zip" -OverwriteOwner -ReplaceExistingRgsSettings

Reference. Note that at the time of writing (July 2015) there are some bugs in the examples on the TechNet page. I’ve corrected the syntax in this post.

Unassigned Numbers

Get-CsUnassignedNumber | ? { $_.AnnouncementServerFqdn -eq "<SE-FQDN>" }

Call Park Orbits

Get-CsCallParkOrbit | ? { $_.CallParkServerFqdn -eq "<SE-FQDN>" }

Call Park MOH

Don’t forget to extract any customised MOH for Call Park. There’s a formal process to find it, but it’s cumbersome. This is much quicker and more practical:

CD <SE file share>

DIR *.wma /s

Audio-Conferencing Access Numbers

Get-CsDialInConferencingAccessNumber | where {$_.Pool -eq "<SE-FQDN>"}

These you’ll move with:

Move-CsApplicationEndpoint -Identity <SIP URI revealed above> -Target <EE-PoolFQDN>

Exchange UM Contacts

Get-CsExUmContact -Filter {RegistrarPool -eq "<SE-FQDN>"}
Get-CsExUmContact -Filter {RegistrarPool -eq "<SE-FQDN>"} | Move-CsExUmContact -Target <EE-PoolFQDN>

And Finally

… and just to be sure you (and I) haven’t missed anything, take one final sweep through the Control Panel and make sure no other pool-related configurations remain – or that those that do you’re OK with leaving behind. (As you’ve already moved the users they’ll be referencing the new pool-scoped policies you might have created on the new EE FE, or otherwise they’ll be now following the attributes from the Global scope. This could result in a change of user experience, and possibly some fault complaints).

Revision History

27th July 2015: Added more info, updated RGS migration process from ResKit app to cmdlets.

 

Lync Server Update – March 2012 (CU 5.5?)

Here’s one I stumbled across by chance – a March 2012 update to the Lync server. I’m calling it CU5.5, although I’ve not seen anything to suggest it’s been formally bestowed with that title. (Could it be CU6 running early??)

It updates several components on the Server (including Mobility) to 4.0.7577.197, and comes with its own LyncServerUpdateInstaller.Exe, so it’s certainly a more significant update than just a couple of random hotfixes.

There is also a companion update to the PC Client.

Continue reading ‘Lync Server Update – March 2012 (CU 5.5?)’ »

Enabling Exchange’s Voicemail Preview for en-AU and other languages

“Voice Mail Preview is a feature that’s available to users who receive their voice mail messages from Microsoft Exchange Server 2010 Unified Messaging (UM). Voice Mail Preview enhances the existing UM voice mail functionality by providing a text version of audio recordings. The voice mail text is displayed in e-mail messages within Microsoft Office Outlook Web App, Outlook 2010, and in other e-mail programs”.

I’ve been quite excited by Voicemail Preview since I first saw it. Way back in the late steam-age (2007) Microsoft included a pretty damned funky speech-to-text engine in Exchange at a time when customers are paying 6+figures for speech-reco solutions. Roll forward to Exchange 2010 and the text in the e-mail message you receive has each word individually hot-linked so you can commence the replay from a specific word, or to check the phone number was transcribed correctly without needing to bother with the waffly preamble.

Yes, it can come up with some hysterical mis-translations, but I’m prepared to overlook them. It’s not too hard to break much more expensive speech-recognition systems: just put on your best fake accent, speak quickly, slur, use jargon with acronyms, and do it all while standing in the middle of 6 lanes of peak-hour traffic or on the freeway with the windows down.

One frustration I *do* have with Voicemail Preview is that it doesn’t understand Aussie, and that if we enable the AU language pack in the Dial Plan it disables Voicemail Preview altogether.

There is however a reasonable work-around, provided one of the available Voicemail Preview languages is a passable variant of your native tongue. The obvious examples for me are en-AU, en-GB & en-US, where only en-US provides message transcription.

Don’t confuse the available language packs Exchange will talk to you in with its ability to understand and transcribe the spoken word. This Microsoft Exchange article lists the 26 language packs available for Exchange 2010, and the *7* that support the more exciting Voicemail Preview feature.

Continue reading ‘Enabling Exchange’s Voicemail Preview for en-AU and other languages’ »

The World’s Most Evil Cheesecake

 

A friend of ours recently popped back to Oz from his current home in Paris and cruelly brought us a jar of Speculoos paste as a present.

If you’ve ever coffeed in Amsterdam or thereabouts, they probably put one of those yummy cinnamon biscuits in the saucer. And this jar is full of something with the consistency of smooth peanut butter, but the most delicious cinnamon aroma and amazing taste – a gooey version of the biscuit.

So, after having woofed plenty off the spoon, and mixed a few more handfuls into ice cream (mmmmm), it occurred to me that this stuff would make an AMAZING cheesecake!

Continue reading ‘The World’s Most Evil Cheesecake’ »