For those of you out there that spend your time installing collaboration applications, or phones as the rest of the world knows them, all I have to do is mention the word “licensing” and you immediately have a Pavlovian reaction and start shaking uncontrollably. Over the years, the process of obtaining the correct licensing for Cisco’s line of Communication Manager appliances has ranged from tolerable to outlawed by the Geneva Convention. Today I hope to shed a little light on things.
In the Beginning
Not too long ago, Unified Communications Manager was known as CallManager. And it ran on Windows. Yes, let that sink in for a moment. From the beginning, Selsius (The company that developed CallManager) developed the platform on Windows 2000 server. When Cisco acquired it around version 3.0, they kept that OS choice intact. They did harden it somewhat to keep it from getting easily hacked, but you still had Windows running under all your call processing tasks. In those days, licenses were purchased when you purchased your phones. The phones had part numbers like CP-7960-CH1. When you purchased this part number, you also purchased a license to use this phone with CallManager. You got a little Right To Use certificate in the box, which you promptly took out and put in a file folder somewhere. Should Cisco ever come around and ask for your phone license, you went to that folder and pulled out the certificate and showed it to the person that asked. And you were licensed.
Should your phone ever break, you could always order a replacement part, CP-7960=. The equals sign meant it was a “spare” part. What made it spare? It didn’t ship with a license. It was meant to replace a broken phone. Consequently, it was also about $100 cheaper. If a person was so inclined, they could order a whole bunch of spare phones and use them with CallManager. How? Because CallManager 3.x and 4.x had no mechanism for license enforcement. Other than your conscience, there was nothing stopping you from saving $100 per phone and using the spare parts with no licenses. And, I’m guessing a lot of people started doing this. Which led to improvements in 5.x
DLUs, Nodes, and Features
When Cisco moved CallManager to version 5.x, they moved the OS to an “appliance OS”. Okay, so it’s a highly customized verison of Red Hat Enterprise Linux with a totally different shell. But at least it’s not Windows, right? In doing so, Cisco also decided to make some changes to the licensing model. First and foremost, they needed a way to be sure the licenses were bought and enforced when the phones were purchased. Now, instead of buying the phones bundled with the licenses, you would buy the spare phones and buy a separate license. Secondly, Cisco realized that charging a straight $100 fee for a phone license was inefficient. The same $100 that powered a 7906 phone powered a 7985 video endpoint. So, Cisco decided to ‘weight’ these devices. Instead of buying a single license, you bought a Device License Unit (DLU). These DLUs worked out to be about $25 each. The 7906 above only counted as 3 DLUs, so it’s license cost was effectively $75. The 7985 video phone was 8 DLUs, so its advanced features cost $200 to license. The 794x and 796x phones that formed the bread-and-butter of phone handset sales counted as 4 DLUs, which worked out to be roughly equivalent to the original $100 license.
In addition, Cisco decided to start licensing the number of CallManagers that went into the cluster. Previously, if you bought the software, you could load as many CallManagers into the cluster as you wanted (up to the limit of 5 per cluster). Cisco decided that those additional servers now needed to be licensed as ‘nodes’. So bringing a new subscriber node online in your cluster required an additional license. I can remember when this change first hit the street. There were entire classes devoted to figuring out the new licensing structure of CallManager. Towns were pillaged. Statues were toppled. Human sacrifice, dogs and cats living together, mass hysteria. It took some time for the old school voice…architects to get used to the idea of purchasing a block of DLUs for the phones they just ordered. But it ended up working really well. When a phone died, you removed it from CallManager and added its replacement in. The DLUs the old phone consumed were freed for use with the new phone. When you did an upgrade from 4.x to 5.x, you called TAC and provided them with the count of your old licenses. You could also provide them with a list of the phones you had registered with the cluster. And TAC issued you a DLU license that matched up to the number of DLUs you needed to run those phones.
The downside to DLUs is that it’s a hard count. If you need 3 DLUs to add another phone, and you only have 2, you don’t get to add the phone. Cisco gives you an ‘overdraft’ of a few DLUs just in case you need 1 or 2 more, but you also get a big warning telling you that you’re running on borrowed time and that you need to contact Cisco and get another few DLUs.
When version 6.x appeared, Cisco changed the name of the product to Unified Communcations Manager to better fit with the portfolio of communications as a whole solution. They also did it to make my typing job harder and differentiate how long you’ve been working with voice by how many times you call the new product “CallManager”. They also introduced a new license type, the ‘feature’ license. To this day, I still don’t actually know what the feature license is really for. I know that it prevents you from upgrading from 6.0 to 6.1 unless you have it. I know you can’t start the CallManager service (yes it kept the name) without a valid feature license. I know it has something to do with making sure you’re running the right version of the software. I also know that this one license has caused me more pain and consternation than any other license in the history of the world, save perhaps my driver’s license.
The ‘feature’ license is required when you upgrade from any major version. Going from 5.x to 6.x? Feature License. Going from 6.0 to 6.1? Feature license. When you upgrade from 5.x to 6.x, you can move your DLUs and node licenses, but when you boot the system for the first time, the number of DLUs on the system are negative. Wha? Yes, in an effort to make sure you call TAC during an upgrade, any 5.x to 6.x migration will take the number of DLUs you have (say, 250) and give you the exact number as a negative after the migration (as in, -250). At this point, your system runs, but you can’t add anything to it. Why? Because if you remove a phone, you decrement the number of licenses used, but it’s still negative. So you can’t add a phone when you have negative licenses. How to fix this? You need a feature license. As soon as you add it, bang! All the numbers go back into the black.
This feature license stuff annoys me to no end, but I guess it needs to be there to keep people from upgrading to software they have no right to run. But, occasionally, it comes back to bite you in the ass. CallManager 6.0 was plagued with a bug that caused it to lock up after 180 days of uptime. The fix? Upgrade to version 6.1. But, if you do this without getting a new feature license, your CallManager service won’t start and your phones won’t register. And, should this ever happen to you, you get to spend 2-3 days bouncing back and forth between licensing and TAC, explaining your problem. And pulling out what hair you have left on your head.
DLU-based licensing had finally started to work and be understood. So, when Cisco released version 8 of Unifed Communications Manager, naturally it was time to change things again. I give you…UCL
I Feel Like Such A User
Cisco has a ton of applications to support collaboration. Unity, Unity Connection, Presence, Mobility, Contact Center, MeetingPlace, Webex, and so on. And every one of them is licensed. Keeping all the licensing straight is enough to employ an army of well trained bean counters. So, in an effort to spur collaboration application adoption, Cisco came up with a program called Cisco Unified Workspace Licensing (CUWL, pronounced “cool”). CUWL licensing said that for any given user in your enterprise, you could pay a fee and license certain applications. For instance, if you wanted the basic CUWL user, you could pay your money and get an endpoint (phone) license, a voicemail license, and a mobility license. When you purchased those licenses, Cisco shipped you a certain number of DLUs to cover the handset and the mobility, as well as shipping you a voicemail license for the platform of your choice (Unity or Unity Connection).
So, in version 8.x of Unified Communications Manager, Cisco extended this idea to the basic licensing of the platform itself. Now, instead of buying a set of DLUs for a phone, you purchase a ‘user license’ to connect that user (User Connect Licensing, or UCL). Except that right now, it functions just like CUWL. When you buy 1 UCL license, Cisco still ships you DLUs to put into the system. I guess its still a holdover from the old system. But, by version 9, UCL will be the only licensing method available. So you’ll be stuck counting users instead of handsets.
I suppose UCL works best from the standpoint that most users anymore don’t rely on one single communcations device to do all their talking. Myself, I use a desk phone, my cell phone running Cisco Mobility Client, as well as Cisco Unified Presence Client. I have many different ways to talk to you, but not all of them involve one device. And so by licensing the user for any device they want to use, it gives you some flexibility in the method you use to communicate. And, in a curious case of remembering the past, you can now order a phone part number, CP-7965-CH1, that includes a user connect license. For $200, roughly.
I hope that this post clears up some of the intricacies of licensing in CallManager/Unified Communications Manager. It’s not hard to grasp when you work with it every day, but when you first encounter it it can be daunting. Just like learning how to drive, the key is practice and exposure. Learn how each license type functions and what its relationship is to the others. Don’t be shy about contacting TAC or firstname.lastname@example.org to sort out any issues you might have. And don’t forget to buckle up. Because it may be a bumpy ride.