PC for my kids update

See the original post here: PC for my kids

I’ll start off with the bad news. After the two win10 vms were running perfectly for over a year now, I was running updates on my other linux servers… some how i did pay attention and upgraded the distro of my kvm box. It pretty much ruined everything, now I get stuck at the windows logo during boot. I even tried simply reinstalling the vm guest, but when the kvm booted from the win10 iso, it would freeze at… you guessed it, the windows logo.

I spent a little time trying to work through this, but nothing really helped. Eventually, I decided to do a full rebuild which brings us to this post.

Continue reading “PC for my kids update”

Bulk changing incorrect css for unassigned DNs

Today I was cleaning up some CSSs for a client. I came across a particular css that had been erroneously assigned as the line css for a bunch of unassigned DNs (they were precreated to show they were already in use). Of course, I went to BAT first to see if I could just update the line css of the lines, but I discovered that I couldn’t affect the unassigned DNs (even though there is an option for searching unassigned dns…)

Anyway, as you can guess, I jumped into SQL to see what I could do.

1) Determine the pkid of the erroneous CSS

admin:run sql select pkid from callingsearchspace where name="Long-Distance_CSS"

2) Determine which phones are using the CSS (can compare against dependency records) using a select statement. I already know the css name is “Long-Distance_CSS”

admin:run sql select dnorpattern as dn, name as line_css from numplan inner join callingsearchspace on numplan.fkcallingsearchspace_sharedlineappear=callingsearchspace.pkid where callingsearchspace.name='Long-Distance_CSS'

This returned 34 results which matched up with the dependency records.
3) Determine the pkid of the line CSS that SHOULD be used. The name is “line_long-distance_css”

admin:run sql select pkid from callingsearchspace where name="line-long_distance-css"

4) update these to be the proper pkid. We know from above that the erroneous PKID is 77f5f4de-f98c-1a13-728c-402623cb9ca0 and that the correct PKID is 6d5ae38b-bcb3-1453-a3b0-ce328d8c3699

admin:run sql update numplan set fkcallingsearchspace_sharedlineappear='6d5ae38b-bcb3-1453-a3b0-ce328d8c3699' where fkcallingsearchspace_sharedlineappear='77f5f4de-f98c-1a13-728c-402623cb9ca0'
Rows: 34

As you can see, our update statement affected 34 rows, which matches the number of results from step 2. Now we verify that the erroneous CSS isn’t in use.

0 Record(s) are using Calling Search Space: Long-Distance_CSS 

Looks good! This was a short example here, but SQL saved me a ton of time from manually changing 34 records. I probably could’ve exported the numbers, filtered the excel, and then import/update, but using SQL was MUCH faster.

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”