Saturday, December 28, 2013

Final post of 2013

Each year, there is a special feeling that comes to me as the final week of the year approaches.  Christmas followed by a week of late night Christian movies on Netflix and sitting in the dark listening to music off our Pandora channels until 4 to 5 AM every night.  This is by far my most favorite week of the year, every year!  I literally can not wait for this week to come.
A small note about the blog. I had 270 posts this year on this blog. I'm hoping 2014 will bring more posts than 2013. Since I'm going back to consulting, I should have plenty of material to write about. If you would like to do a guest post on this blog, feel free to contact me. Keep coming back to Network Fun!!! for more tech talk. I'm always glad you stop by here.
I hope you are enjoying then end of your 2013 a much as I am.  I also hope that 2014 will be all you want it to be in your life. May God bless you! Let me say that again. May our God bless you, beyond measure! May He shine His face upon you, and bring you peace.

Tuesday, December 24, 2013

Merry Christmas

Merry Christmas to everyone tomorrow.  Please know that the promised Savior has come and done all the work for us there was to do to obtain salvation.  Its the free gift of salvation.  All you have to do is just accept the free gift, just like any other Christmas gift.  That is all.
This chorus is from a song I have recently heard from the group 'Downhere'.  Its called "How Many Kings".

How many kings step down from their thrones?
How many lords have abandoned their homes?
How many greats have become the least for me?
And how many gods have poured out their hearts
To romance a world that is torn all apart
How many fathers gave up their sons for me?
Only ONE did that for me!

Jesus (Yeshua) is the one who did that for me and for you.  Again, Merry Christmas to all.

Deuteronomy 18:15-18
15 The Lord your God will raise up for you a prophet like me from among you, from your fellow Israelites. You must listen to him. 16 For this is what you asked of the Lord your God at Horeb on the day of the assembly when you said, “Let us not hear the voice of the Lord our God nor see this great fire anymore, or we will die.”
17 The Lord said to me: “What they say is good. 18 I will raise up for them a prophet like you from among their fellow Israelites, and I will put my words in his mouth. He will tell them everything I command him. 



Monday, December 23, 2013

Brocade ICX6650: A Great Top Of Rack (ToR) Choice For Data Centers

I have not talked about this model before, but there is a lot of power in this top of rack unit.  I was just looking over the hardware specs on this ICX6650 and I like it.  I could easily see this as a nice a data center switch for a medium/large size company.  Not to mention with all the video/voice/application demands these days, this is an excellent choice for performance, not only for now, but for well into the future as well.  Lets look at some hardware specs:




Saturday, December 21, 2013

OSI Model: How Data Gets Encapsulated And Moved Across The Wire

I found this while doing some leisure network reading and, again, because Im a visual learner, I thought this might be interesting for those interested.
When you send data from your computer, the information goes "down" the protocol stack from application to physical layers (7-1).  The packet goes across the Cat5 and is received on the far end PC (or whatever).  NIC gets it and is decapsulated "up" the protocol stack.  Interesting stuff.

Thursday, December 19, 2013

What Is The Difference Between Half-Duplex and Full-Duplex Data Transmission?

I had someone ask me this recently, so because Im a visual learner, I found this representation of both half-duplex and full-duplex.  See the difference in how these two work across the wire:

Wednesday, December 18, 2013

ACME Net-Net: Console Cable Makeup

I thought, when I started working on the ACME Net-Net devices, that I could probably use a Cisco console cable and I would be just fine when trying to console into the 3820 ACMEs I have.  However, that was not true.  Instead of a roll over cable, which Cisco uses, I had to use a regular Cat5 patch cable to connect to their adapter that comes in the box.   With that said, there are two console ports on the Net-Net.  One in the front, and one in the back.  The default is the one in the front (pictured below), not the back.  Make sure you plug into the front, because you have to tell the ACME to use the back if you want that one.


Tuesday, December 17, 2013

Who Are You And What Do You Like To Do?

Something I have learned a while back, but have been recently reminded of, is that you want to make sure you consider your own personality when choosing where you want to go to work at AND what you want to do.  This plays an important part in your happiness.  With that said, I recommend two things:
1.  Figure out for sure what personality TYPE you are, without any questions.  Take a free online test based on the Jung/Briggs/Meyers research and find this info out about yourself.  You will be richly rewarded for discovering WHO you are and WHY you are the way you are.  I know this has helped me tremendously.  Take the time to do the research.  Just google 'personality test jung', and you should find plenty of free online tests.
2.  Find a job/career that goes hand in hand with your personality type.  Simple as that.  For me, I find that IT consulting is my thing.  For you, it could be something totally different.  Either way, do yourself the favor and figure out what careers line up with your personality type.  This will enrich your life greatly since you have to spend at least a third of your life working.

This not only will help you with your work life.  It will help you in ALL of your life.

Monday, December 16, 2013

Cisco: What Is The "Deferred Counter" In A Router Or Switch Interface?

This question came up as well around the topic of the 'late collision' pursuit.  Here is the 'deferred counter' definition:

The Deferred Counter

Here is an example of output from the show interface command:
router#show interface ethernet 0
Ethernet0 is up, line protocol is up 
  Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)
  Internet address is 10.200.40.74/22
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: random early detection(RED)
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2058015 packets input, 233768993 bytes, 1 no buffer
     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored
     0 input packets with dribble condition detected
     298036 packets output, 32280269 bytes, 0 underruns
     0 output errors, 10 collisions, 0 interface resets
     0 babbles, 0 late collision, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
The deferred counter counts the number of times the interface has tried to send a frame, but found the carrier busy at the first attempt (Carrier Sense). This does not constitute a problem, and is part of normal Ethernet operation.

Saturday, December 14, 2013

Cisco: What Is A "Late Collision" In A Router Or Switch

When I posted the 'collision/duplex mismatch' posting (click here to see it), I asked some IT guys that I work with what the difference between a 'collision' and a 'late collision' is.  This caused quite a stir here, and in reality, none of us really knew the answer to that. So we did the research.  If you are wondering what the difference between a 'collision' and a 'late collision' is, here is the answer, per Cisco:

Late Collisions

To allow collision detection to work properly, the period in which collisions are detected is restricted (512 bit-times). For Ethernet, this is 51.2us (microseconds), and for Fast Ethernet, 5.12us. For Ethernet stations, collisions can be detected up to 51.2 microseconds after transmission begins, or in other words up to the 512th bit of the frame.
When a collision is detected by a station after it has sent the 512th bit of its frame, it is counted as a late collision.
Late collisions are reported by these error messages:
%AMDP2_FE-5-LATECOLL: AMDP2/FE 0/0/[dec], Late collision 
%DEC21140-5-LATECOLL: [chars] transmit error 
%ILACC-5-LATECOLL: Unit [DEC], late collision error 
%LANCE-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC_FE-5-LATECOLL: PQUICC/FE([DEC]/[DEC]), Late collision    
%QUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error
The exact error message depends on the platform. You can check the number of excessive collisions in the output of a show interface ethernet [interface number] command.
router#show interface ethernet 0
Ethernet0 is up, line protocol is up 
  Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)
  Internet address is 10.200.40.74/22
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: random early detection(RED)
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2058015 packets input, 233768993 bytes, 1 no buffer
     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored
     0 input packets with dribble condition detected
     298036 packets output, 32280269 bytes, 0 underruns
     0 output errors, 10 collisions, 0 interface resets
     0 babbles, 0 late collision, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
Note: The station that reports the late collision merely indicates the problem; it is generally not the cause of the problem. Possible causes are usually incorrect cabling or a non-compliant number of hubs in the network. Bad network interface cards (NICs) can also cause late collisions.

Friday, December 13, 2013

Cisco Switch/Router: Collisions, Duplex Mismatch And Performance Problems

