RSS

Author Archives: amyengineer

About amyengineer

Network engineer generally amused by life.

Interop 2013 – HP’s UC SDN Application for Lync

Thanks to HP Networking* I got to attend Interop last week and it was quite the experience.  Besides being inundated with tons of cool technology, ample opportunities to chat with some incredible engineers, and some really good food, I actually saw a proof of concept SDN application for voice that was definitely intriguing.

Now I’m one of those who has heard the phrase SDN enough times in the last few months that I often want force-choke anyone who dare whispers anything about network programmability in my presence.  Up until recently I have focused pretty exclusively on voice, and while route/switch engineers are wondering if this SDN thing is really going to affect them, I guarantee it isn’t even a blip on the radar for most voice engineers.

That’s why this UC&C SDN Application for Lync from HP was interesting.  You see, HP has taken SDN and paired it with Lync – now the SDN controller finds out from Lync about the endpoints and how much bandwidth a dynamic desktop sharing session needs, and then marks packets and ensures they are treated properly along their network journey. Sort of reminds me of RSVP but without all the heavy configuration. It also gets the bonus of receiving stats on the flow for quality reporting.

There’s a decent demo here:  http://www.youtube.com/watch?v=byMtYpmh1xQ

I was going to write up how this solution was working, but I found this post which already does an excellent job of that *and* has a nice pretty pictures: http://www.nojitter.com/post/240153039/hp-and-microsoft-demo-openflowlync-applicationsoptimized-network

Now not being a Lync guru, I am not sure how helpful those that are Lync gurus think this solution will be, but the proof of concept gets me thinking about what SDN might look like for all our other latency sensitive voice applications. To me it looks like voice engineers might have to pay attention to SDN after all.

*Disclosure: HP paid my expenses to Interop and arranged for me as a blogger to see presentations, demos, and experts on their products. While they did an excellent job providing information and resources for their invited bloggers, they didn’t pay for me to say nice things about them. Opinions are of course my own because I am far too stubborn to have it any other way.


Published 05/13/2013

 
Leave a comment

Posted by on 2013/05/13 in SDN

 

Tags: , ,

Unity Connection tidbits: forwarding voicemails by extension

Here’s a question I get asked quite often, “how do I forward a voicemail to someone by extension instead of by name?”

As it turns out, most people would rather have their fingernails pulled out one by one with a set of rusty pliers than to have to type in the first and/or last name of a user into a phone keypad.

Unity Connection does make a provision for extension dialing instead of named dialing when addressing/forwarding messages, but it is a global setting, so everyone will need be onboard*. I highly doubt this will be an issue…

Just mosey on over to System Settings > Advanced > Conversations and look for Disable Spelled Name Searches**. Should look something like this:

Disable Spelled Name Searches

Just check the box and you’re done!***  Yay you!

*See the comments section, Mike was kind enough to point out how to do this on an individual basis.  I’ve never been asked to do this for a single person, but it’s good to know it can be done.

**I desperately wish they would have called it something like Forward Voicemails by Extension (I know, clever, right?) to make it easier to find, but alas, now you know…

***Note this is not a feature you get to use with voice recognition, see documentation here: http://www.cisco.com/en/US/docs/voice_ip_comm/connection/8x/gui_reference/guide/8xcucgrg110.html#wp1168437

Published 4/10/2013

 

Tags: ,

Your name please…

One of the woes we voice engineers deal with on nearly every deployment is the compelling need users have to not only see the calling number of the individual bothering them via telephone, but also the name.  I assume this is so they can add the names of the really annoying callers to a list that gets mailed to the North Pole every December.  (hey, those telemarketers deserve that coal they get in their stockings, no question about it…)

While every deployment is different and I am far too lazy to outline every possible configuration for calling name to show up for users, I will highlight the importance of the command set below being in the router configuration if you are dealing with H323 gateways, calling name is being delivered in the Facility IE, and your inbound calling name isn’t being displayed on the phone*:

voice service voip
h323
h225 display-ie ccm-compatible

How will you know you need this command set?

Well, let’s say you’ve done your due diligence and confirmed with the carrier that calling name *is* being sent. Please don’t skip this step, you will beat your head against your desk until unconscious when you find you’ve been troubleshooting a calling name issue for days and the customer never ordered the service on the line.

Let’s say you have also confirmed, with my favorite debug of all time debug isdn q931, that you are seeing calling name in the debug.  In some cases, like the one we are discussing, calling name may be coming in the Facility IE, and you should see it clearly in the debug**.  It will look something like this:

