Search This Blog

Friday, August 28, 2015

Helios Integration with CUCM

     Over the last few days I have been fiddling with a Helios door control system that a customer wanted to implement.  Getting the Helios device itself setup appears to be fairly straight forward but I am in no way an expert on configuring the device side and thus won't offer advice or steps for that portion.  However, the CUCM side of things I can definitely post some useful content for those that are having problems getting their Helios up or just want some information.

Here is a list of things you need to have configured:
  1. End-User, preferably with CTI control and CCM End User access as this is how mine is setup
    1. Digest Credentials for the end user, not just a PIN/Password!
  2. Third-Party SIP Device (Advanced)
  3. DN must be set or the SIP device will not register
     So basically, you make an end user, set their password/pin if needed but the digest credentials at the bottom of the first portion of the end user config is most important.  These credentials will be needed by the Helios to register.  The next part is assigning CTI and CCM End User access.  Is this necessary? I don't believe so since other than a PLAR like functionality, the Helios doesn't need anything extra, still, I have seen some with issues and this fixed it for them so I enabled it anyways.

     The next thing you need to do is make a third party SIP device and make sure it is Advanced.  From here, put the MAC in, assign the end user as an owner, and then towards the bottom, make sure you set the digest user accordingly.  Next assign a DN, because as we know, in SIP, if you do not assign a DN it will not register.  While you are at it make sure the line as the proper CSS if needed to dial the number it needs to dial for PLAR style communication.

     Finally, go back to the end user that you made and make the end user control that device.  Once all of this is complete, check back on the device to see if it is registered (assuming the Helios side is already configured correctly).  From here all you should have to do is press a button on the Helios and it should dial straight down to whomever you set. 

Cisco MediaSense Recording

     For those of you that use MediaSense or are considering it.   I've never had the pleasure (or displeasure) of working with the system.  Basically, MediaSense lets you record conversations be placing it in between the IP Phone and the CUCM.  With the call recording, the media gets forked which basically duplicates the RTP audio and sends it to the Cisco MediaSense.  As of today, only the Cisco IP Phone and CUBE can fork the media.  The idea behind the CUBE is that it can record other SIP devices not Cisco related as well as two external calls like a cell phone to another cell phone (Think Mobile Voice Access). 

     Rather than type out an entire blog on the topic, you can go to this link here: http://www.voicecerts.com/2015/03/cisco-uc-call-recording-with-mediasense.html 
for more information and a better overview of what it does.  Additionally, here is the link to the EOS/EOL announcementfor 9.X.  Luckily, 10.X is out there so Cisco MediaSense isn't going anywhere.  I'd also like to point out that I had to amend this article as I had made a boo boo about saying MediaSense was being retired when in fact only 9.X was being put away.  Cisco continues to develop this technology. 


Monday, August 17, 2015

CUCM 9.X DRF/DRS Backup issues

I was doing an upgrade from CUCM 7.x to 9.x last Friday which lead to some headaches that I wanted to post here to help alleviate those issues on anyone else.  Long story short, we ran into to bugs that haulted the backup and restore process.  The first bug involved a 7.x license issue where it would tell us we could not upgrade during a licensing grace period.  This was completely bogus as the CUCM was fully loaded with DLUs and was not over the DLU count.  Cutting to the chase, the TAC engineer had to go in and delete a mylicense file in the root of CUCM.  The other workaround was to apparently use a v1.3 cop file instead of the 1.5 refresh.  The issue here? The 1.3 is nowhere to be found on Cisco's site and TAC wouldn't just give us the file.

The second issue was one where we tried to backup the new 9.x CUCM but only TFTP and two other options were backed up. There was no opportunity to select the CCMDB, MOH, ANN, etc.  At first we thought that since the backup was a 1 GB, which was larger than the 7.X backup, we were good to go.  TFTP generally just backs up the firmware if you were wondering.  Well, it turns out, that since 8.x, a bug occurs where, despite having all services activated and running, the backup options for the rest of the CUCM i.e. ELM, CCMDB, etc., don't appear.  The fix is to go into the control panel and manually deactivate the services then reactivate them.  Note I said deactivate/activate, not start/restart.  You must follow those instructions.  Once I did this, the issue resolved itself and we could pull a solid 9.x DRS.

