Voice mail is a funny thing in the IT industry. Some people live by it and use it as their primary form of communication. Others would prefer to take voice mail and throw it into a river. Regardless of your views, configuring voice mail to integrate with other forms of communication has been an interesting task in the past to say the least. I’d like to take a few words to talk about unified messaging as I understand it and why I find it so critical in my infrastructures that I design and build. Note that I’ll be discussing Cisco unified messaging for the most part, with a little Microsoft flavor thrown in here and there.
If you’ve been using a Cisco phone system at any time in the past 10 years, you are probably intimately familiar with Cisco Unity. Unity has been the flagship voice mail system for Cisco from the very start of their journey down the road of unified communications. Unity at its heart is a place to store voice mail messages and retrieve them, usually via phone. It allows you to provision a server for many different kinds of voice mail interfaces besides Cisco CallManager, such as Octel or PIMG. However, the thing that has most attracted people that I talk to is the promise of what Cisco calls “Unified Messaging”. This is the idea that your voice mail messages are stored in the same container as your other forms of communication, in this case emails. By locating the voice messages in the same area as your email, you only need to look at one program or portal to receive all of your messages, voice or electronic. That is the real promise of unified communications, and the one that I managed to sell my users on. Couple in the fact that you could receive email on a smartphone and you can get your office voice mail no matter where you might be. However, Unity is not without it’s drawbacks.
How exactly do you pull off unified messaging? Well, the key lies in the fact that Unity on supports unified messaging on Microsoft Exchange or Lotus Domino platforms. You need to specify your platform when you order. Why’s that? Because the Unity server you load is actually an Exchange or Domino platform that integrates with your existing environment. Even if you order a Unity server as a stand-alone voice mail server, you are still loading Exchange and using it to store voice mail messages, except you can only retrieve them via telephone (unless you are crafty…). Unified messaging can only work if you are storing the messages on a “partner” server, which is a box other than the Unity server. Essentially Unity serves as a gateway to move messages to the Exchange or Domino server. This isn’t without its challenges. Unity requires your directory schema to be extended in order to support unified communications. Since the latest versions of Unity still load Exchange 2003, you must be able to support that version in your environment, which can be difficult for those that have been running Exchange 2007 or 2010 for a while. Any time you install a major patch to your partner Exchange server, you have to patch Unity to work with it. When we upgraded our Exchange 2003 server to 2007, it took two major patches and a few hours to sort out the resulting mess. I didn’t even want to think about what might happen once we upgraded to Exchange 2010. Unity 8 has dropped all support for Domino, so if you want to keep unified messaging with Domino you’re kind of stuck. You still need to use Windows Server 2003 to install and support Unity. The list could go on for a while, but all you really need to do is go find a Cisco voice person and casually mention Unity to them. Odds are good you’ll see them twitch, followed by horror story after horror story about Unity.
Cisco has been developing a different form of server for the past few years in parallel to the Unity development. Originally designed to be a smoother integration with Cisco CallManager, Cisco Unity Connection was positioned to those customers that didn’t need full unified messaging and didn’t need thousands of subscribers. While the 1.x versions still relied on Windows as the server OS, the message store didn’t not need Exchange or Domino to function. As Cisco started migrating the CallManager platform from Windows to a Linux-based OS, so too did Unity Connection slowly migrate to the same Unified OS under the hood. This helped Cisco avoid paying license fees to Microsoft for each CallManager or Connection system sold. The shift to Linux came in part because Cisco could release security patches for the whole platform at once without the need to wait on Microsoft to patch OS vulnerabilities only to then have Cisco test those same patches to ensure the CallMangager or Connection software still functioned. Also, when Microsoft introduced Exchange 2007 they included a role for Exchange called Unified Messaging. This was the beginning of Microsoft’s push toward voice software, and many say that it came because Cisco was having so much success using Exchange as a voice message store that Microsoft wanted to jump in the game. Hence, Cisco had a great desire to move their voice messaging platforms to a non-Microsoft OS. There was still a problem, however.
Without Exchange or Domino, there is simply no way to provide true Unified Messaging. Cisco attempted to do something similar in Connection 6.x and 7.x with what they called “Integrated Messaging”. This allowed a customer to attach to Connection as an IMAP mailbox or to have Connection deliver a copy of the message to your Exchange mailbox as a forwarded email. This presented a couple of problems for customers such as the users that I support. Firstly, my users wanted the ability to check their messages from outside the office. With Unity, all their messages are delivered into their mailboxes, so they just check the one email account. With Connection, they needed to log into the Connection server, so I would have needed to expose the Connection server to the outside Internet, something I wasn’t exactly comfortable with. Secondly, with Unity when a message is checked in Outlook or on the web, it changes the state of the message waiting indicator (MWI) to reflect that the message has been listened to. For some of my users, the volume of voice mail they receive would cause a panic attack if I told them they had to listen to each message on the phone to clear that light. Because of things like these, no matter how much I may have hated Unity, I couldn’t get rid of it because Connection didn’t do everything I needed it to do.
Enter Unity Connection 8.5. Cisco has gone to great lengths to create a true unified messaging platform, sans Exchange. Sorry for those Domino users out there, but Connection 8.5 only support unified messaging on Exchange. I think both of you Domino people left in the world will have plenty of time to think about where you’ve gone wrong. Anyway, Unity Connection 8.5 uses an agent to track the message state in the message store and synchronize it with the copy of the message that is deposited in your Exchange mailbox. Listen to the voice mail on your phone and the message is marked as read in your inbox. Delete the message from your inbox and it is removed from your phone and placed in the trash, which is a lot better than it just being outright deleted like it was in Unity. This is the kind of unified messaging behavior that finally got me to the point of migrating my users off of Unity. After judicious use of COBRAS, I was able to get my users up and running on Connection and shut off Unity once and for all. The only “change” was a couple of users asking me if the Cisco Lady’s voice had changed for some reason, since the Connection voice prompts were a little newer than the old ones found on Unity.
Unified messaging is a great thing, but the infrastructure that needs to be in place to support it isn’t. It gives us headaches and indigestion from all the moving parts needed to make the whole thing work correctly. Those that have survived a Unity install and have labored to support it would do well to take a look at Unity Connection 8.5. It provides almost every feature you might want from Unity while leaving all the old Microsoft cruft behind. For those that have never had the ability to use unified messaging, you should definitely give it a try. You’ll find your users thanking you.