I know an IT Manager at a company that was telling me about his experience about slow performance across his MPLS to his remote sites.  He was telling me that he found that his core switch was giving him an "duplex mismatch" message.  He found that his MPLS router (controlled by the ISP) was not set correctly by the ISP.  They were running half-duplex.  This was causing performance problems and he found the following on his core switch interface (connect to the MPLS router).  Notice the collisions:

GigabitEthernet2/0/1 is up, line protocol is up (connected)
  Hardware is Gigabit Ethernet, address is 2c54.XXXX.XXXX
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 61/255, rxload 3/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Half-duplex, 100Mb/s, media type is 10/100/1000BaseTX
  input flow-control is off, output flow-control is unsupported
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:17, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 977147969
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 1223000 bits/sec, 460 packets/sec
  5 minute output rate 24292000 bits/sec, 3800 packets/sec
     1980578959 packets input, 615394171190 bytes, 0 no buffer
     Received 381332 broadcasts (334480 multicasts)
     0 runts, 1 giants, 0 throttles
     4 input errors, 3 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 334480 multicast, 0 pause input
     0 input packets with dribble condition detected
     14455682756 packets output, 9820573157817 bytes, 0 underruns
     0 output errors, 46438986 collisions, 1 interface resets
     0 babbles, 199866683 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out

So he called up the ISP and told them to make the changes on their router interface to be full duplex.  They did and he reset the counters on the core switch, and you see the results below.  Better reliablitiy.  Better performance.  And no collisions on the interface.

GigabitEthernet2/0/1 is up, line protocol is up (connected)
  Hardware is Gigabit Ethernet, address is 2c54.XXXX.XXXX
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 5/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
  input flow-control is off, output flow-control is unsupported
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:26, output 00:00:00, output hang never
  Last clearing of "show interface" counters 00:00:47
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 1129000 bits/sec, 388 packets/sec
  5 minute output rate 20433000 bits/sec, 3134 packets/sec
     13547 packets input, 4241997 bytes, 0 no buffer
     Received 7 broadcasts (1 multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 1 multicast, 0 pause input
     0 input packets with dribble condition detected
     161684 packets output, 142796555 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out

Thursday, December 12, 2013

Oh Look At This Telecomm Box...

Oh, lovely.  I came across this Telecomm box outside one of the local businesses here in Birmingham.  I thought you all might be interested in seeing this.  There is just so many things wrong in this picture...

Tuesday, December 10, 2013

Cisco Config Register: Router/Switch Boot Options Flow Chart

I found this diagram on Cisco's website.  This is perfect for someone like me that likes flow charts.  In the beginning of the chart, the number representation is the last number in the config register.  From there, it should be self explanatory.


Monday, December 9, 2013

Change In My Plans...

Just FYI, in January, I'm heading back to the IT consulting arena...

Friday, December 6, 2013

Should Companies Use Social Media To Find Information About You?

Should Companies Use Social Media To Find Information About You?  Plain and simple.  YES.  If you put it out there, its fair game.  Don't be stupid.  If you put it on the Internet for all to see, then you put it out there for companies to see.  Use your brain.  If you don't want a hiring company to know you are a jerk, a militant, or a real nuisance, then don't put it out there for all to see.
I know when I want to know more about someone, the first thing I do is go online.  Its just the world we live in today.  This is not the year 1813.  Its 2013.

Thursday, December 5, 2013

Cisco Router: Running IOS Image Is Not The Same As The Configured IOS Image In Running-Config

I came across a problem recently where my counterpart had tftp'ed a new IOS image to a voice XML gateway.  We are planning on upgrading from 12.4 to 15.1 on our voice XML gateways, which is for our UCCE environment.  As it turns out, when one of the routers got rebooted, before the upgrade, it actually booted up to the 15 code.  This caused some problems with some of our SIP stuff, so after troubleshooting, we noticed that this one gateway was running the 15 code.  Notice below the show version after a reboot (shortened for brevity):

XMLGateway#sh version
Cisco IOS Software, 5350 Software (C5350-IK9SU2-M), Version 15.1(3)T4, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thu 24-May-12 07:24 by prod_rel_team

ROM: System Bootstrap, Version 12.3(12r)PI6b, RELEASE SOFTWARE (fc1)

XMLGateway uptime is 3 hours, 32 minutes
System returned to ROM by reload at 10:42:56 CST Wed Dec 4 2013
System restarted at 10:44:00 CST Wed Dec 4 2013
System image file is "flash:c5350-ik9su2-mz.151-3.T4.bin"
Last reload type: Normal Reload

-------------------------------------------------
Device#  PID SN
-------------------------------------------------
*0    AS535XM-AC-RPS        

Configuration register is 0x101


Notice that the config register is set to 0x101.  Interesting.  If you do a show run, you will notice that the boot system statements point to a different IOS (shortened for brevity):

XMLGateway#
XMLGateway#sh run
Building configuration...

Current configuration : 7905 bytes
!
version 15.1
!
boot-start-marker
boot system flash:/c5350-ik9s-mz.124-24.T3.bin
boot system flash:/c5350-is-mz.124-1c.bin
no boot startup-test
boot-end-marker
!
XMLGateway#

Notice when we look at the flash, the 15 code is the first code on the flash, hence why we are booting to that code.  See the dir flash: below:
XMLGateway#dir flash:
Directory of flash:/

    1  -rw-        1072   Sep 6 2006 15:24:38 -05:00  bootstrap.tcl
    2  -rw-    37680424  Nov 12 2013 08:47:44 -06:00  c5350-ik9su2-mz.151-3.T4.bin
    3  -rw-    33029120   Sep 6 2006 14:32:14 -05:00  c5350-ik9s-mz.124-24.T3.bin
    4  -rw-        5044   Sep 6 2006 15:24:56 -05:00  bootstrap.vxml
    5  -rw-       58446   Sep 6 2006 15:25:26 -05:00  critical_error.wav
    6  -rw-        1652   Sep 6 2006 15:25:44 -05:00  cvperror.tcl
    7  -rw-        1419   Sep 6 2006 15:25:58 -05:00  handoff.tcl
    8  -rw-         583   Sep 6 2006 15:26:12 -05:00  recovery.vxml
    9  -rw-       32110   Sep 6 2006 15:26:28 -05:00  ringback.wav
   10  -rw-        4187   Sep 6 2006 15:26:40 -05:00  ringtone.tcl
   11  -rw-      191832   May 3 2013 11:12:24 -05:00  crashinfo_20130503-211224

127918080 bytes total (56885248 bytes free)
XMLGateway#

This is what Cisco says about the config register below.  And this is what caused our problem.  Very interesting.
From a Cisco document I found:
–If the last digit of the boot field is1 (for example, 0x101), the boot helper image is loaded from ROM. (On some platforms, the boot helper image is specified by the BOOTLDR environment variable.)
–If the last digit of the boot field is 2 through F (for example, 0x102 through 0x10F), the router boots the first valid image specified in the configuration file or specified by the BOOT environment variable.

Wednesday, December 4, 2013

Cisco Switch: Switch Stack CPU Utilization

I was asked the question recently on how do you determine the overall switch CPU utilization for stacked switches?  That is a very good question.  The answer may be a little surprising to you.  The CPU utilization on a stacked switch config is measured only on the master switch.  Below is Cisco documentation to back this answer up:
"Under normal operating conditions, on a non-stackable switch, the CPU is busy at least 5 percent of the time. If the switch is stacked, the CPU is busy at a minimum of 7 or 8 percent utilization. In a switch stack, CPU utilization is measured only on the master switch. The number of members in the stack affects the overall CPU utilization"
Document: http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/troubleshooting/cpu_util.html

Good question that was asked.  I hope this has been helpful.

Tuesday, December 3, 2013

Cisco IOS: What Is The Difference Between The 12 Firmware and 15 Firmware

I have had to look at this in the past and have come back across this recently, but what are the differences between the 12 code and the 15 code?  It depends on the model of router you are looking at.  With the newer router series (1900, 2900, and 3900 routers), licensing and one code is the deal.  You get one universal code and you have to have licenses to unlock features and functionality.  Its a little easier to understand and it sounds a lot like Check Point, which is NOT easy to understand to me.  The universal code has all options available in the code for base, security, voice, and enterprise level features, but you have to license them.  All in one package.  So when you go to download an upgrade for the 1900, 2900, or the 3900, you wont see several IOSs to download.  Just one universal image.  Make sure you license for what you need.
For the 1800, 2800, and 3800 models, you still get the various names in the IOS.  c2801-adventerprisek9-mz.151-4.M6.bin or c2801-advipservicesk9-mz.151-4.M6.b are examples of this.  At this point, you just dont see any universal images for these models, and I doubt you ever will.  But, you don't have to have the licenses on these models.  Just download the image you need for the features you need and do the upgrade, even though it is the 15 code.
With all of this said, there are obviously going to be feature and functionality enhancements.  You will have to look over the release notes for the image version you want to see the updates in code for more info on that.  For example, I know from 12 to 15, there are some SIP security 'features' that when you do the upgrade, SIP will stop working to your carrier if you don't plan ahead of time for the correct configuration changes. So read your release notes.

Monday, December 2, 2013

When Is It Time To Just Move On From Your Current IT Job?

I have come across several people lately who contemplate this question for themselves.  'Is it time to move on from my current job?"  Sometimes it takes some clarification from others to just make sure you are thinking clearly.  I have compiled a list of things I have seen myself or heard others say, that I think are reasons to 'move on' from your current position.  Maybe some of you will agree or disagree.  These are just my own personal opinions on this.
1.  When your boss tells you that he wont give you a raise.  If you feel you legitimately deserve a raise and you can back it up with proof that you bring more value than when you were hired, and your boss is unwilling to even listen to you about it, its time to move on.  In the work world, money means respect.  If they will give you more money, they think you are worth keeping.  If they don't give you more money, they could care less if you stay or leave.  In their mind, you are replaceable.
On the same topic, when it comes to evaluation time, if the company is doing ok, then you should get a raise.  Its called a cost of living raise, at the very least.  If they don't give you your annual raise, its time to move on.
2.  If they disrespect you, its time to move on.  You don't deserve that.  No one does.  Everyone deserves respect.  Its a human thing, not an employee thing.  You are human BEFORE you are an employee.
3.  If you have to pay for your own tools for work related purposes, its time to move on.  The company should pay for work related tools, not you.  They are paying for you, not anything else you can bring to them.  This includes something to carry the company laptop with, like a backpack.
4.  If a company treats a consultant better than you (an employee), its time to move on.  Everyone deserves respect, a consultant and employee.  But, and employee is part of the company.  A consultant is not.
5.  If you are singled out and treated differently than everyone else, its time to move on.  If there are certain perks that everyone else gets, and you are the only one that doesn't, how fair is that?  Move on.
6.  If your job changes from what you hired in to do, and you don't want the new changes, move on.  If you got hired to do data, and now they expect you to do programming (and you don't want to), then you need to find something else.  If you tell them and they don't care?  They still want you to learn programming?  Move on.  You don't want to be stuck doing something you don't want to do.
7.  This one stinks, but if they don't tell you about the holidays you are off, move on.  This one really gripes me.  I've seen one company notorious for this.  I think they hope you will work and bring in money for them, only for you to find you were off anyway.  They robbed you of your off day.  Move on.
8.  If the company doesn't really care about your input (not about direction, but about IT related technologies, etc), move on.  You are a technical resource and you were hired to provided expertise.  Move on if they don't care about your opinion.  That equals disrespect to me, and no one wants that.
9.  If your company works you to death, and doesn't listen to your pleas for relief, move on.  For some reason, the business world thinks that the more hours you put in for them, the better.  I disagree.  You need rest.  You need balance in life.  If they want all of you all the time, move on.  They are not worth it.  Life is too short.
10.  If your employer asks you to do anything unethical, move on.  They should know better than to ever ask anyone to do something that wasn't right.
11.  If they try to trample on your religious (or non-religious) beliefs, move on.  No one deserves that.  They hired you to render services from you for pay to you.  Unless you are militant.  No one deserves to work around you in that case.