RX <- FACILITY pd = 8  callref = 0x018C
Facility i = 0x9F8B0100A117020101020100800F41524E4F4C4420414D592020202020
Protocol Profile =  Networking Extensions
0xA117020101020100800F41524E4F4C4420414D592020202020
Component = Invoke component
Invoke Id = 1
Operation = CallingName
Name Presentation Allowed Extended
Name = AMY

Typically if you have gotten this far and your inbound calling name is still not showing, you are nearly there.  Adding the aforementioned h225 display-ie ccm-compatible command should do the trick.

Note that if you are dealing with a gateway running really old IOS, you may not see this command available.  You’ve got to be on at least version 12.4(20)T or else you will be one sad panda. Once you enter these commands, you’ll not only see calling name in the debugs, but your customer should see it on the phone as well and think you are a miracle worker, as we voice engineers often are.

*If you love yourself you’ll be dealing with H323 voice gateways and not MGCP. MGCP, however, does have some nifty check boxes to get  Facility IE calling name working – however, that remains material for another blog post.

**If you don’t see calling name in the debug, then you likely need to enter a few commands to make the Facility IE delivery work. Your serial interface should look something like this:

interface Serial0/0/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
isdn supp-service name calling
isdn outgoing display-ie

Try the above commands if you are seeing something like the debug output below. Also be certain that your switch type supports Facility IE, not all switch types do. On a related note, switch type must be agreed upon between yourself and the carrier, don’t believe you can change one end and the other end will just work. It’s voice mind you, rarely do things just *work*…

Facility i = 0x9F8B0100A11D02010106042B0C0900801254656C65547261636B204F7574626F756E64
Protocol Profile =  Networking Extensions
0xA11D02010106042B0C0900801254656C65547261636B204F7574626F756E64
Component = Invoke component, Unsupported operation

***Additional FWIW – I recently did an upgrade from 6.1 to 8.6 and inbound calling name wasn’t a problem on 6.1 without the ccm-compatible command, but after the upgrade calling name only worked with this command added. I also found this link from 2010 to helpful when troubleshooting this type of issue: https://supportforums.cisco.com/docs/DOC-8873

Published March 3/26/2013

 
8 Comments

Posted by on 2013/03/26 in Calling name, H323 gateways

 

Tags: , , , ,

You old softie…

If you already know how to add a softkey template to a 3905, 8961, 9951 running as a SIP phones, you get a gold star, a free pass, and an opportunity to move along, there’s really nothing to see here.

But, if you’re like me, a voice engineer that spends a good deal of time supporting older releases and older models of phones, here’s something you might not have run into as of yet.

To configure a softkey template on one of these newer phones running as SIP, your old ways are useless and will leave you feeling puzzled and shunned by devices that should obey your every whim.

Why is this?  Well, even though you can still apply a Softkey Template on the phone configuration page of these new SIP phones, the device will just ignore it, much like an insolent teenager ignores a parent telling them to get a hair cut or turn that music down.

So what’s the deal?

Let me introduce you to the concept of a Feature Control Policy.  A Feature Control Policy allows you to select options that you are traditionally used to defining on a softkey template, but because everyone *loves* change, you now get to define them here – in the place nobody bothered to tell you about.

To create a Feature Control Policy, go to Device -> Device Settings -> Feature Control Policy and Add New.

Yours will look something like this:

Only yours will be wrong if it looks like this.

You see, it isn’t enough that this process changed entirely from the old way of doing it, BUT, the process has one more trick for you to overcome.  Just checking the Enable Setting box for the feature you want to show up on your phone doesn’t cut it.  You gotta go that extra step and check the Override Default box for your option as well.  Why?  Because the interface designers have a dastardly sense of humor is my guess.  Whatever the reason, check the column on the left and the column on the right for your desired feature, otherwise the results will be rather disappointing.

To apply this beautiful gem of a Feature Control Policy you just created, you need to assign it to the phone. You can do so on the phone configuration page. Be sure to go ahead and reset your device.

So that’s it. Note that there is no re-ordering of buttons in this brave new world.  Your button order is predetermined and no you cannot bribe it to display otherwise, no matter how many beers are offered to the networking gods.

Published 11/13/2012

 

Tags: , , , ,

Review: INE Voice Bootcamp, the two week experience

