Downgrading Cisco 3750 Switches


As much as I enjoy my 3750 switches and their stackability, I haven’t had much love from the 15T of IOS images. High CPU, counters that show high drop rates (Bug CSCtq86186), etc….
So, I have been downgrading some code. So much fun since it could change the microcode at the same time and take what seems like forever to reboot.

Anyway, it is quick and easy to downgrade/upgrade these guys, the quick and easy…

Log into the switch after you have the image you want and issue the following command:

switch# archive download-sw /overwrite tftp://ip_address/
The /overwrite switch is a little scary since it does delete the existing image before installing to flash, but some switches just don’t have the size needed to keep more than one image.

Watch it load…isn’t this the fun part? Wait until you see the following:

All software images installed.

I still like to make sure since I am always paranoid. I check flash: and the boot commands to make sure the correct image is ready to go:

switch#: show flash:

Directory of flash:
/ 2 -rwx 1996 Mar 30 2011 01:48:06 +00:00 vlan.dat
536 drwx 512 Mar 30 2011 02:08:27 +00:00

switch# show boot

BOOT path-list : flash:/

Once satisfied, do the reload and wait….wait….wait. 🙂

switch# reload

I have had a stack ‘forget’ my credentials, so I went through a password recovery (oh, the fun there). Let’s hope you don’t go through that loveliness…especially around midnight since you are doing this during a scheduled maintenance window…right?

If you happen to run into this gem after extracting the files into flash:

The image in the archive which would be used to upgrade system number 1 does not support the same feature set.

Add the /allow-feature-upgrade to your archive command:
archive download-sw /overwrite /allow-feature-upgrade tftp://blah.blah.blah

Check this helpful post out regarding that error:

Not All PRIs Connect to Telcos…

Just another day at the office...

Occasionally in voice world you end up configuring PRI connections to devices other than telco gateways. Sometimes these are PRIs between PBXs, fax servers, or other third-party vendor voice gateways for applications. These are typically connections internal to the organization versus a PRI to the outside world. Many times these require you to think just a little bit differently than your standard PRI turn-ups to get to that fabulous MULTIPLE_FRAME_ESTABLISHED goodness.

I’ll offer you a few things to look out for should you find yourself in this type of situation.  Keep in mind that no voice installation is ever *standard* so your mileage may vary.

1. T1 crossover cable. It’s a thing.  Often times the vendor bringing in their voice gateway will tell you things like “it’s just an RJ45 hand-off” or “just provide us a straight-through cable” but don’t believe the lies. More often than not in cases where you are…

View original post 627 more words

Cisco Catalyst Switches


First…has it really been a year? Sheesh, I’m behind.

Tooling around with my latest 3750 stack and started playing with the idea of saving some time with the configuration of the new switches I have to deploy. I am sure there a lot of people out there that have used these in the past (other than the default macros already on the switch) and use them on a regular basis, but I never really thought about customizing some until recently.

I am talking about macros on the switches. Definitely makes life easier if you configure ports on a regular basis that are repetitive. I know about the interface range command to configure port groups, which is great, but have you heard about the interface range macro? Basically, you define a range that can be used more often than not. I instantly thought to myself…Self, I said…why don’t you create an interface range macro to group all ports in a group to configure all ports on a new switch? Just have a template with your interface range macro and copy that into the CLI when you are first configuring the switch. Just have your range defined:

define interface-range ALL_PORTS g1/0/1 – 48

Now when you are ready to configure all of those ports the same way, say user access ports, just type in:

Switch(config)# interface range macro ALL_PORTS

Now you are in interface range mode and can configure all of your ports. But…don’t stop there. Have a macro in the same template (text file, if you will) that you have already copied into your switch as well.

macro name 8021X_PORT
switchport mode access
switchport voice vlan X
switchport voice detect cisco-phone full-duplex
authentication event fail action authorize vlan X
authentication event server dead action authorize vlan X
authentication event no-response action authorize vlan X
authentication event linksec fail action authorize vlan X
authentication port-control auto
dot1x pae authenticator
dot1x timeout tx-period 8
dot1x max-reauth-req 1
spanning-tree portfast

So…now that we have both the interface range macro and your port macro, you just apply the macro to the interface range macro and off you go:

Switch(config)# interface range macro ALL_PORTS
Switch(config-if-range)# macro apply 8021X_PORT

To break it down into steps when you are configuring ports on a new switch:

1) Copy interface range macro and port macro to config
2) Go into interface macro
3) Run port macro on interface range

Now all of your ports are configured and you’re off…configuring your other options. 🙂 If you want to get more granular on your port vlan that is applied, you can configure variables, but that would be another post.