So these are just a few that I came up with.  I'm sure there are a ton more.
I just had a thought that I probably need to come up with a list of reasons why a company SHOULD fire you.  That article coming at some point this month.

Sunday, December 1, 2013

ACME Net-Net: Practice Config

I had a lab ACME that I was working on that I already had some configuration on it.  Its a working config, and I wanted to practice adding some config into it.  I added two realm-configs, two steering-pools, two sip-interfaces and a local-policy.

TestACME# config t
TestACME(configure)# media-manager
TestACME(media-manager)# realm-config
TestACME(configure)# media-manager
TestACME(media-manager)# realm-config
TestACME(realm-config)# identifier Outside

TestACME(realm-config)# network-inter m10:0
TestACME(realm-config)# out-man NAT_IP
TestACME(realm-config)# account disabled
TestACME(realm-config)# exit
Save Changes [y/n]?: y
**TestACME(media-manager)# realm-config
**TestACME(realm-config)# identifier Inside
**TestACME(realm-config)# network-interfaces m00:0
**TestACME(realm-config)# out-man NAT_IP
**TestACME(realm-config)# exit
Save Changes [y/n]?: y

**TestACME(media-manager)# steering-pool
**TestACME(steering-pool)# ip-add 192.168.9.91
**TestACME(steering-pool)# start-port 7000
**TestACME(steering-pool)# end-port 7999
**TestACME(steering-pool)# realm-id Outside
**TestACME(steering-pool)# exit
Save Changes [y/n]?: y
steering-pool
        ip-address                     192.168.9.91
        start-port                     7000
        end-port                       7999
        realm-id                       Outside
        network-interface
        last-modified-by               admin@10.1.1.1.
        last-modified-date             2013-11-18 14:35:22
**TestACME(media-manager)# steering-pool
**TestACME(steering-pool)# ip-add 192.168.90.75
**TestACME(steering-pool)# start-port 7000
**TestACME(steering-pool)# end-port 7999
**TestACME(steering-pool)# realm-id Inside
**TestACME(steering-pool)# exit
Save Changes [y/n]?: y
steering-pool
        ip-address                     192.168.90.75
        start-port                     7000
        end-port                       7999
        realm-id                       Inside
        network-interface
        last-modified-by               admin@10.1.1.1.
        last-modified-date             2013-11-18 14:36:37

**TestACME(media-manager)# exit
**TestACME(configure)# session-router
**TestACME(session-router)# sip-interface
**TestACME(sip-interface)# realm-id Outside
**TestACME(sip-interface)# sip-port
**TestACME(sip-port)# address 192.168.9.91
**TestACME(sip-port)# port 5060
**TestACME(sip-port)# transport-protocol udp
**TestACME(sip-port)# allow-anonymous all
**TestACME(sip-port)# exit
Save Changes [y/n]?: y
        sip-port
                address                        192.168.9.91
                port                           5060
                transport-protocol             UDP
                tls-profile
                allow-anonymous                all
                ims-aka-profile
**TestACME(sip-interface)# trans-expire 14
**TestACME(sip-interface)# out-manipulationid NAT_IP
**TestACME(sip-interface)# rfc2833-mode preferred
**TestACME(sip-interface)# add-sdp-invite invite
**TestACME(sip-interface)# add-sdp-profiles G729 PCMU telephone-event
**TestACME(sip-interface)# exit
Save Changes [y/n]?: y