So many of you regular readers have caught onto the fact that I recently attended the INE Voice Boot Camp and I know many of you are anxiously awaiting details on what the experience was like and what to expect should you decide to attend the class yourself. So let’s get to it!

First up – class structure.  This is not a class for the faint of heart. It is not the class for those who work for 4 hrs and then need a nap.  It’s the class for those of you who work an intense 12+ hrs for days in a row and still maintain some bit of mental clarity at the end of it all. Maybe not a lot of mental clarity, but some nonetheless.

Officially class start time was 9am and lectures ended by 4-5pm.  Unofficially, students came as early as 6-7am, at least that’s the rumor. I wasn’t there to verify, because as we all know, morning people are mutants. As far as the evenings went, students always stayed as late, sometimes as late as 10-11pm. Personally I need some sleep to function, so I often called it quits about 8 or 9 pm – just as my brain began to melt out my ears.

On the same subject of structure, I liked the fact that the labs, which were setup pretty much like what I am told you would encounter in the actual lab exam, were open on the weekend and accessible via VPN at all times. It was nice to go in for a few hours on the weekend and work through some of the topics that were giving me grief. Yes, that might just have been all of the topics, but not the point.

Shifting gears, let’s talk about class content. Class was a refreshing mix of lecture and lab and blessedly free from the dreaded death-by-power-point. Of course all the major topics on the blue print were covered, but one of the things I enjoyed about this class was it didn’t stop at just here’s-how-to-pass the exam.  We covered how to think critically about tasks, configurations, and design. Yes, granted, a lot of it was how-to-think-like-a-proctor, but so much more – how to be a better voice engineer overall. This appeals to the part of me who knows it’s not just about certification but about being at the top of your game as an engineer.

So what about the teacher Mark Snow? Well, other that the class consensus that he has really great hair*, I’d have to say Mark knows his stuff cold. With that being said, he didn’t spoon feed students and he didn’t just give us the answers even though that would probably at times have been easier.  He provided a great many helpful lab suggestions and methods for being successful, but I would stop short of calling them tricks or quick tips.  You aren’t going to pass the CCIE Voice lab, or any other CCIE lab with a basketful of helpful hints, it’s hard work and mastery over the topics that will get you there and Mark provided excellent guidance on how to achieve that goal.

Lastly, I’d like to give a shout out to my awesome fellow students who not only provided great feedback in the class but were also great resources to one another, and to myself especially. When working through labs, these guys were invaluable to each other when trying figure out what on earth was going wrong in a configuration that should be working and wasn’t. We’ve all been there. Some of us more so than others.

So there you have it – was it a positive experience? Absolutely! Did it get me closer to my CCIE voice? Definitely.  In fact, I really just embarked on this study quest and I feel miles ahead.  I’m really glad I went when I did, because I now know how and where to focus my study efforts, what my weakness are, what my goals should be, and how I can measure my preparedness level accurately.

So for the INE Voice boot camp experience, I’m giving it two thumbs up, awarding it 5 gold stars, clicking the Like button, marking it as a Favorite, giving it some Klout, etc…

*Yes, records will indicate that this was an actual topic of discussion at one point. And can you really make an argument against it?

**My awesome class comprised of extremely talented voice engineers: Miguel, Mike, Matthew, Justin, Trent, Mark, Israel, Vincent, and Juan. And of course, myself.  I’m pretty sure you can tell which one I am.

***In the interest of full disclosure, INE did pay for my seat in the class and my company paid my expenses, but once again I’ll point out neither paid me to say nice things about them. If the class had been horrible, trust me, I would have let you know, with of course, as much snark as I could possibly fit into one scathing review. I’m talented like that.

 

Published 10/29/2012

 
8 Comments

Posted by on 2012/10/29 in CCIE, INE Voice Bootcamp

 

Tags: ,

Tricks full of awesome: monitoring voicemail ports remotely

Here’s a neat trick I picked up in INE voice boot camp this week*: you can monitor Unity Connection ports from a telnet session.

Why would you want to do this?

Well, one, you are studying for the CCIE voice lab and you know that you won’t have access to the Unity Tools website to download the port monitor tool during the exam.

Two, you like cool and easy ways to do things and you think installing the port monitor tool is a terrific hassle**. I happen to fall into both categories.

Now to get this going – first be sure to turn on remote port monitoring in Unity Connection. Go to System Settings -> Advanced -> Conversations ->

Remote Port Monitor Parameter

You will see Enable Remote Port Status Monitor Output at the top if you’re in CUCM 7.x. Just check the box and enter the IP address of the router or host you will be initiating the telnet session from.

