Using SQL to clean up Call Manager pt3

See Parts 1 and 2

If you’ve been following me in this 3 part series, you know we started off with around 700 dependencies on a CSS that no longer fits our standard. It was in use by various things and we leveraged SQL to quickly, efficiently, and safely remove it from use. When we finished part 2, the only things still referencing our css were directory numbers. Well, we actually have 2 CSSs we’re going to clean up today.

As usual, we’ll begin with a count.
dependency records

dependency records Continue reading “Using SQL to clean up Call Manager pt3”

Using SQL to clean up Call Manager pt2

See Part1: http://longoconsulting.eoreality.com/wp/2017/04/29/using-sql-to-clean-up-cisco-call-manager/

Previously we had around 700 dependencies on a CSS that no longer fits our standard. This CSS was in use by lines, devices, and users throughout the system. In part 1 we removed this css from the users, now we need to do the same for the devices.

Continue reading “Using SQL to clean up Call Manager pt2”

Using SQL to clean up Call Manager pt1

So, at a client of mine that we will call PRO, we had a Device-CSS which seemed to be the default css for pretty much everything, including presence subscription, even though PRO-Subscribe-CSS exists. Well the PRO-Device-css also used a lot of legacy stuff from the PRI days. I wanted to clean it up and swap things to follow the standards we had implemented, which required naming based on the line of business, location, and use.

First I modified all the templates to remove the PRO-Device-CSS usage and replace it with the appropriate css.
Next I check dependencies, assuming there couldn’t be that many things…

dependancy records

Continue reading “Using SQL to clean up Call Manager pt1”

Asterisk integrations with Cisco UCM – MWI

I simply forgot MWI wasn’t working since I get an email and just delete the message via email after listening! My daughter asked me why she never knows if she has a voicemail (she doesnt have usable email) and it prompted me to fix it. I’ll post what I did and how I did it shortly. Since call manager doesn’t inherently support authenticated sip trunks of course, no google voice integration, i’ve used my Asterisk server (running since 2002) as my Gateway for sometime. When I got my hands on a few 88xx, 8945s, and a dx650, I decided to setup call manager. To keep everything smooth, I just send everything to Asterisk and let it route to the cloud. Asterisk also provides my voicemail capability for the asterisk phones (my parents, a few military friends, and a few friends who would like to call locally within the US) and the Cisco phones. Calling into voicemail and diverting calls to voicemail is extremely basic so I won’t discuss this at all, but MWI stumped me. Asterisk handles MWI pretty differently from Unity Connection and I struggled with it for a bit. After an hour of internal server errors I decided to try scripting.

Prior to the scripting, I went ahead and created my MWI off and on DNs, 191# and 192# respectively. Dialing this from my Cisco phones would turn on or off the MWI successfully. So my thinking was, alright, a call comes in to asterisk, routes to cisco whereupon the timeout is hit or i decline the call. this sends a sip message back to asterisk which i use to send the call to the busy or unavailable voicemail recording. I needed to launch a script any time I dialed into voicemail or someone left me a voicemail. After some digging through my asterisk book and the subsequent verification that the options still exist in Asterisk 13, i stumbled upon externnotify for voicemail.conf. This let’s you specify a script to launch anytime voicemail is accessed.

Continue reading “Asterisk integrations with Cisco UCM – MWI”

Upgrading windows server and lack of redundancy

TL;DR Redundancy is important!!!

I enjoy projects and sometimes when I can’t afford new projects I just make something up. In this case, I’ve had an AD Domain Controller on Server2012r2 for.. around 4 years now. All the systems, both windows and linux, are joined to the domain. Permissions are controlled solely by group membership in AD and things work great! The domain controller is also the DHCP and DNS server for the domain (as you might expect since I have a DC…) Anyway, I decided hey, it’s 2017, why am I still running server 2012r2? Let’s upgrade to 2016! Well, I’ll kick this off by saying upgrades are the worst, I never do it and I steer clients away from it all the time. Sadly, I was lazy and I did an upgrade. It actually went very well, I had to do a couple extras but very smooth over all. I still plan to do a clean rebuild in the near future.

On to the actual issues (sorry, we will be lacking some details, but upgrading windows server is very smooth, there isn’t much for me to say about it unless requested… As I mentioned, this server also provides DNS. Since most machines on my network are Windows, which caches DNS by default, I didn’t think taking DNS down would be a big deal. Well, I was wrong, so wrong.
Continue reading “Upgrading windows server and lack of redundancy”

CUCM Licensed Users (9.x+) using SQL

A client was facing some licensing issues with shared devices. After a discussion, we decided to create a local user account for this particular location. Using this local user account, we would assign all generic shared devices (waiting room, lobby, hallway) to this user and save a bunch of enhanced licenses by properly utilizing CUWLs.

I provided some guidance and a local admin began the process of clicking a phone, setting the user, saving and picking the next. Obviously this is pretty painful and slow. I decided to see what we could do to speed the process up.

Continue reading “CUCM Licensed Users (9.x+) using SQL”

SRST-CME -> CME nightmare

Today, I was working with a client at a remote location. Initially, we prepped a Cisco 4331 to be installed as an SRST-CME device. This particular site has a PRI and a relatively unstable WAN connection. I prepped this router in a different location as we expected no WAN connection once it was installed.

As it turned out, the PRI got turned up much earlier than expected, so now we needed to get the phones registered to the router. Well, as some of you may know, you can’t configure a router for SRST-CME AND CME at the same time. Thus begins the process of removing the SRST-CME config and prepping the new config.

Continue reading “SRST-CME -> CME nightmare”

Cisco Expressway DNS and Ports

Today I was working with a client who was facing some MRA issues for their 8841 handsets and Jabber. I’ve found that typically the issues are around certificates, but this client’s MRA worked sporadically. I pondered this for a few moments and asked the Network Admin to check the ports on the firewall.. as it turned out, he didn’t have access as this was tightly controlled by security.

As much UC consultants know, network security handled by non-network saavy people, usually turns out to be a complete pain in the ass. No change here. We’ll bulletize the conversation for ease of reading, it starts with me.

  • nmap the IP from the outside
  • what’s nmap?
  • ok telnet to each port on the ip from the outside
  • I can’t find telnet on my machine and I’m not an admin
  • OK I’ll write a script

Continue reading “Cisco Expressway DNS and Ports”

PC for my kids

A little background. I have a 7 and 4 year old who like playing on the computer. Typically they play things like animaljam or nickjr games, very simple requirements, minimal hardware needs. One day, the horror that is minecraft crept its way into my home and suddenly, graphics (seriously? in minecraft, it’s a bunch of blocks…) mattered.

At this time there was my old pc with a GTX 460, an SSD, 16G ram, and a nice CPU running windows 10. Beside this system was a Dell Latitude e6510 with a regular 5400 rpm hdd, 4G ram, and a trash cpu running Linux Mint. On minimal graphics settings and fullscreen, minecraft was just almost playable on the laptop, but there was always a fight for the big computer.

Being tired of tracking who was on it last, I tried to think up an idea to resolve this issue while creating a fun project for the kids and I. I came up with a plan to build one system, stick ESXi on it and use pci passthrough to make 2 “thin clients.” The 7 year old would assist in building the PC and the 4 year old would affix the typical stickers that come with systems as she wished.  Here begins the story.

So I began doing some research, obviously there are some requirements such as VT-d and VT-x to properly support pci passthrough. After thorough research on anandtech, toms hardware, and various sites about doing similar projects, I decided that I knew better than all these people and went rogue.

Continue reading “PC for my kids”