**TestACME(session-router)# sip-interface
**TestACME(sip-interface)# realm-id Inside
**TestACME(sip-interface)# sip-port
**TestACME(sip-port)# add 192.168.90.75
**TestACME(sip-port)# port 5060
**TestACME(sip-port)# transport-protocol udp
**TestACME(sip-port)# allow-anonymous all
**TestACME(sip-port)# exit
Save Changes [y/n]?: y
        sip-port
                address                        192.168.90.75
                port                           5060
                transport-protocol             UDP
                tls-profile
                allow-anonymous                all
                ims-aka-profile
**TestACME(sip-interface)# trans-expire 14
**TestACME(sip-interface)# out-manipulationid NAT_IP
**TestACME(sip-interface)# rfc2833-mode preferred
**TestACME(sip-interface)# exit
Save Changes [y/n]?: y

**TestACME(session-router)# local-policy
**TestACME(local-policy)# from-add *
**TestACME(local-policy)# to-add *
**TestACME(local-policy)# source-realm Inside
**TestACME(local-policy)# policy-attributes
**TestACME(local-policy-attributes)#
**TestACME(local-policy-attributes)# next-hop 4.3.4.3
**TestACME(local-policy-attributes)# realm                          Outside
**TestACME(local-policy-attributes)# action                         replace-uri
**TestACME(local-policy-attributes)# terminate-recursion            disabled
**TestACME(local-policy-attributes)# exit
Save Changes [y/n]?: y
policy-attribute
        next-hop                       4.3.4.3
        realm                          Outside
        action                         replace-uri
        terminate-recursion            disabled
        carrier
        start-time                     0000
        end-time                       2400
        days-of-week                   U-S
        cost                           0
        app-protocol
        state                          enabled
        methods
        media-profiles
        lookup                         single
        next-key
        eloc-str-lkup                  disabled
        eloc-str-match
**TestACME(local-policy)# exit
Save Changes [y/n]?: y
local-policy
        from-address
                                       *
        to-address
                                       *
        source-realm
                                       Inside
        description
        activate-time                  N/A
        deactivate-time                N/A
        state                          enabled
        policy-priority                none
        last-modified-by               admin@10.1.1.1.
        last-modified-date             2013-11-18 14:47:02
        policy-attribute
                next-hop                       4.3.4.3
                realm                          Outside
                action                         replace-uri
                terminate-recursion            disabled
                carrier
                start-time                     0000
                end-time                       2400
                days-of-week                   U-S
                cost                           0
                app-protocol
                state                          enabled
                methods
                media-profiles
                lookup                         single
                next-key
                eloc-str-lkup                  disabled
                eloc-str-match
**TestACME(session-router)# exit
**TestACME(configure)# exit

Friday, November 29, 2013

Cisco Emergency Responder: When Your IP Phones Do Not Show Up In CER

I experienced this in the beginning when I started adding phones.  I was wondering why CER didn't see the phones that I would add to a switch in my test lab.  But if you think about it, how would it know about the phones?  The only time CER is going to know about these new phones is when they actually make a call to 911.  The call first goes to the CUCM CTI route point.  Then it gets forwarded to CER.  That is when CER finds out about that phone.  So I guess that makes sense.  Any other call goes to CUCM and out the gateway.

Wednesday, November 27, 2013

ACME Net-Net: How To Delete Specific Config

So I never could find any documentation about this with ACME Packet, but I needed to delete some config in a production ACME Net-Net box we had, and was not sure how to do it.  But, I did figure it out.  Below is a sample of how to do this with a steering pool.  You can do this method with any other config as well.

ACME01(media-manager)# steering-pool
ACME01(steering-pool)# select
<ip-address>:
1: 192.168.90.39 ports 9000-9999 UCCE
2: 192.168.91.39 ports 9000-9999 SP1
3: 192.168.91.92 ports 7000-7999 911
4: 192.168.90.4 ports 7000-7999 Inside911

selection:
ACME01(steering-pool)# no
<ip-address>:
1: 192.168.90.39 ports 9000-9999 UCCE
2: 192.168.91.39 ports 9000-9999 SP1
3: 192.168.91.92 ports 7000-7999 911
4: 192.168.90.4 ports 7000-7999 Inside911

selection: 4
**ACME01(steering-pool)# no
<ip-address>:
1: 192.168.90.39 ports 9000-9999 UCCE
2: 192.168.91.39 ports 9000-9999 SP1
3: 192.168.91.92 ports 7000-7999 911

selection: 3

ACME01(steering-pool)# select
<ip-address>:
1: 192.168.90.39 ports 9000-9999 UCCE
2: 192.168.91.39 ports 9000-9999 SP1

Tuesday, November 26, 2013

Cisco Emergency Responder: How To Configure CER With CUCM (CallManager)

Cisco Emergency Responder is pretty cool.  This has been a learning experience for me, but I think I have an handle on it now.  I have this working in my environment now in a lab setup.  These are my notes for setting up CER.

Cisco Emergency Responder Configuration Notes:
I had an existing CUCM in place, so my notes may not include things that were already setup in CUCM, like an existing route-pattern out for 911 or 9.911.  

What we need for prepraration:
1. ELIN information for each site.
2. ALI information for each site.
3. What IP Subnet for each site. (which a ELIN and ALI will match)
4. SNMP information (RO) for each Switch. (if you choose switches to be configured)
5. If implementing with an external service, database needs to be given to remote service.

Generic:
1.  License server first.  (get 'license MAC' address (in VM) and register it to the PAK code)
2.  Get System settings in first (ER group info, etc).
3. Get CUCM and CER talking to each other next. Configure CUCM properties listed below and CUCM properties (in CER) configured (under Phone Tracking).
4.  Then get ERL info in (like route pattern and ELIN info).
5.  Then Switch/SNMP info.

Create on CUCM:
NOTE* On the CUCM, make sure the SNMP service is running.  This is in the Cisco Unified Servicabiltiy area.  Tools --> Control Center - Network Services --> Server* --> Under 'Platform Services' -->  SNMP Master Agent
*Make sure you configure SNMP on CUCM.  SNMP --> V1/V2 --> Community String
*Make sure you configure SNMP for CUCM on CER.  Phone Traking --> SNMP Settings --> (add new server)
on CER, make sure you configure SNMP for the switches that you have phones connected to and need 911 services for.  You will either put in the individual IP addresses or each switch, or a wildcard range.  Either works.  Phone Traking --> SNMP Settings --> (add new switch)

