Bulk update Outlook Contacts’ phone numbers to be E.164 compliant

Here’s a quick & dirty tool I put together for Outlook to be able to update all the phone numbers of contacts to make them E.164 compliant. It relates back to a post a while back around the challenges of formatting numbers ‘correctly’, particularly important once you get into using click-to-dial technologies such as Office Communication Server.

The tool itself is basic since it’s only really expected that people will run it once, to sort out the numbers of old contacts you might have. It will check all the contacts in a given folder and automatically fix the numbers up, but there are a few caveats…

  • It’s hard coded for UK numbers beginning +44 … though the code is pretty easy to get to if you know anything about Outlook forms, and you can modify it at will.
  • It doesn’t back up the contacts before modifying, so you might just want to copy your Contacts folder somewhere else before running, if you’re of a nervous disposition. I can verify that it hasn’t mangled any of my contacts and nobody in Microsoft who’s tried it has reported a problem.
  • It’s not exactly straightforward to install – but if you follow the instructions carefully, you’ll be OK.
  • The document in the ZIP file explaining how to install & run it, is in Word 2007 format (docx). If you still haven’t either upgraded or installed the compatibility pack to add OpenXML support to your older version of Office, there’s a link in the ZIP file to go straight to the download page.

A final word: this is completely unsupported, supplied “as is” etc. If it does mangle all your contacts up, just revert to your backup copy – and if you didn’t take a backup then you’ve only got yourself to blame.

Harsh but fair I think 🙂

Enjoy.

The logic converts “from” the format on the left to the format on the right… (_ denotes a space)

