Wednesday, July 2, 2014

CollabCert's CCIE Collaboration Bootcamp

Around a year ago I completed a 9 month journey to attain the CCIE Voice. There were a lot of ingredients that contributed to achieving this goal. One of the most valuable ingredients was the CCIE bootcamp program I attended. I am of the opinion that incorporating a bootcamp program into your IE training plan goes a long way to ensuring success. Moreover, my belief is that the effectiveness of an IE bootcamp program is primarily rooted in the abilities and effectiveness of the instructor not the company selling the program.

The instructor of my IE Voice bootcamp was Vik Malhi. Vik recently launched his new venture, CollabCertwhich is a training company specializing in the Cisco CCIE Collaboration track. I was invited to participate in the inaugural bootcamp of this IE training program. The following provides my thoughts on the bootcamp experience.

Thursday, June 19, 2014

Using SQL to Reconfigure a Dial Plan - Updating Directory Numbers

I have had this blog entry in the draft folder for quite some time. I decided to dust it off and bring it to the front of the queue after receiving the following query on Twitter:

@ucguerrilla got one for you.  Trying to update 1xxxx and 3xxxx in pt-Internal to 401xxxxx and 403xxxxx... any idea of sql query? :)
Can you accomplish this via SQL? Why, yes you can. About a year ago I completely rebuilt a customer's dial plan using 100% SQL. While I won't be discussing the ins and outs of all of that in this entry. I do plan on getting into the mechanics of doing broad changes to digit patterns using SQL.

Monday, June 9, 2014

Cisco Live 2014 Experience

I can't tell if time moves faster before, during, or after Cisco Live. It has been two weeks since Cisco Live 2014 in San Francisco, yet it feels like I was at Lefty O'Doul's just yesterday. 

Before it got too far away from me, I wanted to recap my experience. For no reason other than I feel "wrong" if I don't. This year, I think the best way to sum up my Cisco Live 2014 experience is to focus on how, over time, my connection with the Live! event has evolved from being a member of the audience to becoming part of the event.

Thursday, May 15, 2014

My Latest Project - Guerrilla Tools Sneak Peak

I came into 2014 with a goal to blog more frequently than I did in 2013. While I didn't have as lofty a goal as Tom over at, I was, shall we say, inspired. I planned on trolling through my "blog ideas" list to churn out some content.  Well, clearly the universe (or fate or whatever) had different plans and I had to adjust priorities. Free time was at a premium and I opted to work on a side project more often than adding content to the blog. Both would have been nice but coding has a calming affect. 

Yeah, I am that breed of nerd that finds solace tinkering with things like coding to center myself. We all need hobbies. Anyway, the side project I have been working on is starting to evolve into the real boy I hope it to be some day. I think it is far enough along to share with readers.

Right now, I am just calling the project "Guerrilla Tools". I'll probably rename it but that is a decision for later. The initial version is focused on functionality that complements one of the prominent series in this blog: the SQL Query Series.

Wednesday, May 14, 2014

Cisco Live 2014, Is That Really You?

 I am amazed at how fast May has arrived. I am definitely not what I would consider prepared for the annual pilgrimage to the convention that is Live! May is a tough month to be doing the convention thing. Graduations, kids in school, etc. etc..

Fortunately, I don't need to waste energy thinking about it. This thing is going off whether I am ready or not, and I am looking forward to the ride. I think this will be my 6th or 7th Cisco Live event (formerly Networkers). I guess I could pull out hats and do an official count but I am sure no one cares. 

This year will be my 2nd Live! event in San Francisco. I am sure this time will be far more rewarding than the first go around. I am really looking forward to seeing some of my colleagues that I haven't seen since Orlando 2013. I am also going to get to spend time with some NetCraft folks that I don't get to see often. We work together but, well, we work and that falls under the category " 'Nuff said".