Then go to your router (or device of your preference) and issue this command:

telnet 10.10.10.10 5000 /source-int lo0 (note the IP address is the IP address of your Unity Connection server and the source-int should match the IP address you put in Unity Connection)

Here’s a nice sample of the output before I created a voicemail account for a user – you can see the caller’s extension and the voicemail pilot. You can also see the name of the voicemail port being used. Also note that when the system doesn’t find a voicemail box it plays the Opening Greeting instead.

Branch1#telnet 10.10.10.10 5000 /source-int lo0
Trying 10.10.10.10, 5000 … Open
CallData, 2, CallerId=1001, CalledId=8000, RedirectingId=, Origin=16, Reason=1, CallGuid=A409F619FAF34289B7F7092AAA6719A2, CallerName=My User, LastRedirectingId=, LastRedirectingReason=1024, PortDisplayName=PortGroup1-002
Application, 2, 1001, AttemptSignIn
State, 2, 1001, State – AttemptSignIn.cde!Dummy
State, 2, 1001, Event is [NULL]
Application, 2, 1001, PHTransfer
State, 2, 1001, State – PHTransfer.cde!LoadInfo
State, 2, 1001, Event is [TrueEvent]
Application, 2, 1001, PHGreeting
State, 2, 1001, State – PHGreeting.cde!PlayGreeting
Display, 2, 1001, Call answered if needed
Display, 2, 1001, Playing greeting for Call Handler: Opening Greeting
State, 2, 1001, Event is [HangupEvent]
State, 2, 1001, State – PHGreeting.cde!DoHangup
State, 2, 1001, Event is [HangupEvent]
Display, 2, 1001, Idle

Now here is the output after I created the voicemail box. You can see that it recognizes the user has a voicemail box and prompts the user to authenticate:

CallData, 2, CallerId=1001, CalledId=8000, RedirectingId=, Origin=16, Reason=1, CallGuid=EE22CD20CC714BF7A723D24A4153B306, CallerName=My User, LastRedirectingId=, LastRedirectingReason=1024, PortDisplayName=PortGroup1-002
Application, 2, 1001, AttemptSignIn
State, 2, 1001, State – AttemptSignIn.cde!Dummy
State, 2, 1001, Event is [NULL]
Application, 2, 1001, SubSignIn
Display, 2, 1001, Subscriber Sign-In
State, 2, 1001, State – SubSignIn.cde!AnswerPhone
State, 2, 1001, Event is [TrueEvent]
State, 2, 1001, State – SubSignIn.cde!AuthenticateUser
Application, 2, 1001, –>SubAuthenticate
State, 2, 1001, State – SubAuthenticate.cde!TryCounter
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherID
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubAuthenticate.cde!LoadSubscriberMinimalData
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherPIN
Application, 2, 1001, –>SubAuthenticatePW
State, 2, 1001, State – SubAuthenticatePW.cde!ValidatePwd
State, 2, 1001, Event is [HangupEvent]
Application, 2, 1001, <–SubAuthenticatePW
State, 2, 1001, Event is [HangupEvent]
Application, 2, 1001, <–SubAuthenticate
State, 2, 1001, Event is [HangupEvent]
Display, 2, 1001, Idle

And one final output I thought was interesting (yes I am a geek). Here is what it looks like when you enter the wrong pin, then enter the wrong ID and wrong pin when prompted again.

