Showing posts with label CUCM. Show all posts
Showing posts with label CUCM. Show all posts

Tuesday, July 21, 2015

Centrally Refreshing Jabber Contact Photos in MRA Deployments

I have assisted several customers with Jabber deployments lately. Almost all of them driven by the desire to implement Mobile and Remote Access (MRA). Provisioning MRA is not the topic of this article. Instead, I wanted to touch on an operational task that has annoyed me for some time. 

The issue is with caching of Jabber contact photos. Windows and Mac Jabber clients are coded to cache various things. I assume this is an effort to minimize network transactions and optimize client performance. One of the elements cached are contact photos. I have no problem with caching but, in my experience, the issue is that old contact photos tend to be permanently cached and I can't easily (i.e. centrally) force a refresh. 

I played around with some options and found a method that worked in some test environments and my own production environment. Maybe this will work for others. I would be interested in hearing about other options. Please use the comments to enlighten me and others!

Monday, July 20, 2015

Heads Up, Issues with UCM SIP Processing on 10.5(2)SU2 and 11.0

Users that recently downloaded Cisco Unified Communications Manager (CUCM) 10.5(2)SU2 [10.5(2.12900-14] or CUCM 11.0 [11.0(1.10000-10)] may have received an email from Cisco alerting them that these versions have been deferred due to some serious defects. If so, then good for you. If you ignored the e-mail then you receive the wag of the finger.

Maybe, you are managing a system affected by the defects we are going to discuss but you weren't the one to download the files. Well, in that case, you wouldn't have been alerted. In all cases, if you have installed 10.5(2)SU2 or 11.0 and are running SIP then you want to heed the warnings and look at applying the appropriate fixes. 


Thursday, April 2, 2015

Using SQL To Survey Phone Station Line Appearances

A reader comment on one of the entries in the SQL Query series asks the question:


I have multiple lines associated to the same phone and i'm trying to write a query to get only Line [1] "main line" ,any help please ??
We talked about querying line appearances associated phones in one of the early installments. Now we want to turn some extra knobs to focus on specific data views. I want to provide an example query to address the readers question and also touch on another, related query to show an example of how we can find anomalous data in our UCM solution. 

There are lots of ways to look at Device/Line associations. Especially if you get into the business of identifying user/line and Directory URI associations. We won't get into all of that in this installment but I think it is a good thread to follow. So, let's consider this a "Part 1" for the time being.

Friday, February 27, 2015

CentOS Recovery Use Case 5: Downloading the Tomcat Certificate Private Key

recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. 

So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: Downloading the Tomcat Certificate Private Key.

Thursday, February 26, 2015

CentOS Recovery Use Case 4: Fixing Errors with Custom Announcements

I recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. 

So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: Fixing Errors with Custom Announcement Uploads.

Wednesday, February 25, 2015

CentOS Recovery Use Case 3: Fixing TFTP Custom Ring Tone Issues

I recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. 

So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: Fixing the TFTP Custom Ring Tone Issues.

Tuesday, February 24, 2015

CentOS Recovery Use Case 2: License Expiry Issue

I recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. 

So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: Fixing the License Expiry Issue.

Monday, February 23, 2015

CentOS Recovery Use Case 1: Modifying License MAC Addresses

I recently published a blog entry on how one could use the CentOS distribution and Recovery process to access the Cisco UCOS root file system. As noted in the initial blog, this isn't a new revelation. I originally was going to provide a group of use cases in the "primer" but decided that it was a little too long. So, I am breaking the use cases out into individual entries. Who knows, over time this may become another series. For now, let's focus on one of the CentOS recovery use cases: preserving a license MAC in your lab or staging area.

Sometimes You Have to Use the Backdoor: Using CentOS to Access Cisco UCOS

It is the middle of the night and you are in the midst of a change control when you run into a brick wall. The kinda wall that can ruin your entire weekend. At a minimum, you have added at least a few hours to the process and boy you are not happy about that. 

Sometimes you just need more access than "the man" wants to give you and you don't want to wait for some tech support engineer to get on the phone to do something you can damn well handle on your own. Yes, sometimes you have to reach into the unconventional pocket of your tool belt and break off a little somethin'-somethin'. This series provides the necessary tools to get access to the Cisco UCOS root file system so that you can get the job done. 

Saturday, February 21, 2015

Software Defect Could Affect Custom IP Phone Service URLs

This is just a quick note on a software defect on Cisco 8800 series IP phones that could break normal operations for custom Cisco IP Phone Service URLs. The issue is documented in Cisco software defect CSCur13256 and may break IP Phone Services running co-resident on a web server (such as Microsoft IIS).

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.

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 networkingnerd.net, 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.

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).

Wednesday, October 2, 2013

Checking Peer Firmware Sharing using SQL

For this installment of the SQL Query Series I am going to keep it short and sweet. I was recently doing implementation planning for a project where we need to update the firmware on a few thousand phones. One of the things we like to do is leverage Peer Firmware Sharing to shorten the time needed to push out firmware upgrades. 

One of the pre-requisites to leverage Peer Firmware Sharing is to actually verify it is enabled. This is the perfect job for SQL.