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’ »

Updating Exchange 2010 OWA for Lync

Having been inundated with Lync work since it was released over a year ago, I’ll admit to having not paid a lot of attention to OCS.

Once area where OCS continues to play a part in Lync installations is the IM functionality we now enjoy through Exchange 2010 OWA. Those are actually OCS components you’re installing!

Accordingly, having just updated Lync to CU5, I thought I should scope the latest OCS updates for the Lync part of OWA.

As I referenced in my CU5 post, the Lync ServerUpdateInstaller.EXE didn’t find anything it wanted to install on my combo Hub/CAS/Mailbox/UM server.

I have however found one component that could do with a refresh.

image

Here’s the update to take the UCMA Redist to 3.5.6907.244. (January 2012). Or do as I do and just run the OCS ServerUpdateInstaller from here.

This will take your Web Service Provider to 3.5.6907.202 if you’re not already (as mine is). (May 2010).

image

A simple update for me, and here’s the result:

image

BTW, if you’ve not already performed the integration process, I’ve referenced it a few times in earlier posts:

Integrating Lync and OWA

UM service won’t start

Lync replicates its CMS to Exchange

Integrating Lync and Exchange 2010 SP1

 

– G.

Script to find Unused Numbers in Lync

Ståle Hansen has published a great PowerShell script that digs through the Lync CsUnassignedNumber list and mashes it against all of the possible uses of a number (including CsAnalogDevices, CommonAreaPhones, RGS, UMContacts and more) to report what numbers in a given number range are currently spare. It fills a yawning (and frustrating gap) in the Lync administrator’s toolkit.

We tend not to use the Unassigned Numbers feature here in Oz. Generally speaking, we’re happier letting you receive a free supervisory message from the carrier if you’ve dialled a vacant number, rather than charging you for the privilege of receiving a recorded announcement, a menu, or transferring you to an already overburdened reception.

foreach ($Serie in (Get-CsUnassignedNumber))

The real meat of Ståle’s script runs inside a loop that iterates through each entry in the Unassigned Numbers list, so it dawned on me that I could quite easily replace that with an array of my own, and then add a front-end menu so you could choose just what range you were interested in.

Continue reading ‘Script to find Unused Numbers in Lync’ »

Calling a busy Tenor port fails with SIP 503 instead of 486

The NET Tenor appears to have a bug in its “108 Routing” (a feature enhancement I wrote of here and here).

If you make a call to an FXS port that’s busy, the Tenor reports “SIP/2.0 503 Service Unavailable” instead of “SIP/2.0 486 Busy here”, and this is reflected back to the calling party. A call from my [Australian] Telstra mobile to a busy Tenor port results in me just hearing silence until I abandon the call, rather than the expected Busy tone.

Fix it in the UX

Should you happen to have a UX upstream, this is readily corrected with a “SIP To Q.850 Cause Code Override Table”:

image

Don’t forget to reference this new table in the Mediation Server’s Signaling Group (assuming you’re routing the Tenor’s calls through Lync). If you’re routing direct, you’d reference the table in the Tenor’s Signaling Group instead:

image

Fix it in the Tenor

Subsequent to implementing the above, the NET TAC confirmed the issue as localised to the “108 Routing” feature and present in both Tenor firmware P108-09-10 and P108-09-18. The fix within the Tenor is an amended “map.cfg” file that translates internal cause code 34 (“No Channel Available”) to 486/Busy: Download.

FTP to the Tenor, rename the existing map.cfg file to map.cfg.old and copy the new file across. If you’re not using Config Manager, Telnet to the Tenor, login and issue the commands “maint” and “debug reboot”. It will tell you the time and then restart itself. Once it comes up you should be sweet, receiving “SIP/2.0 486 Busy Here” when you next call a busy port.

 

– G.

PowerShell Filter command fails

Sometimes what seems an obvious PowerShell filter request is rejected. The parameter you’re seeking is visible when you get-user (Exchange) or get-csUser (Lync), but you’re still rejected.

The error message is the rather bleak and uninspiring:

Invoke-Command : Cannot bind parameter 'Filter' to the target. Exception setting "Filter": ""UMDialPlan" is not a recognized filterable property. For a complete list of filterable properties see the command help.”

But I don’t want to see the command help for a complete list of filterable properties – I want to filter on this parameter!</hissyfit>

Continue reading ‘PowerShell Filter command fails’ »