CallData, 2, CallerId=1001, CalledId=8000, RedirectingId=, Origin=16, Reason=1, CallGuid=8667665A30304959991818F0EE9C47B7, CallerName=My User, LastRedirectingId=, LastRedirectingReason=1024, PortDisplayName=PortGroup1-002
Application, 2, 1001, AttemptSignIn
State, 2, 1001, State – AttemptSignIn.cde!Dummy
State, 2, 1001, Event is [NULL]
Application, 2, 1001, SubSignIn
Display, 2, 1001, Subscriber Sign-In
State, 2, 1001, State – SubSignIn.cde!AnswerPhone
State, 2, 1001, Event is [TrueEvent]
State, 2, 1001, State – SubSignIn.cde!AuthenticateUser
Application, 2, 1001, –>SubAuthenticate
State, 2, 1001, State – SubAuthenticate.cde!TryCounter
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherID
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubAuthenticate.cde!LoadSubscriberMinimalData
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherPIN
Application, 2, 1001, –>SubAuthenticatePW
State, 2, 1001, State – SubAuthenticatePW.cde!ValidatePwd
Display, 2, 1001, Subscriber sign-in failed. Alias – myuser. Extension – 1001. Caller Id – 1001.
State, 2, 1001, Event is [FalseEvent]
Application, 2, 1001, <–SubAuthenticatePW
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubAuthenticate.cde!TryCounter
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherID
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherPIN
Application, 2, 1001, –>SubAuthenticatePW
State, 2, 1001, State – SubAuthenticatePW.cde!ValidatePwd
Display, 2, 1001, Subscriber sign-in failed. Alias – . Extension – - Not Available -. Caller Id – 1001.
State, 2, 1001, Event is [FalseEvent]
Application, 2, 1001, <–SubAuthenticatePW
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubAuthenticate.cde!TryCounter
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherID
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubAuthenticate.cde!LoadSubscriberMinimalData
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubAuthenticate.cde!GatherPIN
Application, 2, 1001, –>SubAuthenticatePW
State, 2, 1001, State – SubAuthenticatePW.cde!ValidatePwd
Display, 2, 1001, Subscriber sign-in successful. Alias – . Extension – - Not Available -. Caller Id – 1001.
State, 2, 1001, Event is [Expired]
State, 2, 1001, State – SubAuthenticatePW.cde!ReturnExpired
State, 2, 1001, Event is [Expired]
Application, 2, 1001, <–SubAuthenticatePW
State, 2, 1001, Event is [Expired]
State, 2, 1001, State – SubAuthenticate.cde!ReturnExpired
State, 2, 1001, Event is [Expired]
Application, 2, 1001, <–SubAuthenticate
State, 2, 1001, Event is [Expired]
State, 2, 1001, State – SubSignIn.cde!AuthenticateUser_Expired
State, 2, 1001, Event is [NULL]
State, 2, 1001, State – SubSignIn.cde!RunSignInUtil
Application, 2, 1001, –>SubSignInUtil
State, 2, 1001, State – SubSignInUtil.cde!CheckAccountLocked
State, 2, 1001, Event is [FalseEvent]
State, 2, 1001, State – SubSignInUtil.cde!CheckExpiredAndNew
State, 2, 1001, Event is [NewUser]
State, 2, 1001, State – SubSignInUtil.cde!RunEnrollmentConv
Application, 2, 1001, –>SubEnrollment
State, 2, 1001, State – SubEnrollment.cde!PlayEnrollmentIntro
State, 2, 1001, Event is [TTStarEvent]
State, 2, 1001, State – SubEnrollment.cde!ReApplyRoutingRules
State, 2, 1001, Event is [NULL]
Application, 2, 1001, <–SubEnrollment
State, 2, 1001, Event is [NULL]
Application, 2, 1001, <–SubSignInUtil
State, 2, 1001, Event is [NULL]
Application, 2, 1001, AttemptSignIn
State, 2, 1001, State – AttemptSignIn.cde!Dummy
State, 2, 1001, Event is [NULL]
Application, 2, 1001, PHTransfer
State, 2, 1001, State – PHTransfer.cde!LoadInfo
State, 2, 1001, Event is [TrueEvent]
Application, 2, 1001, PHGreeting
State, 2, 1001, State – PHGreeting.cde!PlayGreeting
Display, 2, 1001, Call answered if needed
Display, 2, 1001, Playing greeting for Call Handler: Opening Greeting

*Credit for this tip goes to classmate Israel, thanks to him for bringing it to the class’s attention!

**Last time I tried to install the port monitor tool for Unity Connection on a Windows VM, it crashed the VM.  This may or may not be blamed on the tool itself, but after having to restore from snapshot, I am a bit wary of installing the tool.

 
8 Comments

Posted by on 2012/10/19 in CCIE, Unity Connection

 

Tags:

How can I screw this configuration up? Let me count the ways…

In case you ever get to feeling you’re pretty darn good at your job, just go and sit a CCIE boot camp.  That’ll sober you up in no time at all.

While I may be a whiz at voice implementations, troubleshooting phones and gateways, and heaven forbid, fixing that faxing problem you’ve been having, voice boot camp has a way of taking me right back to the starting line. In other words, I have spent the week getting schooled by boot camp. But in a good way. I think.

I’m seriously amazed, and simultaneously alarmed, at how much knowledge and methodology slips away when presented with tasks in a lab exam format. Maybe it’s the sketchy requirements and time constraints, but many of the mistakes I made this week working through the labs I know (or at least desperately hope) I would not have missed in real life.  I’m a professional for goodness sake!