Old format number begins New format number begins
0 +44
(0 +44 (
+44_0 +44_
+44(0 +44(
+44 (0) +44
+440 +44
(0) +44_

Examples

old number New number
0118 909 1234 +44118 909 1234
(0118) 909 1234 +44 (118) 909 1234
+44 0118 909 1234 +44 118 909 1234
+44(0118) 909 1234 +44(118) 909 1234
+44 (0)118 909 1234 +44 118 909 1234
+440118 909 1234 +44118 909 1234
(0)118 909 1234 +44 118 909 1234

Careful what names you give to Outlook Contacts when using UM!

This is a follow up to Friday’s post about what happens if you have Exchange Unified Messaging set up to send you notifications on missed call alerts (and on voicemail), using caller-ID to reverse lookup against the personal contacts folder.

Stephen Spence commented:

Fingers crossed nobody is using silly names for any of their contacts and finds out about this the hard way!

And he’s absolutely right – I tried renaming the contact I have for my wife (to “Mrs D!”), then called my desk number (whilst OOF was on), from her mobile.

Here’s what she got (viewed in her mailbox via Exchange 2003 OWA):

image

Just as well I wasn’t calling her “Trouble & Strife” or something like that 🙂

So, be careful… if you have UM and external  OOF turned on, don’t add people into your contacts with disparaging names in case they happen to phone you one day and find out, as Stephen says, the hard way….

I learned a cool thing about Exchange UM today

I’ve seen this behaviour in practice before, but I don’t think it really clicked with me until Neil May from PostCTI (who was hosting our penultimate Exchange Unplugged event today) told me how pleased he was with it.


This functionality concerns the “missed call notification” feature of Exchange Unified Messaging – as well as the server telling you that you have a new voicemail, it will also tell you when someone has connected to UM but hung up before leaving a message.


In both cases (ie when someone leaves a message, or if they hang up beforehand), if the server can identify their caller ID as belonging to someone in your contacts, you’ll see the voicemail or the missed call notification as if it came from the person themselves (it’s actually Microsoft Exchange on behalf of <the caller>, but it primarily shows as if it came from the person directly).


image


So in this case, if I hit “reply” to the notification, it will send an email to the person that was identified as the source of the message. Cool, yes.


What’s nice, though, is that if I have my Out of Office message set, and someone calls me then either leaves a message or hangs up, when the notification lands in my Inbox and appears “From” them, their email address will be sent the Out of Office message I’ve set.


As it happens, I have a contact entry for my own mobile number, in my Outlook contacts folder, but set with my Hotmail email address. When I call my office extension from the mobile, it identifies the contact as the source of the call, and the return address is the Hotmail one, so the Out of Office message I set on my mailbox will be sent to the Hotmail account, since I had associated the mobile number that called me, with that address.


image 


Neil (who spends a lot of time on the road) said this was one of the most unexpectedly cool parts of Exchange UM – customers who call him up and don’t leave a message (but who he’s already added to his Outlook contacts), will get the Out of Office message as if they’d sent him email. So the next question they ask him is, “How can I get that for myself??”


Seeing this in reality brings the technology alive in a lot of users’ eyes.

Voicemail sizes on Exchange 2007

A question we get asked a lot is regarding the sizing of voice mail messages in Exchange 2007. If you’re not familiar with the built-in voicemail capabilities, Exchange can function as a voice mail system (or Unified Messaging system, really – it’s a way of unifying voice and inbound fax messages with email).

image What’s particularly nice about this is that as far as Exchange is concerned, email and voicemails are just messages. I can respond to a voicemail (such as the one pictured here) by hitting reply, and Outlook (or OWA, or Windows Mobile etc) will create a email response to the “sender” of the voice message, assuming it can work out who they are based on the caller ID that was identified when the message was left.

Lots of people get nervous when thinking about holding voice mail in Exchange, worrying that the message sizes will burden their already overloaded mailboxes. In reality, the size is rarely a big deal – we tend not to get too many voicemails (I probably get less than 10 a week), at least in comparison to the volume of emails received. Add to this the fact that most voicemails are relatively short (and you set a limit on how long the system will let a caller ramble before cutting them off anyway: generally if it’s more than 2 minutes long, then it’s more of a soliloquy).

There are a few ways of encoding the voice content that Exchange will record as voice mails, and which option you choose might depend on how the users are going to be collecting the voice mails. Outlook, OWA and Windows Mobile can all play Windows Media (WMA) format files, so that’s the default – and offers the highest quality for minimum size of message – typically a couple of Kb per second or so (a combination of some overhead for the message, and then the encoding rate of the sample).

The options are to stick with WMA, or if you’re looking to interoperate playback of voice content with other telecoms equipment, you may want to encode using GSM 06.10 (an 8-bit compressed format derived from the GSM mobile specifications), or G.711 (a 16-bit PCM non-compressed format, defined as an ITU standard). Both GSM 06.10 and G.711 use the WAV format for representing the sound, and will deliver larger sound files than WMA.

There’s a nice explanation of the options over on http://technet.microsoft.com/en-us/library/aa998670.aspx, including this comparative graph of the file sizes:

Basically, don’t use G.711 unless you want *really* big voicemails… 

Finally, SP1 will add the option of using Microsoft’s RTAudio codec for playback to Office Communicator Phone Edition devices – part of the integration between OCS and Exchange 2007.

Custom presence states in Communicator, reprise

A quick follow on to my post the other day about having custom presence states in Office Communicator 2007 – the Communicator Deployment Guide has a couple of minor errors which could frustrate you, as one commenter pointed out, and I’ve had comments from a couple of people who’ve had trouble getting it working.


There may be some gotchas with the XML file you create, too (especially if you accidentally end up with an invalid XML file as I did at first attempt). A tip would be to check that your XML will render in Internet Explorer OK (by double-clicking) – if it doesn’t, then Office Communicator isn’t going to like it. Also, you’ll need to make sure you use the correct language codes – English being 1033, something that’s not all that obvious in the documentation


Here’s my XML – if you want to, just copy this to Notepad, save it as OCSSTATUS.XML and make sure the URL in your registry points to the location where you put that XML file (see below…)


<?xml version=”1.0″?>
<customStates xmlns=
http://schemas.microsoft.com/09/2005/communicator/customStates”

xmlns:xsi=
http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=
http://schemas.microsoft.com/09/2005/communicator/customStates>

       <customState ID=”1″ availability=”online”>
              <activity LCID=”1033″>Working from Home</activity>
       </customState>
       <customState ID=”2″ availability=”online”>
              <activity LCID=”1033″>Fine and Dandy</activity>
       </customState>
       <customState ID=”3″ availability=”busy”>
              <activity LCID=”1033″>Meeting with Customer</activity>
       </customState>
       <customState ID=”4″ availability=”do-not-disturb”>
              <activity LCID=”1033″>Presenting and Projecting</activity>
       </customState>
</customStates>


To add the value to the registry, either do it manually or else copy the following block of text to Notepad and save it as OCSSTATUS.REG file, then double-click on that to import to the registry.



Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator]
“CustomStateURL”=
file:///d:/software/applications/ocsstatus.xml


Note the format of the URL – unless you’re picking up the XML file from a network resource, it will be a file: type, but the correct formatting of that URL is to use three forward slashes before the drive letter.


Hope this helps!

Custom presence states in Office Communicator

 I just discovered how to modify presence states in Office Communicator 2007: it’s documented in the Office Communicator Deployment imageGuide (page 21, if you’re interested), and allows for either  the managed deployment of Communicator with additional corporate-set presence states, or if a user is savvy enough to do it themselves, they could have some fun…

The custom states appear like shown in this screenshot (the one in the deployment guide seems to be in error – it doesn’t actually show any custom states), and you can have up to 4 of them and set which of the coloured statuses you want to apply to each of your defined presence states.

I’d originally noticed this was possible when I glanced down at the beautiful screen on my newly-acquired “Tanjay” phone (as shown on Gurdeep’s desk here, along with a bunch of other UC devices, and akin to the LG-Nortel 8540), and I saw Adrian’s status was “Delivering …”

img014

… which set me off to find out how he’d done it. Note my own status is also displayed on the Tanjay, and updates in real time…

Identity & presence: the key to anyone’s Unified Communications strategy

 I spend a lot of time talking with customers about what Microsoft is doing with various new technologies, mostly involving or revolving around the Unified Communications stuff with OCS and Exchange. It’s really interesting to see how many people just “get” the point of UC technology, whereas others are either blind to its potential, or even doing the fingers-in-ears, shut-eyes, repeating “no, no, no” denial that a lot of this stuff is coming whether they like it or not.

I don’t mean that software companies are somehow going to compel everyone to adopt it, more that end-users themselves will be expecting to use technology at work which they have grown used to at home. For several years now, it’s been typical that people have better IT at home than they’d have in the office – from faster PCs, bigger flat screens, to the software they use – it’s exactly this kind of user who has driven the growth of services like Skype, and possibly helped shape the way enterprises will look at telecoms & communications in the future.

Various pieces of research, such as Forrester Groups’ 2006 paper on “Generation Y” types (as reported at TMC.Net), predict that people who were born in the 1980s and beyond, are adopting technologies into their lives faster than previously… and as those same “Millenials” are making their way into the workforce, they’re bringing their expectations with them, and possibly facing the “Computer says no” attitude that some, er, older, IT staff might still be harbouring.

Instant Messaging concerns

It’s already been reported that teens use IM more than email so it seems inevitable that IM will come to the enterprise one way or another. Some enterprises have turned something of a blind eye to “in the cloud” IM services such as Windows Live/MSN Messenger, AOL, Yahoo, Google Talk etc. Others have actively shut down access to these services by blocking firewall ports. Both of these approaches will need, at some point, to be re-evaluated or formalised through acceptable use policies etc – just as businesses in the past didn’t give users internet access or even email, due to concerns that they’d just waste all their time chatting, or the threat to security of opening up to the world.

In reality, users will waste time on IM initially, just like they’ll possibly spend worktime surfing the web or playing Solitaire on their PC, but sooner or later they’ll get over the novelty and start using the technology to be productive, and even if they still “play” during working hours, the net effect will be positive.

IM as email reduction strategy

Many people agree that they get too much email, and that culturally, email is used when it would be better to pick up the phone or talk to someone face-face. IM can reduce the volume of email sent, not just for the disposable communication (the “have you got a minute?” type) but for the fact that people who are not online at the time, don’t tend to get IM. It’s all too easy to blast an email out to a group, asking for help – now, when the people in that group who’ve been out of the office next log in, they’ll get your request … even though your problem may well have been solved by now. That just doesn’t happen with IM, and some customers I’ve talked with estimate that adoption of enterprise IM sees a >50% drop in internal email volumes.

Presence is the magic ingredient

What makes IM useful is the “presence“: the knowledge of who, in the company (even, possibly, people you haven’t ever added to a contact list like you’d need to do in the public services), is available and in a position to respond to you. Cliff Saran of Computer Weekly wrote a blog post recently which was scathing of presence, but illustrates a fundamental lack of understanding of what it “is”:

Yes it’s fine to be able to know that someone is free, but it relies on the user having to update their Presence each time they walk over to the coffee machine, have a chat and a laugh with a colleague, go to the toilet, leave for the train, get home, go to the pub, have dinner, watch TV and go to bed.

— “Microsoft’s unified productivity killer“, Cliff Saran, 28th August 2007

Sorry Cliff, but you’re about as far wrong as it’s possible to get without changing the subject entirely. The whole point of presence is that it’s something the user shouldn’t have to worry about. And if they want to, they can. Culturally, some people won’t want to use the technology at all, which is fine… though sooner or later they may realise they’re losing out, and come back to the party.

image

I start my PC up, and if it finds a network, Office Communicator logs in and sets me to be online. When my Outlook calendar says I’m busy, my presence changes to “In a meeting”. When I pick up the phone, it’s “In a call”, all done automatically.

When I lock my screen (as I’d do – WindowsKey+L – any time I’m away from my desk for more than a few seconds), my status goes to “Away”, and restores when I log back in. If I just walked away without locking, after 5 minutes, I’d be “Inactive” then 10 minutes later,  it would be “Away” (at least that’s the default timeouts and behaviour… they can be tweaked). And all the while, by clicking that big coloured button in the top left, I can over-ride the automatically set presence and do it myself. Or even sign out.image

As well as controlling what my own status is (and by extension, how phone calls will be routed to me and when), I can also set what level of information I’m prepared to share with others – from allowing select people to interrupt me even when I’ve set “Do not Disturb”, to blocking people from even seeing that you’re online altogether.

Presence and UC telephony

Look at the strategies of any IT or telecoms company who’s involved in this space: finding a user (based on some identity, probably not just their phone number) and seeing their presence is a key part of the value of UC. Making it integrated into other applications and devices the user is working with, and giving the user the choice to use it or not use it as they see fit, is vital to the success of presence being adopted and embraced (rather than rejected by users as big brother-ism or invasion of privacy).

OCS2007 trial edition now available

If you want to get your hands on trial software for the recently-released Office Communications Server 2007 and its client, Office Communicator 2007, then you’re in luck…

Bear in mind that these trials are for tyre-kicking and lab testing only – don’t put them into full blown production. They will also expire in 180 days, though can be upgraded to the released and fully supported code.

OCS 2007 RTMs

The title says it all really – Office Communications Server 2007 released to manufacturing on Friday. Mark posted about it then, so I guess it’s official (though there’s not much hoo-haa yet on Microsoft.com).

It’s getting pretty exciting with the use of desktop video (even though it’s nothing new: we’ve had it since Netmeeting in Windows 95 in one shape or another) starting to take off. Gartner Group’s “Hype Cycle” for Comms & Collaboration from last year put Desktop Video firmly on the way into the “Trough of Disillusionment”. I wonder if pervasive camera deployments and using software enabled VoIP through OCS, will lift Desktop Video back onto the Slope of Enlightenment?

Living the dream with Office Communicator 2007

I’ve been a long-time fan of instant messaging and pervasive “presence”, especially the cultural changes it allows organisations to make in order to communicate and collaborate better. As a result, I’ve been really interested to see what’s been happening with Office Communications Server (the soon-to-be-released successor to Live Communications Server).

Around 6 weeks ago, I joined an internal MS deployment of full-voice OCS, meaning that my phone number was moved onto the OCS platform so now I’m not using the PBX at all. It’s been a remarkably cool experience in a whole lot of ways, but it really hits home just how different the true UC world might be, when you start to use it in anger.

I’ve been working from home today, and the fact that my laptop is on the internet (regardless of whether I’m VPNed into the company network), the OCS server will route calls to my PC and simultaneously to the mobile, so I can pick them up wherever. As more and more people are using OCS internally, it’s increasingly the norm to just hit the “Call” button from within Office Communicator (the OCS client) or from Outlook, and not really care which number is going to be called.

brettjo on a Catalina

Here, I was having a chat with Brett and since we both have video cameras, I just made a video call – I was at home so just talked to the laptop in a speakerphone type mode, Brett was in the office so used his wired phone, which was plugged into the PC:

(this device is known internally as a “Catalina” and functions mainly as a USB speaker/microphone, but also has some additional capabilities like a message waiting light, a few hard-buttons, and a status light that shows the presence as currently set on OCS).

It’s a bit weird when you start using the phone and realise that you’re not actually going near a traditional PBX environment for a lot of the interaction. Calling up voice mail, as delivered by Exchange Unified Messaging, is as easy as pressing the “call voice mail” button in Communicator – no need to provide a PIN or an extension number, since the system already knows who I am and I’ve already authenticated by logging in to the PC.

When I use this, the “call” goes from my PC to OCS, then from the OCS server directly to the Exchange server, all as an IP data stream and without touching the traditional TDM PBX that we still have here. A third party voice gateway allows for me to use OCS to call other internal people who are still homed on the PBX system, and to make outbound calls.

Microsoft’s voice strategy of “VoIP As You Are” starts to make a lot of sense in this environment – I could deploy technology like OCS and Exchange UM and start getting immediate benefit, without needing to rip & replace the traditional phone system, at least not until it’s ready for obsolescence.

Here’s an idea of what kind of system is in place – for more information, check out Paul Duffy’s interview with ZDNet’s David Berlind.