I had a licensing overage I couldn’t explain, so I asked AI to investigate.

I was looking at licensing numbers on a CUCM cluster last week and something didn't add up.

More device licenses consumed than users who should have them. Not a huge gap — but enough to make me dig.

So I asked Claude Code to check every phone's Owner User ID field against who actually controls the device — the controlled-device association in CUCM.

A minute later it came back with 13 mismatches.

10 phones had a blank Owner User ID. A real user still had the device listed as their controlled device, but the owner field was just… empty.

3 more had their previous owners still listed — people who'd left the company. The phones had been reassigned, someone updated the controlled device list, but nobody went back and changed the Owner User ID.

video preview

Here's why this matters beyond licensing.

CUCM uses Owner User ID for things like Extension Mobility login behavior, phone personalization, and — depending on your setup — which calling search space gets applied. When the owner field is blank or stale, you might not notice day to day. Phones ring, calls connect, life goes on. But licensing counts silently drift, reports stop making sense, and if you're running any kind of compliance audit, you've got a gap you can't easily explain.

The real problem is that this kind of drift is almost invisible. There is no downtime — it happens one phone reassignment at a time, over months or years. It's the kind of thing you'd never audit manually because who's going to open 200 phone configs and cross-reference the owner field against the device association table?

That's what made this feel different.

Claude Code found all 13 by running a single AXL SQL query — comparing the device owner against the controlled-device association for every phone on the cluster. Took 57 seconds.

Then it offered to fix them. I tested one first before committing to the batch. Confirmed the owner field updated correctly, confirmed nothing else changed. Then let it do the rest.

Finding the problem was useful. Fixing it in the same conversation — without opening a BAT file or going through devices one by one — that's the part I keep thinking about.

How long has it been since you checked Owner User ID on your cluster?

let me know what you find. I read every reply.

P.S. — Here's the SQL query if you want to check your own cluster right now but don't have an AI agent connected.
Run this from the CUCM CLI:

run sql select d.name as device_name, own.userid as owner_userid, eu.userid as controlling_userid from device d left join enduser own on d.fkenduser=own.pkid join enduserdevicemap m on m.fkdevice=d.pkid join enduser eu on m.fkenduser=eu.pkid where own.userid is null or not (own.userid = eu.userid)

If it returns zero rows, your cluster is clean. If it doesn't — well, now you know.

SIP 100 Trying Response Code for SIP Troubleshooting

SIP 100 Trying response code is part of the 1XX SIP Response Codes and one of the most commonly used SIP response codes in the SIP stack.

SIP works on a request-response model and 1xx SIP response codes are there to provide information on the status of network-related processes, SIP 100 Trying is one of them.

Continue reading SIP 100 Trying Response Code for SIP Troubleshooting

SIP 404 Not Found – Understanding SIP 404 Response Code

SIP 404 Not Found response belongs to the 4xx SIP code group.
A group of SIP codes that indicate a request failure and constitutes a number of codes used by SIP for communicating errors and failures.

In this blog post we will explore the SIP 404 Not Found response code and touch the different available SIP Response Codes.

But, first what is SIP?

Continue reading SIP 404 Not Found – Understanding SIP 404 Response Code

Using Wireshark SIP Analysis for VoIP scenarios

Troubleshooting VoIP issues can be troublesome. When something goes wrong, the lack of direct visibility as to what is occurring on the network with SIP and RTP packets can initially be intimidating to network and voice engineers. However, Wireshark SIP analysis turns ordinary engineers into superheroes, allowing them to see deep into the network and determine exactly what is happening.

In a series of previous articles, we took a look at several methods that can be used to capture voice packets on a network. We also introduced the Wireshark packet sniffing software, providing you with a solid foundation for understanding how captured packets are obtained and stored.

In this article, we’ll get our hands dirty by examining a real voice packet capture from a production network. We’ll go through the whole scenario, delving deeply into the details of the voice packets being exchanged. Let’s get started!

Continue reading Using Wireshark SIP Analysis for VoIP scenarios

Wireshark Packet Analysis – A Preparation for VoIP Analysis

When there’s trouble in the network, and voice services are suffering, those in need will call upon you, the networking superhero! As a superhero, you use your x-ray vision to zoom in to the microscopic world of voice packets, to perform a Wireshark packet analysis, and to investigate the malfunction and make things right. Then you will be hailed as the liberator and protector of the network!

Continue reading Wireshark Packet Analysis – A Preparation for VoIP Analysis

Using SPAN Port Mirroring for Wireshark VoIP Troubleshooting

Using SPAN Port Mirroring for Wireshark VoIP Troubleshooting

When I encounter a problem on a VoIP network that needs troubleshooting, I just wish that I had microscopic X-ray vision, like a superhero who is able to peer into the subatomic level of things.
It would be so advantageous to be able to instantaneously see what is going on with transmissions on the network.
When you experience voice quality issues, one way or choppy voice, or call setup problems, it would be great to be able to see, are the voice packets arriving? How are they arriving?
What kind of signaling is getting through and what is being blocked and where?
These are questions I wish I had instant access to, and this is what port mirroring is all about.

Continue reading Using SPAN Port Mirroring for Wireshark VoIP Troubleshooting

How to Solve Cisco IP Phone Voice Quality Issues. The step by step guide.

How to solve Cisco IP Phone Voice Quality Issues

You get a call from a user stating that they have experienced poor voice quality issues with their Cisco IP phone.
Your mind goes numb, your palms get sweaty, and your eyes glaze over. What do you do? Where do you start? It’s so much easier to deal with problems where something stops working completely, rather than trying to resolve an intermittent fault such as bad voice quality.

Why are poor voice quality issues so difficult to tackle?
It’s usually because there is a myriad of different causes, and the methodology to investigate those causes is not always readily or intuitively clear. For voice troubleshooters, it is important to have a battle plan in place to quickly zero in on causes of voice degradation and to diagnose, identify, and resolve them as quickly as possible.

This article will focus on this battle plan so that you can identify the problem quickly, and determine the first troubleshooting steps, which are often the most difficult to decide upon.

Continue reading How to Solve Cisco IP Phone Voice Quality Issues. The step by step guide.