Thursday, March 29, 2012

Adventures in Coding: Web Caching and C#

Continuing on my "lame-man's" journey down the road of application development on the .NET platform with C#, I thought I would discuss one of the more interesting lessons I have learned thus far: System.Web.Caching.

I was developing a custom Corporate Directory application for a customer using ASP.NET and C#. This application pulls data from a remote repository and presents it to the Cisco IP Phone as XML. One issue that was immediately apparent was that I needed to cache results or drive the users mad with the lag in rendering the data. In steps System.Web.Caching and all of the goodies that come with it.

Tuesday, March 27, 2012

Cisco CUCM RTMT Session Trace

For many moons the Cisco Unified Communications Manager (CUCM) Real Time Monitoring Tool (RTMT) has been a staple for CUCM administrators. I have always found the tool to be very useful and it has become increasingly powerful over the years. Recently, I have become remiss in my duties and haven't paid as close attention as I should have to some of the niftier features of RTMT. You get kind of used to going to same interfaces/menus/etc. Fortunately,  a colleague at one of my customers showed me the Session Trace interface. It was nifty enough to warrant a blurb I think.

Monday, March 26, 2012

CUCM SQL Queries: CDR Analysis (CAR)

In this week's installment of my series on CUCM SQL queries we are going to switch gears a little. Thus far, we have been exploring configuration data in the Cisco Unified Communications Manager (CUCM) Informix database. This week, we are going to take a look at another table: The billing data table in the CAR database (tbl_billing_data).

Monday, March 19, 2012

CUCM SQL Queries: NumPlan Partition Allocation

The fourth query in my series on CUCM SQL queries provides another example of using the count() function to get a view of the number of patterns allocated to each partition provisioned in CUCM.

Friday, March 16, 2012

Primary NI and International Number Type

This is just a quick note on a topic where I recently found closure. This is one of those things where you apply a configuration workaround, intend to find out why people do it this way but get distracted by just about everything. Recently, one of my customers ran into a situation that caused the topic to come up in conversation. Curiosity got the best of me and I made the time to dig deeper. Interestingly enough, I didn't have to dig around as long as I thought.

Anyway, let's get down to it: the "thing" I am talking about is an IOS command. The command is isdn map address ^011* plan unknown type unknown

Thursday, March 15, 2012

CUCM SQL Queries: Supplemental - Informix System Catalogs

I recently fielded a request on Twitter (@ucguerrilla) for Cisco documentation that covers the database schema and structure. This request is the inspiration for this supplemental entry to my series on CUCM SQL queries. In this supplement we are going to expand on the initial primer and demonstrate ways to use SQL queries to explore the system tables of the Informix database. When I have a need to get at data in Cisco Unified Communications Manager (CUCM) I leverage the Cisco's data dictionary along with some "exploration" of the Informix system tables. 

Monday, March 12, 2012

CUCM SQL Queries: List Phones and Line Appearances

The third query in my series on CUCM SQL queries provides a simple but effective query that dumps a list of devices and the directory numbers assigned to those devices. This is probably one of the first queries I learned (other than the basic "hello world-ish" queries). 

Sunday, March 11, 2012

Adventures in Coding - Fun with Corporate Directory

This is just a quick blurb pointing to a blog I published on the NetCraftsmen Site: NetCraftsmen Enterprise Directory Application. I have been working with Cisco UC solutions for a long freakin time a while. Prior to that I was doing routing switching (Cisco, Foundry, Juniper, etc.) and prior to that I was doing app dev (short lived). I have always worked in some custom app to help me with deployment, migrations, and operational tasks. It's how I "relax". As dorky as that sounds.

Recently I have started building a few applications that are being deployed by my customers.  Nothing mind blowing (yet) but the journey is always at least as much fun as the destination! 

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

Friday, March 9, 2012

Adventures in Coding: ASP.NET Links

Continuing my series on my "adventures in coding:", I wanted to post a quick "link blog". As with anything that is "new", you have to identify some resources you can use to get samples, guidance, etc. I haven't found a "home base" as it were, but here are a few links that I think come in handy:

I am sure this list will grow over time, but over the past two weeks I used the above resources. Once I find a good site, I like to use google to search the site. For example using the search term:


In my Google search bar lets me jump right to content I am most interested in at the time.

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

Thursday, March 8, 2012

CounterPath Bria for iPhone version 2.0.2 - Update

In January I posted a blog on my NetCraftsmen blog site discussing the CounterPath Bria for iPhone Version 2.0. During my testing of 2.0 I came across a few issues that were to be addressed in version 2.0.1. Version 2.0.1 hit the AppStore in early February. I loaded the app, looking forward to doing some testing in the home lab. Fortunately, I was delayed due to work obligations. I say fortunately because version 2.0.2 was released on March 3rd. Anyway, I wanted to give an update to my original blog.

Tuesday, March 6, 2012

Adventures in Coding: ASP.NET

I have always been a bit of a "mr. scripty pants", as my friend and colleague David Hailey likes to call me. Whenever I came across a task that was repetitive or not "do-able" via the standard tools of a product (primarily Cisco Unified Communications Manager), I would just  put together some code that did what I needed it to do. It wasn't always pretty, but it was functional. Some of the tools I wrote years ago are still being put to good use today. 

Anyway, a few months ago we had a project where we needed to develop some custom XML application for Cisco IP Phones. We could have outsourced the effort but I kinda wanted to do it in-house. I have written a handful of XML apps for Cisco phones, so I knew what was needed. I decided to use C-sharp (C#) and ASP.NET, which I have never used before. So, now a new blog series is born. As I muddle my way through learning, I figured why not share my novice revelations? 

Monday, March 5, 2012

CUCM SQL Queries: Device Pool Allocations

I was talking to a colleague of mine about hosting a blog series which focused on providing SQL queries that I use when I need to get data from the CUCM server. The second query in this series is a simple one: displaying the number of devices allocated per device pool.

Friday, March 2, 2012

CUCM SQL Queries: A Series

A couple of years ago I started a blog series on the AXL SOAP Toolkit that Cisco provides with Unified Communications Manager (CUCM). Recently, I was talking to a colleague of mine about starting a new series that simply focused on providing SQL queries that I use when I need to get data from the CUCM server. I figure, why not? So, I am going to go for a query a week. Let's see how it goes.


I suppose it is obligatory to make the launching of my new blog site "official". So, here goes...

I have been blogging on my company's (Chesapeake NetCraftsmen) web site for the past couple of years.  I came up with the idea of launching a personal blog site for two reasons:

  1. I wanted to explore content outside of my "core" job function at NetCraftsmen. 
  2. I think it is important to establish an individual identity.

I plan on maintaining both blogs as well as stepping up my blogging on the Cisco Support Community. I have read several blogs on how this isn't the best idea. I reject that reality and substitute my own. I feel that maintaining a blog for my favorite company (NetCraftsmen) and my own personal self (i.e. "me") is a fantastic idea. 

So, about My goal with this blog is to share not only some techie "how-to" but to bring my point of view on what it takes to design, deploy, and maintain a sustainable solution. That's key: a solution starts with the problem, the situation you are trying to solve - not the technology. I also plan on sharing a few things about "me" and various side projects that pop up along the way. 

If you have time and are interested, check out the blog I maintain at Chesapeake NetCraftsmen.