|
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. 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 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. |
Author: Pasha Teplitsky
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.
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?
How To Properly Configure Cisco CUBE HA
Cisco CUBE HA is becoming more prevalent with the CSR1000 or vCUBE, therefore with its popularity, learning how to configure Cisco CUBE HA has become an essential skill that UC engineers should have.
Continue reading How To Properly Configure Cisco CUBE HACisco SIP SRST Configuration
Cisco SIP SRST Configuration is the process of providing backup to external SIP Call control (IP-PBX) through the provision of the basic registrar and re-direct server or back-to-back user agent (B2BUA) services.
Continue reading Cisco SIP SRST ConfigurationConfiguring Options Ping on CUBE
Configuring options Ping on CUBE, and learning how to busy out a dial-peer when a SIP trunk goes down, are essential skills that UC engineers are expected to be good at. In this blog post, we will explore the different SIP options available.
Continue reading Configuring Options Ping on CUBESIP Response Codes Explained
Why don’t we start with some trivia?
Did you know that SIP response codes are based on HTTP/1.1 response
codes?
Actually, SIP response codes are the extent of the original HTTP ones and even define a new class with more response codes. I’ll let you know which one when we get to it.
That said, not all of the HTTP codes are relevant and mapped to SIP response codes, so if you know some HTTP, don’t expect to find them all in this list.
Continue reading SIP Response Codes Explained
Cisco SIP Gateway configuration: The Ultimate Guide
Connecting the Cisco IOS Voice Gateway to CUCM via SIP has been the preferred way to do it in the past couple of years.
The slowly dying H323 protocol (ISDN based) is not being developed anymore while SIP (HTTP based) became the industry standard for VoIP. So whenever PSTN connection is implemented via an IOS Voice Gateway, the choice should be really between SIP & MGCP.
This is how it’s done, step by step, using SIP.
Continue reading Cisco SIP Gateway configuration: The Ultimate Guide
CUBE Configuration Step-By-Step. Part 2
This is a second post in the series of CUBE configuration. You can find the first one here.
In this post, I’ll cover some of the more advanced issues and scenarios that most of us are facing with CUBE configuration.