For your entertainment value, and of course, educational value (mostly the former), I present to you some highlights from this week’s lab blooper reel.

I can’t call out from the PSTN phone. I hear dial tone when I take the phone off hook, but I get a fast busy on all calls I try to make.  Maybe there’s some class of restriction on the phone.  Maybe the dial peers are wrong. Or maybe it’s just that it’s a PSTN phone and I should quit prefixing numbers with a 9. Duh!

Inbound calls to the phones are not working. Maybe it’s my SIP trunk.  Maybe it’s my translations and transformations for globalized call routing. Maybe it’s a codec issue. Or maybe it’s just that I created the internal extensions in a partition that I didn’t add to any calling search spaces. Duh!

This one is one of my favorites. Scratching my head, I can’t figure out why calls aren’t matching my CUCM translation pattern: 9.[1-8]……… . I count the wildcards, 9 wildcard dots just like there need to be for the dialed string. 9 wildcard dots. DOTS. DOTS! In CUCM! Yeah, those might be wildcards in IOS, but CUCM has a difference of opinion.  Maybe I should use Xs. Just like ever other translation/route/transformation pattern in CUCM ever! Duh!

I cannot make a 911 call from a branch phone.  I check the translation pattern, I check the transformation patten, I check the route pattern.  I’m looking for all the ways I could have screwed up routing the call out.  What I am not looking for is whether my MGCP gateway is still registered. Which it wasn’t. And thank you Mark Snow for not laughing out loud on that one. And while we are on the subject, why on earth would I have changed the name of my MGCP gateway??!!  That must have been the smoking crack portion of the day...

Okay, I think that’s all the embarrassment I am prepared to own up to in this episode.  You may now go about your day feeling far superior in your knowledge and troubleshooting skills.

If you’ve got some good “well, duh!” moments from class or real life, I’d love to hear them.  It’d go along way to healing my self-esteem, plus it’s always fun to laugh at the other guy.

Published 10/13/2012

 
6 Comments

Posted by on 2012/10/13 in CCIE

 

Tags: ,

Going to camp…

Today I began a two week CCIE voice boot camp with INE*.  Now, I am well aware that CCIE boot camps are really best used as finishing schools. Once you think you’re ready to sit the lab, you attend one of these and polish off any rough edges before the big day.

Well, I am not too proud to admit that I am nowhere near ready to take the exam.  But day one of camp has given me fantastic insight into the ground I still have left to cover, which spans from here to what looks to be eternity as far as I can tell.

I’m reminded of a scene from Short Circuit* where the main characters are frantically trying not to be disassembled all over the place by their pursuers and the robot announces “Strategy!” – to which the response is “what about it?” – answer: “NEED SOME!”

Yep.  That’s about the gist of it.  Clearly no CCIE exam is going to be passable unless you’ve got one seriously concrete strategy for taking an epic amount of work, methodically parsing it out, and proceeding to bang out the solutions despite intense pressure and time constraints.

I also realize I just stated the obvious- the real question is what’s the best time management strategy out there?

Today I was presented with an excellent plan- the details of which you also can get by attending an INE camp (I can’t just go around giving away their secrets for free, they’ve got to make a living as well!), but I recognize that I’m going to have to cater any strategy to the way I think and work best.

The most successful strategy is going to address my weaknesses and capitalize on my strengths.

My two greatness weaknesses when it comes to time strategy I’d sum up like this:

1. Down the rabbit hole – it’s not in my nature to let go of a problem.  If something is not functioning properly, I am inclined to work on it until it’s fixed or the cows come home. And since the cows don’t have my address, there is no dropping a task that isn’t going my way and picking it up later, it’s just rabid obsession until the solution is discovered.

This will *kill* my time in the lab. Since I’m pretty sure I can’t bring in some sort of electric shock device that will pummel me with 1.21 gigawatts if I spend too long on one task, I am going to have to practice letting go, moving on, and coming back later. Easier said than done in my world.

2. OCD, OCD, OCD. When given a list of tasks, it fills me with great joy to start from the beginning and methodically work my way down through the tasks, checking things off in a nice orderly manner.

Yeah, this won’t work for the lab.  No way the proctors are giving an exam that can be implemented going line by line.  Time to rethink how to accomplish tasks in tandem and more efficiently and let go of my love of linear propriety.

