In network engineering I have learned that the biggest lie I tell myself is that "I do not need to write this down." That being said, when you are in the heat of troubleshooting a production issue I really try to design my systems so that I can tell what the heck something does by a label or good name. This does not replace the need for other documentation, but it does help when you are in the heat of troubleshooting a system problem. As I started supporting Unified Communications applications, I discovered there are lots of opportunities to really create a mess when you are configuring things if you do not keep supportability in mind. I want to share with you some tips that I have found helpful in naming objects specifically in Cisco Unified Communications Manager; however, similar concepts can be used for other network components such as Access Control Lists on traditional network equipment too.
When you are starting with a fresh Cisco Unified Communications Manager install, you have a blank slate. This is both good and bad. Good in that you have a lot of flexibility in the system to configure things, but bad because if you don't put some thought into naming it can get confusing quickly. Spending some time up-front will save you some headaches down the road. Even if you don't have a fresh Cisco Unified Communications Manager installation, you can start cleaning things up as you provision new services and go back and adapt what is in the other systems when you have time to do so.
Some of the common things you will configure in Cisco Unified Communications Manager will be: Partitions, Calling Search Spaces, Route Groups, Route Lists, Route Patterns, SIP Trunks, Device Pools, etc. First let's get started with some basic definitions of what some of common objects are. I will also share some examples of how I like to name things to keep them easily sorted so objects of similar function are grouped together in a long list. These are just examples, and your naming convention will have to be something that works for you, your team and your specific environment.
Partitions-Partitions facilitate call routing into various objects by separating objects into logical subsets or groups. This sounds a little confusing on the surface, but I keep straight in my mind by thinking Partitions get me into the various Cisco Unified Communications Manager objects. I like to begin all of my Partitions with "P-" and group similar partitions together further by using similar names. Here are some examples:
Calling Search Spaces-A calling Search Space is an ordered list of partitions that are typically assigned to various objects. Calling Search Spaces determine the partitions that objects/devices search when they are attempting to complete a call. Calling Search Spaces are used a lot in Cisco Unified Communications Manager so this is where you can get yourself into trouble quickly. Similar to partitions, I like to group similar Calling Search Spaces together by make my names sort to keep them grouped together when you are scrolling in a long list of calling search spaces in the administration graphical user interface. Here are some examples:
Route Groups-A route group allows you to designate the order in which gateways and trunks are selected. It allows you to prioritize a list of gateways and ports for outgoing object/device selection.
Route Lists -A route list associates a set of route groups in a specified order. A route list is referenced with one or more route patterns and determines the order in which those route groups are accessed.
SIP Trunks-A Session Initiation Protocol trunk is used to connect Cisco Unified Communications Manager to other devices or applications. The most common applications that use Cisco Unified Communications Manager SIP trunks are for voice and video calling as well as instant messaging presence awareness. Some examples of types of applications that use SIP trunks are: call recording applications, E911 call routing applications, voicemail systems, etc.
Device Pools-Device pools define sets of common characteristics for devices. Device pools reference lots of other objects including Cisco Unified Communications Manager Groups, Date/time Groups, SRST References, etc. Similar naming conventions can be used for these object types as well.
Hopefully you could see in my examples, I try to develop a naming standard that makes since for the environment by naming items so they group together neatly in long lists of objects. In the case of our production Calling Search Space list, I have over 100 items configured. When I am troubleshooting or configuring something new, I would prefer not spend my valuable time scrolling up and down in that list finding all the things I need. Cisco's own Solution Reference Network Designs, show naming examples like: "Phone_css" and "Internal_css". That works fine for a small lab setup, but you can quickly tell this naming convention isn't going to scale well in a large list of Calling Search Spaces.
I would encourage you to spend a little time up-front to save yourself a lot of headaches down the road. If your naming standard needs to change down the road, that is okay too. You can rename most things pretty easily in Cisco Unified Communications Manager. Sometimes is does require a reset on the objects, regardless, the system can adapt and change as your system grows.
Other advice for configuring Cisco Unified Communications Manager? Try has hard as possible to not tell yourself, "I don't need to write this down."