Wednesday, April 25, 2012

Cisco Unity vs. Unity Connection - Installation and Recovery Times

Network Engineer After Restoring Cisco Unity
Billy Carter Post Unity Restore
For several years Cisco has offered two Unified Communications voice messaging products. Unity, built on Windows Server, Exchange (or Lotus Domino), and MS SQL, and Unity Connection built on Linux and Informix.

I just spent 12 hours restoring a Cisco Unity system and thought this would be a good time to discuss the installation and disaster recovery process. I will skip the configuration steps to integrate with the phone system, create voice mail users, etc.


Overview of the Cisco Unity Installation Process


I have been building Cisco Unified Communications Systems (or VoIP systems for the ol'timers) since 2000. Regular Unity has always been a complicated and comprehensive installation. There are many steps including things like "click options 2,3 and 5", "before proceeding to the next step, install this patch on the Exchange server", "if the Partner Exchange server is version 20XX, install Engineering Special ES9".

There is really four installations; Windows Server install, MS SQL install, messaging platform install (either full Exchange for Voice mail only, minimal Exchange components for Unified Messaging, or Domino), and finally the Unity application install.

Thankfully Cisco provides separate Cisco Unity Installation Guides or each option. I have to say, after 12 years of Unity Installations, I still always have the guide right in front of me:
  1. Unity Unified Messaging Configuration with Exchange (with Failover Configured)
  2. Unity Unified Messaging Configuration with Exchange (without Failover Configured)
  3. Unity Voice Messaging Configuration with Exchange  (with Failover Configured)
  4. Unity Voice Messaging Configuration with Exchange  (without Failover Configured)
  5. Unity Unified Messaging Configuration with IBM Lotus Domino (with Failover Configured)
  6. Unity Unified Messaging Configuration with IBM Lotus Domino (without Failover Configured)
All of the guides have you install the operating system, SQL, and messaging backend, then they all have to be patched. The Cisco Unity Server Updates wizard automatically installs recommend updates. Depending on the server model, this step takes 1.5 to 2 hours (Prior to the wizard, this was a manual process that often included 93 reboots and took 4 to 8 hours.)

Now that the core components are installed, but before installing the Unity software, the Active Directory scheme is extended and special AD accounts are created (unityinstall, unityadmin, unitydir, and unitymsg).

The Permissions Wizard is run to give these new accounts special permissions in Active Directory. Then you have to manually delegate Exchange Administrative control to some of the special Unity AD accounts. In my experience, 90% of the time when Unity fails to work properly after installation, it is due problems with the Unity accounts and permissions not being properly assigned.


Note - You can see there is extensive changes made to Active Directory, and the Unity accounts have some significant and powerful rights to Active Directory. This DOES make the AD administrators nervous (as it should). After installation, if the Unity AD accounts have some permissions removed, it will break Unity.


Finally the Unity software is installed and connected to the messaging environment.

Total Unity Installation Time: 8 to 16 Hours


Overview of the Cisco Unity Connection Installation Process


There is a single Cisco Unity Connection Installation Guide per Unity Connection version. The installation is very simple:
  1. Put the installation DVD in the server and boot it up
  2. Follow the installation wizard to set IP Addressing, Primary DNS, NTP, Time Zone, DHCP settings, SMTP hostname, and X.509 Certificate information. 
  3. Set the application and operating system usernames and passwords
  4. Identify if the server is the 1st server in the cluster.
  5. To install a Unity Connection High Availability server, follow steps 1-4, but mark the systems as the 2nd server in a cluster and enter the information about the 1st system.
  6. Patch the system buy uploading the single update file and click install.
  7. If using Unified Messaging following the configuration steps.

Total Unity Connection Installation Time: 1 to 1.5 Hours


    Overview of Cisco Unity and Unity Connection Restore Process


    Unity uses the Disaster Recovery Tool (DiRT). DiRT allows you to back up and restore a Unity system. It is very important the exact same version of DiRT is used to backup and restore.

    Cisco Unity Restore Process:
    1. You should already have run a DiRT backup and stored the files off-box
    2. Follow the complete installation process from above (8-16 hours). The version of Unity installed must be the EXACT SAME version that was backed up (major version and Engineering Specials)
    3. Install and run DiRT restore (30 minutes to 1 hour)
    Cisco Unity Connection Restore Process:
    1. You should already have run the Disaster Recovery System backup
    2. Follow the complete installation process from above (1 to 1.5 hours). The information entered in installation steps 2 and 3 must be the same.
    3. The version of Unity Connection installed must be the EXACT SAME version that was backed up (major version and updates)
    4. Sign into the Disaster Recovery System and run the Restore Wizard (~30 minutes)

    Summary


    Unity Connection has several advantages over Unity:

    1. Much faster installation process, thus much shorter RTO
    2. Automated installation eliminates many steps which could break the system
    3. Less dependent on the Active Directory and Messaging environment
    4. Almost complete feature parity with Unity (Cisco says they almost have feature parity, but I can find any features missing that I or my customers want). In fact Unity Connection has many features not available on Unity
    5. Unity Connection is under active development with new features every release while Cisco has announced Unity End Of Life
    6. Its just an easier system  

    What do you think about Unity vs. Unity Connection?