Tuesday, August 11, 2015

A simple post about simple things in CUCM

     I figured I needed to make another post today.  It's been awhile and I like to keep things fresh when I have the time.  I have been knee deep in service tickets for a customer lately and have been trying to keep track of those one offs that people rarely encounter, but when they do, can never find an answer.  I figured today I would post some simple things about CUCM if you didn't already know.  For anyone that actually reads my blog, this stuff is very basic so if you are a CCNP Voice or a CCIE then you can probably read on because you are bored.  Nothing to follow will be of use to you if you are already at that level.

CUCM Phone Registration Unknown vs Unregistered:

     This one time and time again has come to me by junior voice initiates.  They find a phone that isn't working and assume that something is terribly wrong because it went unregistered.  The problem is, phones can go unregistered for a myriad of reasons from switch failures, network failures, the phone itself dumping, someone blocking traffic on the network, etc.  The key here is to check RTMT and see why the phone unregistered.  It generally gives you a cause code when you look at the syslogs of CUCM. 

     On the matter of Unregistered and Unknown, keep in mind that Unknown generally indicates that the phone has never been on the network...since the last restart of CUCM if it ever has been restarted.  What this means is that if you never restarted CUCM (assuming this is a fresh install since everyone reboots at some point) and the phone is Unknown you might want to check the phone and make sure it has power, the correct VLAN on the wall drop, and is programmed with the correct MAC address.

     When a phone is Unregistered, this indicates that the phone was on CUCM and registered at some point between before you logged in and since the last reboot.  Something has happened between then and now.  This could be something like a user unplugging the phone, the switchport being shutdown, etc.  Check to see if you can ping the IP address, if the phone still responds to ICMP but is failing to register, I would perform a reboot of the phone followed by a factory reset if that doesn't solve the problem. 

     As you can see, the two status messages of the phones indicate what steps to take in order to solve the problem.  My write-up is by no means an exhaustive list of things you can do.  You could always setup a packet capture with wireshark and see what is going on as well.  Maybe the phone is requesting a file upon boot that for some reason, it is not getting.

Monday, August 3, 2015

Unity Connection Voicemail distribution

Last week I was looking into a solution to fork voicemail to multiple outlook inboxes.  The reason behind this was that a general voicemail inbox for two people needed to go to both of them.  Natively, the voicemail would just sit on the phone itself since it didn't have an account associated.  Thus the problem as you can see. 

I sat around and did some testing.  Accept and Relay worked fine but you can only relay it to one inbox.  The work around here is to send it to a distro list so multiple people can get the voicemail attachment.  This works great if your exchange admin is around or is willing to make a distro list.  With red tape and other obstacles, I wanted a way to do this myself without needing someone else and thus my resolution assuming you are not forwarding something to the same domain.

So below are a few ways to handle this problem.  I will start with the extremely easy and preferable way since you can just make one change and be done.

In the above image, if you select a user/general mailbox and go to edit --> message actions you will come to this screen.  I set voicemail to accept and relay then typed in the relay address I wanted the voicemail to go to.  Keep in mind that your policies needs to permit whatever email address you put in here should it go outside the network.  This method is the easiest and most preferred as you can simply make a distro list and push it to that address and be done in 5 minutes.  This would require your exchange admin to help you since he/she has to make the distro list for you.


This image shows you a screen from Edit --> notification devices.  From here you can go to HTML and send the voicemail to an address or SMTP and send the voicemail to an address.  The only problem here is that it cannot be in the same domain as the Unity connection email domain.  So forwarding to something like gmail would work great here.  If you really wanted, you could then auto-forward that email from gmail back to another user elsewhere within the domain.  Pain in the butt? Yes it is, but it is a work around.

These methods are usable at the very least and can solve a problem if needed.  Honestly, option one is the easiest possible method and should be used.  I can see option 2 usable for users that need external access too if they ain't at their laptop or don't have their corporate email on their phones (who doesn't these days...).  It's a solution I thought worth keeping note of since I didn't know about it until someone on the CSC forums showed me.