On CUCM:
1. 911CER partition
2. CSS for 911CER
3. CTU route point for 911 (I used 2.911 for testing)(Make sure you have 'Cisco CTI Manager' service running on your CUCM.  This is the JTAPI service that allows CER and CUCM to talk.  Your CTI RP wont register with CER if this services is not running.
4. DN for CTI route point
5. CTI ports (for connection to CER)
6. Verify you have a 911 route pattern out
7. Verify you have translation patterns inbound for ELIN if you dont already have them.
8. Gateway must be in CSS for 911CER.
9. Create application user with appropriate device permissions. (This means CTI route point and CTI ports you just created in #3 and #4 are in the 'controlled devices'.  Also, under Permissions Information, you need 'Standard CTI Allow Calling Number Modification' and 'Standard CTI Enabled'.  (This App User is the means for CER communicating with CUCM, where it registers the CTI RP when you configure it in CER as well).
10. On the CUCM, make sure the SNMP service is running.  This is in the Cisco Unified Servicabiltiy area.  Tools --> Control Center - Network Services --> Server* --> Under 'Platform Services' -->  SNMP Master Agent
11. Make sure you configure SNMP on CUCM.  SNMP --> V1/V2 --> Community String

On CER:
1. Get CER licensed on the Cisco Licensing site.  Upload license to the server in System --> Licensing.
2. Configure Cisco ER Group
3. Configure Cisco ER Group Settings
4. Configure Telephony Settings (RP for Primary ER Server must match your DN on your CTI RP in CUCM. You will also have a CTI RP for 913XXXXXXXXXX (2 CTI RPs total on CUCM for a singer CER server install).
5. Any Server settings you may choose.
6. Configure SNMP settings for CUCM and switches where phones are connected. Add the IP for each or a range using the wildcard (if you plan on finding phones by configuring for switches and not IP subnets).
7. Configure CUCM settings in CER.  IP address, App user, password for App User, telephony port begin address and number of ports.
8. Configure your Conventional ERLs for each location.
9. Configure SNMP settings for CUCM/subnet ranges.
10. At this point, you can either configure your switches OR by IP subnets.  If you configure by switches, I think you get more information than you would by IP Subnets.  It does appear to be easier to configure for IP Subnets.
11. Run switch-port and phone update.

Sunday, November 24, 2013

Can your current IT job hurt your IT career?

Can your current IT job hurt your IT career?  This question has come to mind recently and I decided to write a few thoughts down on this question.

1. In your current position, are you working with the latest technologies?
If you are not, I think this can hurt you.  You end up getting good at technology, but the question is are you getting up on the latest technology?  If you are not, and your next potential employer asks you about your experience with something that everyone is going to, how is that going to look to them?  Its quite possible they will send you on your way.

2. In your current position, are you working with the latest hardware/software?
Its all good to be putting in Cisco 3560/3750 switches and all, but are you putting in Nexus switches?  Again, its good that you are getting experience and getting good at some things.  But again, are you getting good at what the new trends are?  If you are still working on Cisco Pix firewalls, you are behind.  If you left a company that had Cisco and now you are working with SMC and Lynksys HUBS/switches, you may want to consider going back to your old company (if your reason was to do better in technology).

3. Is your current employer investing money in you?  Are they paying for certifications and sending you to training?  If they are not, find somewhere that will.  Certifications help them as well as you.  This brings new knowledge to you (for them).  If they wont help you help them, move on.

My point here is that you always have to consider where technology is and where YOU are.  You dont want to be left behind if you are trying to get ahead in technology.

Saturday, November 23, 2013

ACME Net-Net: How To See The License Info

Sometimes I just need to know what licensing is on the ACME Net-Net box.  Here is how you do this:

ACMESYSTEM#
ACMESYSTEM# config t
ACMESYSTEM(configure)# system
ACMESYSTEM(system)# license
ACMESYSTEM(license)# show
License #1: 4000 sessions, SIP, H323, QOS, ACP, Routing, Load Balancing,
            Accounting, High Availability, ENUM, DoS, IDS,
            IDS Advanced
            no expiration
            installed at 09:55:30 OCT 29 2013
Total session capacity: 4000
ACMESYSTEM(license)#

Thursday, November 21, 2013

ACME Net-Net: Step By Step Configuration Notes

Ive figured out some things about the ACME.  One of the things that I have found is that some of the configuration items rely on other configuration items.  Just like other device I guess.  This is what Ive found is the best way to get an ACME device configured from scratch, as best as I can tell.
ACME setup steps:
1. configure system elements
2. configure physical interfaces
3. configure network interfaces
4. configure sip-config
5. configure media-manager
6. configure realm-config
7. configure sip-interfaces (and sip-ports)
8. configure session-agents
9. configure local-policy
10. configure steering-pools
11. verify-config
12. save-config
13. activate-config

I put what I though the relationships are on the ACME.  This is what I think it is.

Wednesday, November 20, 2013

ACME Net-Net 3820: How To Upgrade The Firmware To The Latest Version

Yesterday, I got to work on getting six ACME Net-Net 3820s ready for an upcoming deployment.  Since Im still trying to learn the ACMEs, I started off getting the firmware up to date.  Thanks to a great conversation with Mark with ACME/Oracle yesterday, I learned a few things about ACME firmware along with a few other things he shed some light on.  It was a really good conversation, and I highly respect his technical ability.  Check out his blog at http://www.markholloway.com/blog/ .
Now, here is how I upgraded the firmware on the six 3820 devices. I went from 6.4.0 to 6.4.0m2.

First, I found out what the default management IP address is.  I consoled in and went in config mode and ran the "bootparam" command.
ACMESYSTEM# config t
ACMESYSTEM(configure)# bootparam

'.' = clear field;  '-' = go to previous field;  q = quit

boot device             : eth0
processor number        : 0
host name               : host
file name               : /code/images/nnECX640.tar /code/images/nnECX640m2.tar
inet on ethernet (e)    : 10.10.10.48:ffff0000
inet on backplane (b)   :
host inet (h)           :
gateway inet (g)        : 10.10.10.1
user (u)                : vxftp
ftp password (pw) (blank = use rsh)     : vxftp
flags (f)               :
target name (tn)        : ACMESYSTEM
startup script (s)      :
other (o)               :

NOTE: These changed parameters will not go into effect until reboot.  Also, be aware that some boot parameters may also be changed through PHY and Network Interface Configurations.

ACMESYSTEM(configure)# exit

In my DOS prompt on my laptop, I FTP'ed into the ACME 3820 box.
C:\ftproot>ftp 10.10.10.48
Connected to 10.10.10.48.
220 ACMESYSTEM FTP server (VxWorks 6.4) ready.
User (10.10.10.48:(none)): user
331 Password required for user.
Password: acme
230 User user logged in.
ftp> cd code
250 CWD command successful.
ftp> cd images
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for 'file list'.
nnECX640.tar
nnCX_diags122.tar
226 Transfer complete.
ftp: 33 bytes received in 0.00Seconds 16.50Kbytes/sec.
ftp> bi
200 Type set to I.
ftp> put nnECX640m2.tar
200 PORT command successful.
150 Opening BINARY mode data connection for '/code/images/nnECX640m2.tar'.
226 Transfer complete.
ftp: 31150080 bytes sent in 7.79Seconds 4001.29Kbytes/sec.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for 'file list'.
nnECX640.tar
nnCX_diags122.tar
nnECX640m2.tar
226 Transfer complete.
ftp: 49 bytes received in 0.00Seconds 49.00Kbytes/sec.
ftp>

Back to my console access, I first verified the version of code with the "show version" command.  I then changed the boot image the ACME 3820 will boot to.
ACMESYSTEM# show version
ACME Net-Net 3820 Firmware ECX6.4.0 GA (Build 224)
Build Date=04/24/13
ACMESYSTEM#
ACMESYSTEM# config t
ACMESYSTEM(configure)# bootparam

'.' = clear field;  '-' = go to previous field;  q = quit

boot device             : eth0
processor number        : 0
host name               : host
file name               : /code/images/nnECX640.tar /code/images/nnECX640m2.tar
inet on ethernet (e)    : 10.10.10.48:ffff0000
inet on backplane (b)   :
host inet (h)           :
gateway inet (g)        : 10.10.10.1
user (u)                : vxftp
ftp password (pw) (blank = use rsh)     : vxftp
flags (f)               :
target name (tn)        : ACMESYSTEM
startup script (s)      :
other (o)               :

NOTE: These changed parameters will not go into effect until reboot.  Also, be aware that some boot parameters may also be changed through PHY and Network Interface Configurations.

ACMESYSTEM(configure)# exit
ACMESYSTEM# reboot

--------------------------------------------------------
WARNING: you are about to reboot this SD!
--------------------------------------------------------

Reboot this SD [y/n]?: y
(REBOOT)

I rebooted the ACME and verified the new image is being used.
Password:
ACMESYSTEM> en
Password:
ACMESYSTEM#
ACMESYSTEM#
ACMESYSTEM# show version
ACME Net-Net 3820 Firmware ECX6.4.0 MR-2 GA (Build 322)
Build Date=10/24/13
ACMESYSTEM#


**Added 12/13/2013
Additional note.  Make sure you plug your network cable in port "Mgmt 0" for network connectivity when doing this.  That is where the IP address is at this point.

Tuesday, November 19, 2013

SIP: What A Fax Packet Looks Like In Wireshark

I wanted to spell out a whole description of this packet, just to explain what all is going on in this packet.   But, I only did a few of the main things of interest because of time.  If you have any questions in particular that are not addressed in the below capture, certainly ask and Ill see if I can get you the answer.


Sunday, November 17, 2013

Cisco Emergency Responder Upgrade: From 8.6 To 9.0

During this CER install Im working on, I have found that I have to upgrade to 9.X.  The reason is because our CUCM is version 9.X.  I first tried to do the 8.6 to 9.0 upgrade without installing the COP file first that Cisco recommends.  At the time, I didnt know about that COP file and its purpose.  To my disappointment, the upgrade failed.  But, I did have success after some research.  Here is the process you have to go through to do the upgrade:
1. First, if you are going from 8.X or lower TO 9.X, you need to install the following file from Cisco: 'ciscocm.cer_refresh_upgrade_v1.1.cop.sgn'.  Do the install from the CER OS Administration page.
2. After this COP file is installed successfully, then you can do the upgrade to 9.X with this file: 'UCSInstall_CER_9.0.2.10000-1.sgn.iso'  Again, on the CER OS Administration page.
NOTE** The file named 'Bootable_UCSInstall_CER_9.0.2.10000-1.sgn' is NOT the upgrade file.  This file is for new installs only.
Once you do these two steps, you should be up to the 9.X version without issue.  Keep in mind, it does take time to do this upgrade.  When the server reboots going into the upgrade, expect it to take time.

Some screenshots of what I saw:

During the reboot, this is what I saw on the VMWare Console access below.

In the Console access below, you can see that once the upgrade was done, CLI shows the new version number (below).


Once you get the upgrade completed, make sure you change the version of CUCM you are connecting to on the CER Admin Utility page.

Friday, November 15, 2013

SIP: Fax Disconnects Immediately After Call Connects

We had this problem where when a person faxed outside the company, the fax would connect to the other end fax, but it will immediately disconnect.  This was interesting to say the least, but what we found was that there was a codec mismatch happening.  We actually had to rearrange the order our CUCM would present codecs for matching so that the carrier would accept them properly.  You can see below where the call would connect (with the 200 ok message), but we would immediately get a bye message disconnecting the call.  Again, codec mismatch with the carrier.
Below is from TranslatorX.  I have cut out from the bigger picture the important pieces of this diagram.

Thursday, November 14, 2013

Cisco Emergency Responder: CTI Route Point Will Not Register

I'm still deep in this Cisco Emergency Responder project, and it certainly is interesting.  So, my CTI route point wont register with CER.  This is a little frustrating, especially with the lack of documentation Cisco has put out, with the exception to the admin guide.  I have come to find that, in almost every case, that your CER version can not be a version UNDER your CUCM.  Meaning, if you have CUCM 9.1, you can not have CER 8.6.  It just wont support it.  However, you CAN have CER version 9.0.2 with CUCM version 9.1.1, per Cisco TAC.  Just an interesting note I found while trying to get my 8.6 version working with my 9.1.1 CUCM.

This is what you will see when you get your CTI RP registered:

Wednesday, November 13, 2013

Bad VoIP Call Quality

Sometimes voice can be a little hard to troubleshoot.  We had a remote site (out of over 700 sites) that reported bad call quality.  So, as I started looking at this, I couldnt really pin point this issue.  So, lets look at the symptoms:
1.  Does the bad call quality happen all the time?  No.
2.  Does the bad call quality happen from inside only inside the branch (from one phone to another, only inside this branch)?  Yes (however, the real truth was No)  Sometimes you have to ask multiple people.
3.  Does the bad call quality happen from one branch to another branch?  Yes.
4.  Dos the bad call quality happen when the call is outside the company?  Yes.
So, after reviewing the switch and router configs at the remote site, the QoS configs look good.  Plus, I dont see any dropped packets in the 'show policy" command for the voice packets (although I did for the default class, like Internet, etc).  CUCM regions, etc look good.
So one of the data guys on the team looked into what the MPLS carrier's QoS policy for us was for our voice.  384k for 30 users.  On our router, we have a priority for 25% for the 3 bonded T1s (4.5 Meg).  So, we have 1.1 Meg dedicated for voice on our router.  So, he up'ed our QoS at the carrier and things look much better.  When they drop packets for you (lol), I guess the voice is going to sound bad. :)  Anyway, problem solved.

Monday, November 11, 2013

(CER) Cisco Emergency Responder: Some Initial Thoughts Before Configuration

I've never installed Cisco Emergency Responder before.  But I've been asked to look into getting this ready for us and in place.  I'm currently in the process of trying to work through this.  My counterpart has this installed already on a server, and I'm going to try to get this ready for testing.  Its pretty interesting so far, and this is my initial thoughts on how this is going to work.  I worked out my thoughts on my whiteboard.  Ill post more about this topic later on, probably after I get the testing completed, for more about the configuration piece of this. Here should be how this works, based on what I understand so far.

Sunday, November 10, 2013

Cisco Router: How Do You See The Bandwidth Utilization On Bonded T1s?

This is a good command when you need to see load on bonded T1s.  In this case, I have three bonded T1s.  Its hard to see an accurate load utilization when trying to look at one serial line at a time with the show interface command.  In fact, its probably not going to be accurate trying to modify the command real quick, and calculate what you have seen. So, the 'show ppp multilink' command is great for seeing the combined utilization on the links.  Take a look at this example below:

2821#show ppp multilink

Multilink1
  Bundle name: host1
  Remote Endpoint Discriminator: [1] host1
  Local Endpoint Discriminator: [1] p15027516443576
  Bundle up for 1y5w, total bandwidth 4608, load 2/255
  Receive buffer limit 36000 bytes, frag timeout 1000 ms
    0/0 fragments/bytes in reassembly list
    0 lost fragments, 877429 reordered
    0/0 discarded fragments/bytes, 0 lost received
    0x1FB0E7 received sequence, 0x7E3415 sent sequence
  Member links: 3 active, 0 inactive (max not set, min 1)
    Se0/0/0:0, since 9w1d
    Se0/1/0:0, since 5w5d
    Se0/0/1:0, since 5w5d
No inactive multilink interfaces

Friday, November 8, 2013

Cisco CUCM: Ping/ICMP Drops From A Router To A CUCM (CallManager)


This is interesting, and I didn't know this until the other day.  If you ping a CUCM from a router with the repeat option, you are going to see what looks like drops.  See below my example.

THIS IS FROM MY ROUTER, WHICH IS OFFSITE FROM THE CUCM IM PINGING:
Router-2821#ping  172.5.25.225 so gig0/1 re 100

Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 172.5.25.225, timeout is 2 seconds:
Packet sent with a source address of 10.25.5.1
!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!!!!!.
!!!!!!.!!!!!!.!!!!!!.!!!!!!.!!
Success rate is 86 percent (86/100), round-trip min/avg/max = 20/24/44 ms
Router-2821#


THIS IS FROM MY SWITCH, WHICH IS ONSITE FROM THE CUCM IM PINGING:
Switch-6506#ping 10.50.90.225 rep 100

Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 10.50.90.225, timeout is 2 seconds:
!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!
!.!!!!!.!!!!!.!!!!!.!!!!!.!!!!
Success rate is 84 percent (84/100), round-trip min/avg/max = 1/1/4 ms
Switch-6506#

So its interesting to me because of the drops.  This had me thinking, in the beginning, that something was wrong somewhere.  But as it turns out, this is normal behavior for the response of a CUCM.  You wont see this if you are trying to ping from your command line on your pc.  You will only see this from your router/switch.  TAC tells me this is normal behavior for the CUCM, and from my testing, I have no reason to not believe this.  Just thought this was interesting.

Thursday, November 7, 2013

The IT Prostitute: Working For An IT Services Company vs An IT Shop

I read an article on working for an IT Services company, and it was pretty dead on, for the most part.  I didn't agree with everything he said, but mostly he was right.  But with that said, this is a personal opinion for everyone.  Just like that guy who wrote his thoughts about his opinion, I thought I would write about mine on the matter.  You may find some of my 'Pros' not very appealing, and my 'Cons' very appealing.  But judge for yourself.

Pros
1.  A greater technical ability.  Its true.  I don't care what anyone says, you learn more in IT services than anywhere else.  You see so many things and different technologies and you get your hands in it all.  You see the latest and greatest technologies.  Not only that, but you are around many different IT people that you see and hear of things that you don't necessarily work with.  Typically, you see more in 6 months at an IT services company than you do in years at a single (non IT services) company.
2.  Greater confidence.  Thats right.  It builds confidence.  Confidence to stand in front of people.  Confidence to talk to people.  Confidence in yourself.  Its a great thing.
3.  More flexibility.  More freedom.  You can work  your customers around your personal schedule, and your schedule around your customers.  Either way you want it.
4.  More 'people' networking.  You meet a ton of people.  And that is good.
5.  You generally get paid more.  Yes, you do.  Think about it.  The IT services company rents you out at a ballpark number of $150 an hour.  Depending on your experience, you get whatever you negotiate out of that.  Either way, its typically more.
6.  Relationships.  This goes along with 'networking', but what I mean here is that you meet some good people.  You 'can' become friends with people.  I've meet some customers I personally call my friends.  And I'm glad for that.
7.  Travel.  :)  If you like to travel, and you work for a larger IT company, then you generally have the opportunity to travel.  That is pretty cool if you like to travel around.

Cons
1.  Longer work hours.  This stinks.  Its really hard to work a 40 hour work week if you do IT services right.  Just a fact of services life.  Don't expect to not be behind your laptop at home.  It just doesn't happen much unless you work on the help desk.
2.  You are used, just like a prostitute.  Some of your customers don't care about you, and they just want you to do your job.  That is fine, just expect it.  Some people just don't care about relationships (or a relationship with you), and if you DO care about relationships and people, this is not going to be fun for you.  But, you are no different than the prostitute, so get used to it.
3.  More wear and tear on your vehicle.  This is certainly not cool, but you can afford a newer one with the pay you get from this job.  Don't complain about this.
4.  More stress.  Yes, YOU are about 10 customers IT department.  Not 1, 10.  Now, if you are young and have the ego, you wont mind this.  But, you will get tired of this after time.  I spent the last 10 years in services, and trust me, you have more emergencies, more scheduled outages, and more off business hours calls than anyone that works for one single company.  You will work more and have less personal time, which equals higher stress and higher blood pressure eventually.  Not to mention deadlines of learning new things.  That is a lot of nights trying to learn something for the next day.
5.  Travel.  :(  I know I listed this as a pro, but if you don't like to travel, you wont like this part.  But, its part of the job.  Customers are everywhere.  Just a fact of life.

And look, if you don't think the IT services guy is like a prostitute, think again.  You (the prostitute) get rented out to companies from your boss (the pimp) for money.  You spend how ever much time they rent you for, then you go back to your company.  Doesn't sound like a prostitute?

Tuesday, November 5, 2013

Gartner Report: Leader In Session Boarder Controllers

I have to say I like the ACME Packet SBCs   They are pretty cool.  Take a look at this graph below from Gartner.  I think it says a lot.

Monday, November 4, 2013

Cisco 7941G IP Phone: Registration Rejected: Error Mismatch

I have seen this sort of thing before,  but just never taken the time to write about it.  I have recently had a Cisco 7941G IP phone that I needed to add for my own remote office setup.  I went into CUCM 9.1(2) and added the phone in and gave myself the correct DN.  All looks good, except that when I go to boot the phone up, I get the following message:

Im not real sure why I get this, and according to the phone profile, its the correct type.  However, if I delete my phone out and add it back as a 7941 (not the G-GE), it works correctly.  To me, that just seems odd, since the first time I did correctly select the right type of phone.

Saturday, November 2, 2013

Subnet Mask Cheatsheet

I found a subnet mask help somewhere online years ago and have held onto it.  Id like to give someone credit for this, but I have no idea where I got this.  But, I myself did not come up with this.  Again, I found it online somewhere and now Im sharing it with anyone who might need some subnet help.  Here it is:

Netmasks Expanded (/24 through /32)

Netmask 255.255.255.0 /24 (11111111.11111111.11111111.00000000)
1 subnet
LOW IP       HI IP
x.x.x.0      x.x.x.255

Netmask 255.255.255.128 /25 (11111111.11111111.11111111.10000000)
2 subnets
LOW IP       HI IP
x.x.x.0      x.x.x.127
x.x.x.128    x.x.x.255

Netmask 255.255.255.192 /26 (11111111.11111111.11111111.11000000)
4 subnets
x.x.x.0      x.x.x.63
x.x.x.64     x.x.x.127
x.x.x.128    x.x.x.191
x.x.x.192    x.x.x.255

Netmask 255.255.255.224 /27 (11111111.11111111.11111111.11100000)
8 subnets
x.x.x.0      x.x.x.31
x.x.x.32     x.x.x.63
x.x.x.64     x.x.x.95
x.x.x.96     x.x.x.127
x.x.x.128    x.x.x.159
x.x.x.160    x.x.x.191
x.x.x.192    x.x.x.223
x.x.x.224    x.x.x.255

Netmask 255.255.255.240 /28 (11111111.11111111.11111111.11110000)
16 subnets
x.x.x.0      x.x.x.15
x.x.x.16     x.x.x.31
x.x.x.32     x.x.x.47
x.x.x.48     x.x.x.63
x.x.x.64     x.x.x.79
x.x.x.80     x.x.x.95
x.x.x.96     x.x.x.111
x.x.x.112    x.x.x.127
x.x.x.128    x.x.x.143
x.x.x.144    x.x.x.159
x.x.x.160    x.x.x.175
x.x.x.176    x.x.x.191
x.x.x.192    x.x.x.207
x.x.x.208    x.x.x.223
x.x.x.224    x.x.x.239
x.x.x.240    x.x.x.255

Netmask 255.255.255.248 /29 (11111111.11111111.11111111.11111000)
32 subnets
x.x.x.0      x.x.x.7
x.x.x.8      x.x.x.15
x.x.x.16     x.x.x.23
x.x.x.24     x.x.x.31
x.x.x.32     x.x.x.39
x.x.x.40     x.x.x.47
x.x.x.48     x.x.x.55
x.x.x.56     x.x.x.63
x.x.x.64     x.x.x.71
x.x.x.72     x.x.x.79
x.x.x.80     x.x.x.87
x.x.x.88     x.x.x.95
x.x.x.96     x.x.x.103
x.x.x.104    x.x.x.111
x.x.x.112    x.x.x.119
x.x.x.120    x.x.x.127
x.x.x.128    x.x.x.135
x.x.x.136    x.x.x.143
x.x.x.144    x.x.x.151
x.x.x.152    x.x.x.159
x.x.x.160    x.x.x.167
x.x.x.168    x.x.x.175
x.x.x.176    x.x.x.183
x.x.x.184    x.x.x.191
x.x.x.192    x.x.x.199
x.x.x.200    x.x.x.207
x.x.x.208    x.x.x.215
x.x.x.216    x.x.x.223
x.x.x.224    x.x.x.231
x.x.x.232    x.x.x.239
x.x.x.240    x.x.x.247
x.x.x.248    x.x.x.255

Netmask 255.255.255.252 /30 (11111111.11111111.11111111.11111100)
64 subnets
LOW IP       HI IP
x.x.x.0      x.x.x.3
x.x.x.4      x.x.x.7
x.x.x.8      x.x.x.11
x.x.x.12     x.x.x.15
x.x.x.16     x.x.x.19
x.x.x.20     x.x.x.23
x.x.x.24     x.x.x.27
x.x.x.28     x.x.x.31
x.x.x.32     x.x.x.35
x.x.x.36     x.x.x.39
x.x.x.40     x.x.x.43
x.x.x.44     x.x.x.47
x.x.x.48     x.x.x.51
x.x.x.52     x.x.x.55
x.x.x.56     x.x.x.59
x.x.x.60     x.x.x.63
x.x.x.64     x.x.x.67
x.x.x.68     x.x.x.71
x.x.x.72     x.x.x.75
x.x.x.76     x.x.x.79
x.x.x.80     x.x.x.83
x.x.x.84     x.x.x.87
x.x.x.88     x.x.x.91
x.x.x.92     x.x.x.95
x.x.x.96     x.x.x.99
x.x.x.100    x.x.x.103
x.x.x.104    x.x.x.107
x.x.x.108    x.x.x.111
x.x.x.112    x.x.x.115
x.x.x.116    x.x.x.119
x.x.x.120    x.x.x.123
x.x.x.124    x.x.x.127
x.x.x.128    x.x.x.131
x.x.x.132    x.x.x.135
x.x.x.136    x.x.x.139
x.x.x.140    x.x.x.143
x.x.x.144    x.x.x.147
x.x.x.148    x.x.x.151
x.x.x.152    x.x.x.155
x.x.x.156    x.x.x.159
x.x.x.160    x.x.x.163
x.x.x.164    x.x.x.167
x.x.x.168    x.x.x.171
x.x.x.172    x.x.x.175
x.x.x.176    x.x.x.179
x.x.x.180    x.x.x.183
x.x.x.184    x.x.x.187
x.x.x.188    x.x.x.191
x.x.x.192    x.x.x.195
x.x.x.196    x.x.x.199
x.x.x.200    x.x.x.203
x.x.x.204    x.x.x.207
x.x.x.208    x.x.x.211
x.x.x.212    x.x.x.215
x.x.x.216    x.x.x.219
x.x.x.220    x.x.x.223
x.x.x.224    x.x.x.227
x.x.x.228    x.x.x.231
x.x.x.232    x.x.x.235
x.x.x.236    x.x.x.239
x.x.x.240    x.x.x.243
x.x.x.244    x.x.x.247
x.x.x.248    x.x.x.251
x.x.x.252    x.x.x.255

net mask:

1111 1100 == 252

--------------------------------------------------------------------------------

Pozar's two-bit(tm) addressing

4-bit  m m m m
2-bit  m m
(.1)   0 0 0 0  0 0 0 1           (.2) 0 0 0 0  0 0 1 0
(.17)  0 0 0 1  0 0 0 1          (.18) 0 0 0 1  0 0 1 0
(.33)  0 0 1 0  0 0 0 1          (.34) 0 0 1 0  0 0 1 0
(.49)  0 0 1 1  0 0 0 1          (.50) 0 0 1 1  0 0 1 0
(.65)  0 1 0 0  0 0 0 1          (.66) 0 1 0 0  0 0 1 0
(.129) 1 0 0 0  0 0 0 1         (.130) 1 0 0 0  0 0 1 0
(.193) 1 1 0 0  0 0 0 1         (.194) 1 1 0 0  0 0 1 0
(.225) 1 1 1 0  0 0 0 1         (.226) 1 1 1 0  0 0 1 0

--------------------------------------------------------------------------------

Younker's tables

Here's a table showing the relationship between the / notation, the byte
notation, and the corresponding binary numbers (with a dot every eight
digits) for the 32 bit addresses.  I've thrown in a count of how many
Class A/B/C networks the larger networks encompass.

/ Notation   Binary                               Byte Notation  #Class
----------   -----------------------------------  -------------- ------
/0           00000000.00000000.00000000.00000000  0.0.0.0         256 A
/1           10000000.00000000.00000000.00000000  128.0.0.0       128 A
/2           11000000.00000000.00000000.00000000  192.0.0.0        64 A
/3           11100000.00000000.00000000.00000000  224.0.0.0        32 A
/4           11110000.00000000.00000000.00000000  240.0.0.0        16 A
/5           11111000.00000000.00000000.00000000  248.0.0.0         8 A
/6           11111100.00000000.00000000.00000000  252.0.0.0         4 A
/7           11111110.00000000.00000000.00000000  254.0.0.0         2 A
/8           11111111.00000000.00000000.00000000  255.0.0.0         1 A
/9           11111111.10000000.00000000.00000000  255.128.0.0     128 B
/10          11111111.11000000.00000000.00000000  255.192.0.0      64 B
/11          11111111.11100000.00000000.00000000  255.224.0.0      32 B
/12          11111111.11110000.00000000.00000000  255.240.0.0      16 B
/13          11111111.11111000.00000000.00000000  255.248.0.0       8 B
/14          11111111.11111100.00000000.00000000  255.252.0.0       4 B
/15          11111111.11111110.00000000.00000000  255.254.0.0       2 B
/16          11111111.11111111.00000000.00000000  255.255.0.0       1 B
/17          11111111.11111111.10000000.00000000  255.255.128.0   128 C
/18          11111111.11111111.11000000.00000000  255.255.192.0    64 C
/19          11111111.11111111.11100000.00000000  255.255.224.0    32 C
/20          11111111.11111111.11110000.00000000  255.255.240.0    16 C
/21          11111111.11111111.11111000.00000000  255.255.248.0     8 C
/22          11111111.11111111.11111100.00000000  255.255.252.0     4 C
/23          11111111.11111111.11111110.00000000  255.255.254.0     2 C
/24          11111111.11111111.11111111.00000000  255.255.255.0     1 C
/25          11111111.11111111.11111111.10000000  255.255.255.128
/26          11111111.11111111.11111111.11000000  255.255.255.192
/27          11111111.11111111.11111111.11100000  255.255.255.224
/28          11111111.11111111.11111111.11110000  255.255.255.240
/29          11111111.11111111.11111111.11111000  255.255.255.248
/30          11111111.11111111.11111111.11111100  255.255.255.252
/31          11111111.11111111.11111111.11111110  255.255.255.254
/32          11111111.11111111.11111111.11111111  255.255.255.255

Here's an example of how to get from the binary number 11000000 to
the decimal number (192).

11000000 =>  128*1 + 64*1 + 32*0 + 16*0 + 8*0 + 4*0 + 2*0 + 1*0
             = 128 + 64   + 0    + 0    + 0   + 0   + 0   +   0
             = 128 + 64
             = 192

Another example (using an arbitrarily chosen binary number):

10000100 => 128*1 + 64*0 + 32*0 + 16*0 + 8*0 + 4*1 + 2*0 + 1*0
            = 128 + 0    + 0    + 0    + 0   + 4   + 0   +   0
            = 128 + 4
            = 132


Friday, November 1, 2013

Cisco Switch QoS: 12.2(40) IOS And 'auto qos' Thoughts

I have run into this a lot in the past, where I come across a switch/router that doesnt have QoS configured correctly.  Sometimes its not a big deal, but sometimes it is.  I came across a few switch configs that did not have the "priority-queue out" command where phones resided and on the uplinks.  Here is an example of what I saw:
EXAMPLE:
interface FastEthernet0/2
 description Host/IP Phone
 switchport access vlan 2
 switchport mode access
 switchport voice vlan 3
 srr-queue bandwidth share 10 10 60 20
 srr-queue bandwidth shape  10  0  0  0 
 mls qos trust device cisco-phone
 mls qos trust cos
 macro description cisco-phone
 auto qos voip cisco-phone 
 spanning-tree portfast
 spanning-tree bpduguard enable

They had done the 'auto qos' command, probably thinking this would be enough.  However, the version of code was 12.2(35) on this 3560 switch.  What they probably didn't know was that in the code prior to version 12.2(40), the 'priority-queue out' command does not get implemented with auto qos.  You have to manually go and put that in.   And you need that command in there so that you have a true priority que.   Always check QoS when coming behind someone.