Another thing that I hadn’t really considered until it was brought up today: I won’t be using my laptop for the exam.  I know this sounds silly because we all *know* we won’t get to use our own equipment for the lab, but think about how much you are used to doing things using your own stuff. Now think about how different it’s going to be when you don’t have access to those familiar items.

I think about work sites I’ve gone to where they give you some crappy laptop to use because they don’t want you plugging into their network with a laptop that actually works. No, you get to use the laptop with none of your cool tools and awesome buttons and shortcuts. Instead you have to make do with whatever pitiful excuse of software/hardware that happens to be provided to you and still make beautiful things happen.

This drives home the point that I need to practice with a setup as close to the lab as possible.  Even then I know there will be differences, but hopefully minor enough not to throw me off my game.

But the CCIE is not all about time strategy. I think my favorite line from today’s class was when Mark Snow said that “the CCIE doesn’t make you an expert, you are an expert before you go in.”  The test just puts a stamp of approval on what you should already be to pass the exam.

Like any other certification, it should be about gaining the knowledge, not just learning to pass the test.  All the time strategies in the world aren’t going to help if you don’t have the foundational skills and theory to do the job.

**If you haven’t ever seen Short Circuit, put on your parachute pants, get out the AquaNet, and rent this movie. You will thank me for it.
*In the interest of full disclosure, INE invited me to attend this boot camp and paid for my seat, my company is paying my expenses, and neither paid for me to say nice things about them.  My opinions are mine, I’m selfish like that.

Published: 10/08/2012

 
5 Comments

Posted by on 2012/10/08 in CCIE Voice

 

Tags:

Don’t Panic: upgrading Presence 8.5 to 8.6(4)

Recently, I got the pleasure of having a rather nail-biting experience upgrading from Presence 8.5 to 8.6(4). I will recount my joyful experience so all of you can point, laugh, and then confidently take on your own upgrade.

If you are planning an upgrade to CUPS 8.6(4) let me first say don’t even consider this seemingly minor upgrade without reading Tom’s post on the subject first. Go here http://networkingnerd.net/2012/07/05/upgrading-to-cisco-unified-presence-server-8-64-caveat-jabber and heed Tom’s excellent warnings and advice.

I just have a few things to add to the topic given my recent experience. One, the required .cop file acts a bit flaky* when upgrading from the version I was on, 8.5.4.10000-16, to 8.6(4).  The first server I installed it on got a “successfully installed” message immediately followed by a “.cop not found” error message. Always a good way to start, right?

Looked something like this:

08/29/2012 12:19:38  Install of ciscocm.cup.refresh_upgrade_v1.01.cop completed SUCCESSFULLY
——————————————————————–

(28609) Wed Aug 29 12:19:46 CDT 2012

install option

(28609) Wed Aug 29 12:19:46 CDT 2012
ERROR: Option file /common/download//ciscocm.cup.refresh_upgrade_v1.01.cop not found.

I promptly ssh’ed to the server, did a #show version active and confirmed the .cop was indeed hanging out where it was supposed to be.

Loading the .cop on the secondary server didn’t produce the same error as before after the “successfully installed” message, BUT this time the installation wouldn’t stop running.

I gave it about an hour, knowing the install on the primary only lasted ten minutes. Then, I took a deep breath and rebooted the server. When it came back up, the .cop file was definitely there and the services all came up. I decided now was a good time to start breathing again.

Now came the actual installation of the upgrade file on the primary server.  This took FOREVER.  Okay, really about 3 hours, but it felt much longer.  During this time the server undergoes a reboot and progress for the upgrade must be monitored via the console.  Eventually, I got the longed for “installation successful” message and the server went down for what I thought was the final reboot.

Now, you should know that during these voice server upgrades, I never choose the option to reboot and switch automatically to the new version, so imagine my surprise when the server came up with the 8.6 version active instead of my old, comfortable 8.5 version.

Confused at the server’s puzzling disregard for my authority, I started digging around to find out why this brazen box had disregarded a direct order.  As I’m looking for clues, I get a “you can’t handle the truth” message along with a “database connection failed” warning. Okay, really only the latter, but my stress level is escalating rapidly and somebody’s about to yell “code red.”  I then peek over at the console and see that the system is shutting down. Oh, okay. Sure. Why not. I obviously have no control over this process any how…

Now as you might have already guessed, the server was actually rebooting, AGAIN, and the 8.5 version once again is the operating system of choice. Okay, I wish I had known to expect that…