The absolute best thing about Live is the first day. The nerd herd, in all of its triumphant glory descending upon the Moscone Center like we own the place. That is what I am looking forward to because it is the sign that Live! has started. A signal that sets the train in motion, gets the gears going -- mind alignment complete. A trumpet sounding an off-key tune that blasts a warning: "THIS house is OUR house.... for about a week, and then we'll leave you be. We promise...."

Before I get back to the grind I'd like to send a special thanks to Dan Bruhn and the team that runs the Cisco Support Community and the Cisco Designated VIP program. I appreciate the invite to participate in the program and the support in getting to Live! this year. You are all tops in my book.

If anyone wants to hookup at Live! send me a tweet (@ucguerrilla). I will be there starting Saturday.

Thanks for reading. If you have time, post a comment!

Friday, March 28, 2014

Using the Cisco UCM Route Next Hop functionality for Inter-Office Site Code Dialing

Most administrators of the Cisco Unified Communications Manager are probably familiar with the Hotline Feature that was introduced with CUCM 8.0. At least, that is my assumption. I also think that a fair number of people "discovered" the Hotline Feature on their quest for a solution to "black list" callers based on calling party number. Until recently, that was the #1 use case in my designs. 

A month or so ago, I was working on a design for a customer where the phones were deployed with an E.164 dial plan solution but dialing between office locations required a 3-digit site code prefix. The customer wanted to preserve the 3-digit site codes for calling and called party information elements. There are somewhere around 50 sites. So, we needed a way to gracefully handle any-to-any calling with a requirement to transform called and calling party information based on call origination and call destination. The following gives a summary of the technique applied to this problem.

Monday, March 24, 2014

Using SQL To Query Translation Patterns

For this installment of the SQL Query Series I am going to address a question posed in one of the comments I received from a reader. The reader asked: "how can I run a numplan query that shows all translation patterns with called party transformations".  Excellent question and it touches on one of the queries I use on a fairly regular basis. 

Friday, March 21, 2014

Using SQL to Report on Hunt Pilots and Line Groups

For this installment of the SQL Query Series I am going to address a question posed in one of the comments I received from a reader. The reader asked: "how can I get a list of hunt pilots and the line groups they are using".  So, we are going to provide a quick tour of how one can get at that information using SQL. 

Friday, February 21, 2014

A Mini-Adventure Using Expect to Query Voice Gateway Configurations

Many moons ago, I started a series on the NetCraftsmen blog site covering various "tools" in my UC toolkit . I never did finish that series out and I may pick it back up and carry it forward. I still get asked about it from time to time and a recent query got me thinking about some of the more useful tools in my toolkit: scripting/programming languages.

I don't want to get into the pros/cons of specific languages here. There are just too many options available and I am not fool enough to consider myself an expert on the nuances between programming languages or development environments. I'll leave that to those who live and breath this stuff.

What I want to do with this entry is emphasize the fact that the greatest tool you can add to your toolkit is "ingenuity". Sometimes you need to go outside of the box and create a solution to your problem rather than waiting for Cisco or some other vendor to solve your problem with a bit of software. 

Personally, if I can't find a way to automate a task using existing tools I wonder if I can build it myself. That doesn't always work (trust me) but it works more often than not and I find the process to be a lot of fun. Then again, I am a bit of a nerd and what I find fun usually isn't by most standards. That's cool, too.

Tuesday, February 18, 2014

Dealing with Provisional Response and SIP 183 Messages with SDP

A month or so ago, I was deploying a solution integrating SIP trunks from a CLEC with Cisco Unified Communications Manager (CUCM) and Cisco Unified Border Element (CUBE). While running through the ol' validation routine, I came across an issue with SIP provisional response. Normally, we wouldn't have hit this problem because of the way we provision SIP trunks. However, this time around the integration guide for the ITSP had a configuration requirement that hindered our ability to support provisional acknowledgements.