Now, go…go configure some switches while playing with macros.

Until next time.

Connection Message Archiver


Just after discussing with @amyengineer (Her blog) early last week regarding an easier way to pull voicemails from Unity Connection, I found about this handy little tool that is released on just earlier this month!

This tool is fantastic. Just a quick run down of the tool here, but you can watch the 5 minute video on the site which pretty much walks you right through it. This tool couldn’t be any easier. However, there could be more features, which they are intending to add I believe, such as being able to retrieve more than one voicemail at a time.

Basically, you install your database drivers on the machine you are going to connect with, make sure the Connection Database Proxy service is activated and running and off you go. Here are some quick steps with screen shots on how to use this lovely tool.

Open the Archiver tool and you will see this screen:

Enter your Unity Connection server address and the user account you have created to pull the messages. This needs to be a user account that does not have a mailbox. I created an Application User in Call Manager and imported over to Unity Connection since I am running an LDAP synced Business Edition.

Once authenticated, you just need to click on the Search button to get started:

Choose how you are searching (Alias, Extension, etc.) and click Search:

Now that the fields are populated with the information necessary, click on the Next button:

It will now load the mailbox and you can choose which messages you want to list, Inbox, Delete or Both folders:

Now that the messages are listed, choose a message to archive and click the Archive button:

It will ask you if you want to view the EML file, click Yes and it will bring up Explorer in the directory.  Notice the path of the files…under the install directory and into a folder named with the user name. The files are named starting off with the date and time of the voicemail:

Double click the file to open it with your default mail viewer (Outlook) and double-click the attachment to review the message:

This tool could not be any easier to use and I am looking forward to updates with more options. Definitely a must have tool!

Cisco WLC and AP DHCP Options


For Cisco AP’s to get registered to a WLAN Controller on a different subnet, you have to do a bit of work on your DHCP server. This is where it gets interesting.

I found an article online from Cisco that you can follow to get these AP’s working with your WLC. You can find that article here.

The one thing I did differently in the Predefined Options was instead of using Binary in the data type, I used IP Address and then edited the Array to include the IP Address of the WLC. Then in the scope options, the IP address has been specified and is good to go.

The AP gets the Option 43 to get the files from the WLC and then registers after any firmware upgrade the controller could be offering.

All set and good to go.

Cisco Call Manager Express Phone Times


I had a buddy of mine ask me about making sure the time on his routers were correct on his CME boxes because the phone times were off. I recommended setting up an NTP server and syncing to that…and here was the instructions I gave him.

First of all, we need to make sure your time zone is correct.

Log (SSH) into you router and go into config mode and enter these commands:

 router(config)#clock timezone GMT -6
 router(config)#clock summer-time CST recurring

Then, you could either change the time yourself or configure an NTP server. If you have a Windows 2008 server, I would set it up as an NTP server and configure the router to check with it. Here is an article we followed to get the server to be an NTP server locally:

Then on your router in config mode, do the following:

 router(config)#ntp server x.x.x.x prefer

It will take a bit for the router to sync to an NTP server, and quite frankly, you are probably better off to set the time manually after you configure the NTP server since sometimes they don’t want to sync if they are too far off. So, to set the time manually…you actually don’t have to be in config mode, just at the enable prompt.

 router#clock set 08:20:00 2 October 2012

To check to make sure it took, just enter this command…it will show your current time and date and whether it is manual or NTP synced:

 router#show clock detail

 08:25:35.826 CST Tue Oct 2 2012
 Time source is NTP
 Summer time starts 02:00:00 GMT Sun Mar 11 2012
 Summer time ends 02:00:00 CST Sun Nov 4 2012

You should probably check your time zone in the telephony-service portion as well since this is where your phones check for their time zone:

 router(config-telephony)#time-zone ?

This will bring up the number you need to put for what time zone you need:

 router(config-telephony)#time-zone ?
  1-56  select timezone name used by IP phones (offset in minutes)

1 Dateline Standard Time -720
2 Samoa Standard Time -660
3 Hawaiian Standard Time -600
4 Alaskan Standard/Daylight Time -540
5 Pacific Standard/Daylight Time -480
6 Mountain Standard/Daylight Time -420
7 US Mountain Standard Time -420
8 Central Standard/Daylight Time -360

So, for Central, it should be:

router(config-telephony)#time-zone 8

That should correct the time on the phones, but you may need to rebuild the cnf files. Still in telephony-service mode, issue these commands and it should help correct the time on the phones.

 router(config-telephony)#no create cnf-files
 router(config-telephony)#create cnf-files

That should fix you up!