So cue the installation on the secondary server, which *almost* goes off without a hitch.  Apparently the so-called “non-bootable” ISO I downloaded from CCO is, in fact, very bootable.  And guess whose virtual machine was unknowingly set to boot to DVD first.  Yep, lucky me!

Reboot time came around during the upgrade process and instead of a smooth continuation of the upgrade process, I get a console screen full of “would you like to do a media check? how about a nice game of chess?”

Easy fix here, just went into VMWare management of the server, told the server to boot to BIOS, changed the boot order, crossed fingers the installation would overlook this infraction, and allowed the server to boot again.  Fortunately the installation was feeling supremely guilty for stressing me out and decided to let this one slide.  At least that’s how I took it.

The last bump I hit on this upgrade happened when switching versions on the secondary.  The primary server switch versions went picture perfect.  The secondary server, not so much.  I landed on this during the version switch:

starting cupOnL2BootInitd

And I stayed there.  One hour later, still there.  And three hours past that, well, you get the idea…

A Google search led me to bug ID CSCto83389 which, to paraphrase, says something like, hey, this file is hung, TAC can fix it from the command line, give them a call.

It’s at this point I decide to call it a night and start fresh and much less angsty in the morning.

Fortunately I awoke to what turned out to be OMG Miracle Thursday.**  When I logged into the server to get my serial number for TAC, I noticed the secondary server was no longer in version limbo-land, but had completed the switch over to version 8.6.

The services were running and all was right with the world.  There were also birds singing and a chorus of angels outside my cubicle window.***

Published 09/03/3012

*flaky – you know, the technical term for when things are wonky…

**also known as you-are-one-lucky-sob-day and holy-crap-buy-a-lottery-ticket-day

***those may have been window washers wearing white jumpsuits…

 

Tags: , , , , ,

We’re off to see the Wizard…well, almost.

You the reader may have noticed a lack of Unity posts in my blog stream.  That’s likely because most of my encounters with Unity involve a great deal of expletives not to be repeated even in impolite company, and quite frankly, the nightmares of my adventures still haunt me.

But here’s one episode involving only minor cursing and if you are encountering this issue, you will once again want to send me flowers and offer to wash my car in gratitude.

So, say you are a Unity administrator and you have hired an eager young engineer that has naively agreed to take on your administrative voicemail responsibilities.  You, snickering the entire time, happily launch the Unity web interface and proceed to assign the Default Administrator class of service to your young Jedi’s voicemail account.

Just as you press enter and begin to feel the burdensome weight of responsibility lifting off your tired, hunched shoulders, you are greeted with this party pooper.

Determined not to be dissuaded, you do like every other time things do not cooperate from the Unity web interface, you proceed to log into the Unity box as the end-all-be-all Unity Administrator account – with all the rights and permissions the great and powerful Permissions Wizard bestowed upon thee at time of install.

But you find that even the preeminent Unity Administrator is greeted with the same darned* message.  Typically one would be tempted to re-run the Permissions Wizard at this point in the troubleshooting process, and I totally understand that instinct.  If you haven’t dealt with Unity much, often times its administrative accounts mysteriously lose the permissions required for Unity to chug along at its assigned tasks.  Unity accounts somehow fall unknowingly into a Bermuda triangle where they are subject to losing attributes that you *know* were previously assigned.  There is no logical explanation for their disappearance, but looking behind the curtain and consulting the great and powerful Permissions Wizard often sets the accounts straight and returns order to the universe. And you get a shiny pair of red shoes**.

But, before you follow the yellow brick road off to the Wizard, go ahead and open in Active Directory the account of the user you are trying to add the Default Administrator class of service.  Yes, I know this may require talking to one of *those* server guys, but sometimes it’s a necessary evil.

Check the Permission tab on the user and see if the Include inheritable permissions from this object’s parent box is checked:

You see, this has to be checked not only on the account of the person attempting to change the class of service to Default Administrator, but it also needs to be checked on the account of the person you want to shirk your Unity administrative tasks onto.

Once that box is checked, you should find assigning the class of service no longer generates the error, and you are free to take your vacation and leave the new guy holding the bag.

*yes, this is a family-friendly blog, so yes, that response has been modified to reflect it

**only if you are red-headed, female, and go shoe shopping on your way home from work

Published: 07/25/2012

 
2 Comments

Posted by on 2012/07/25 in Administrator, Unity

 

Tags:

 
Follow

Get every new post delivered to your Inbox.

Join 97 other followers