The interesting thing about this particular issue is that if you weren't looking for it, you probably wouldn't catch it. Normal call setup was working fine. But when you called certain numbers you would receive ringing when you are expecting the call to be treated with an IVR.

There are a couple of ways of dealing with provisional SIP responses. The following covers some of the techniques I tested/used.

Wednesday, February 5, 2014

Cisco TelePresence Endpoints and IP Address Dialing with CUCM

Cisco has been steering customers and partners to centralize all call processing on the Cisco Unified Communications Manager (CUCM). This includes video or we can call it telepresence, if you prefer. For deployments where the Cisco Video Communications Server (VCS) is in play with CUCM, Cisco has some general design guidance that is slanted to registering Cisco telepresence endpoints on the CUCM. The VCS being relegated to legacy endpoint registration, protocol interworking, and facilitating firewall traversal.

This is all well and good but there are gaps. One of those gaps is supporting the ability to dial an H.323 party by IP address. Dialing by IP address refers to the ability of an endpoint to set up a video session with a remote party by simply using the IP address. This method is natively supported by H.323 devices. SIP devices use a URI format for "dialing". While SIP URIs can certainly use an IP address as the suffix, that is not the focus here.

Tuesday, January 14, 2014

How Video Kills the Audio Call with Early Offer

This is a quick blurb regarding an issue someone emailed to me a few weeks ago. It is a pretty straightforward example of why one should pay attention to CUCM Region settings and interoperability parameters of your ITSP before you deploy Early Offer (EO).

Monday, January 13, 2014

Using SQL as a Phone Provisioning Methodology for CCIE Voice

"What is the fastest way to provision the phones for the CCIE Voice Lab?" That is a question I asked myself a lot during my preparation for the IE lab. I also saw this question posed by a fair number of fellow candidates on various forums. There are a lot of different methodologies that could be applied here, but the bottom line is you have to go with what you know. You need something you can execute consistently and rapidly. 

I tried a lot of different methods and came up with one that worked best for me. I originally planned to post an entry on my method and then stopped short because I thought the benefit of the method would be lost in blog format. When I thought about posting it again I was slammed busy and I figured that the new blue print is right around the corner. Timing is everything.  

However, recently I have received several requests from readers asking about the phone provisioning method I alluded to in other blog entries. So, I dusted off the draft and am presented it now. Hopefully, someone finds this information useful.

Friday, January 10, 2014

Congratulations to the Cisco Designated VIPs - 2014

Cisco recently announced the new Designated VIPs for 2014. The Cisco Designated VIP program recognizes the top external individual contributors in Cisco's online communities, including the Cisco Learning Network (CLN), the Cisco Support Community (CSC), and the Cisco Developers Network (CDN). You can read all about the VIP program and discover the Cisco Support Community (CSC) here.
This is the fourth year for this program and I am happy to see the Cisco team running the program keeping it alive an well. The CSC is, without a doubt, the best online resource for getting support and information on Cisco technologies. The Cisco team that works behind the scenes of the CSC are an outstanding group of individuals who really care about establishing a robust and sustainable collaboration environment. 

The best news (from my point of view anyway) is that I was selected as a Cisco Designated VIP for 2014. I didn't make the cut for 2013 (I'd like to use my pursuit of the CCIE as an excuse, if you'll allow!) and it feels good to be back in that circle of outstanding talent. There are 36 VIPs this year! That is amazing and definitely demonstrates that the community is alive and well.

I'd also like to take a moment to congratulate the other designated VIPs. I am in great company and you all make me look good, keep it up because I need all the help I can get! I'd also like to thank a few of the VIPs for taking the time to help me out of a few jams. Thanks to Aaron, Anthony, Huff, Jonathan, Martin, Chris D., and of course my brother, David Hailey. 

While I am at it, hats off to my fellow Chesapeake NetCraftsmen colleagues Rick Burts and David Hailey for also making the cut. 

Thanks for reading. If you have time, post a comment!