The Importance of TAC Along With Some SSO Info.

 

  • For those that have worked with me this formatting approach is either going to make you smile or make you cringe with memories of overly complex email updates.

 

OPENING

Someone once asked me why I seem to enjoy dealing with TAC, Tech Support, Support, insert some other title here as much as I do and the answer was simple: every time I deal with TAC I come away with some new piece of knowledge. 

Yes I know we all have played TAC roulette where maybe the person you get handling your case doesn’t seem to have that much knowledge of what you are calling about. Maybe they are just starting down their career path and it’s their first day. Maybe English isn’t their first language. In the end though , for me, calling TAC isn’t just about solving a problem but rather learning something new each time I end a given case. That doesn’t have to be something technical because like many things in life , the results of an action are only as good as the effort you put into that action.

As a reference point I’ll talk about a recent case I worked through around getting SAML based SSO, IDP = Okta, to work with Cisco Collab. After burning on this for a few days with two internal engineers we then engaged both Cisco and Okta TAC. Having worked with the Cisco engineer we got before we knew we were in a great spot. The Okta engineer was new to us though. The first Webex we did with all of us didn’t go great, no real progress seemed to be made and the Okta TAC had to drop earlier. It would have been easy to just write that engineer off as not caring as much as the Cisco TAC did or maybe he didn’t know what he was talking about but he asked us to reschedule for later in the afternoon.  So we waited and within about 30 minutes of that second call starting the Okta Engineer and resolved both issues. Maybe they were able to clear their head , maybe they spoke to someone else , maybe they didn’t do anything at all related to our case and just found the right logs to look at when we all got back together.

The point being that TAC is there to solve problems for their customers , among other things, and this engineer did just that which is why we all pay for such support. So great, what new things did I get from that case that made this another enjoyable scenario:

NON-TECHNICAL

This was the first time I had gone through dealing with Okta support so I got to learn what that process is and what mechanisms they use to interface with their customers.

TECHNICAL

I picked up this CUCM CLI driven command:

set samltrace level 

TAC also pointed us to these two documents which really seemed to help explain and troubleshoot SSO.

Troubleshoot SSO in Cisco Unified Communications Manager

SAML SSO Okta Identity Provider

CLOSING

Not every TAC engineer is going to be the all star you hope for but remember the following: life is a two way street. You as a customer have the responsibility to be a good customer on that call. You have a responsibility to do your part to try and make it easier for TAC to do their part and for me that comes down to always trying to learn something new. =)

Device Inaccessible in PCCE\UCCE

/disclaimer on

The following works with PCCE and UCCE with the same general theory approach being applicable in UCCX. Any account name changes , where possible, should be considered.

/disclaimer off

 

Hello Friend, it’s been awhile.

At my previous job we had two PCCE deployments , both 10.5(3) and 11.6(1), running off a CUCM 10.5 cluster. Their is this one small little account used in the Cisco Contact center world called PG User and you don’t know what fun is until that “remove all devices” button has accidentally been checked . Middle of the day. While in production. Managers and supervisors panic while co-workers feel complete shame and guilt for just a poorly designed UI element. Thankfully that has been improved in a later version of CUCM but that is a story for another day.

So lets say it’s happened , someone has clicked that button and removed your users from PG User. Here you are starting to add them back and having people login when you get the good old “Device Inaccessible” message from Finesse.  In a follow up article I’m going to show how you can really start to dig into this more as to the how and why with logs and your good old CLI friend OPC but for now what is the quickest move to get your agents back that doesn’t involve changing their numbers?

Before going over those steps the tag line , if you will, for this blog is one of my core approaches in life: Slow is smooth and smooth is fast. What that means to me is going SLOW and taking your time , within reason, is going to be SMOOTH and limit errors or repeat work which will result in FAST turn around times on your target. Keep that in mind with these steps because rushing through them will only create duplicate work.

FIXING THIS DRAMA

  1. Remove the device receiving that message from PGUser (Go SLOW here)
    1. Click Application User
    2. Find your PGUser account
    3. Controlled Devices
    4. Find the DN of the device
    5. Uncheck just that device
    6. Click Save
    7. Click Save
  2. Disable CTI Control of your device (Go SLOW here)
    1. Find your phone and switch to the DN
    2. Uncheck the “Allow CTI control box at the DN level on the phone”
    3. Click Save
    4. Click Apply Config
    5. Wait for phone to fully reboot and register again
  3. Add the device back to PG User (Go SLOW here)
    1. Click Application user
    2. Find your PGUser account
    3. Controlled Devices
    4. FInd the DN of the device
    5. Check the box to add it to PGUser
    6. Click save
    7. Click Save
  4. Enable CTI Control of your device (Go SLOW here)
    1. Find your phone and switch to the DN
    2. Check the “Allow CTI Control box at the DN level on the phone”
    3. Click Save
    4. Click Apply Config
    5. Wait for phone to full reboot and register again

Assuming you have done the SLOW part then everything should have been SMOOTH with no unexpected issues meaning you now have a FAST solution for this problem. Finally login to Finesse with the same device again and bask in the glory of all those inbound ACD calls!

Receiving Cisco Contact Center Update Notices in Webex Teams

I have a few different posts queued up that I am working on but this one is too useful , I think, to not make it a priority.

At CLUS in June I was in a session talking about rethinking what is possible with CVP and how you can leverage different API’s, SDK’s or whatever to go beyond traditional deployments.  This has really changed the way I approach the Cisco Contact Center space and ever since then I have been looking for ways to incorporate different elements into that world.

Everyone in the that Contact Center space, regardless of if its UCCX or PCCE or full blown UCCE, knows just how complex and how many different software elements make that engine go. From CVP to ICM to CUIC to Finesse and everything in between their are a million components meaning their are just as many if not more chances for bugs to creep up. It is inevitable for something like that to happen with so many moving parts and it is just as inevitable that their will be software updates , ES (Engineering Special) releases , hotfixes or similar items that come out to fix those issues. Previous notification of such was done in a few different ways either by the web, social media on critical items, your Account Team, email or some other manner.

Enter Webex Teams to make such release notifications substantially easier in my opinion. 

At some point recently Cisco started compiling all ES release notes in a nice table which sadly seems to only be in the partner space currently that or my current entitlements are wrong for access to it. I’m investigating that but I can tell you if you can get to the table it’s a great resource when looking for update knowledge which you can find here: Cisco Contact Center ES Release Table

What I want to focus on is this bottom section of the page which gives you a way to get update info directly into Webex Teams:

 

How To Get Notified About New ESs

Charlie is a bot which provides latest information about Latest Engineering Specials and other important updates.

  • Open Webex Teams.
  • Send a message ‘hi’ to update-charlie@sparkbot.io.
  • Or add update-charlie@sparkbot.io to any group.

Okay great so what does this actually do?

Once you add this bot then you are greeted by this welcome which gives you base info along with the current supported command list:

Charlie_start

Seems pretty straight forward , lets run one of these commands and see what happens. I’ll go with /ucce-updates-latest which it says will show me the 3 latest updates about Unified CCE solution releases and sure enough that is what I get:

charlie2

Pretty damn useful if you ask me and what is great is this bot doesn’t seem to be limited to just release updates as you can see by that last item above. Another example is this alert that came across previously talking about the Expansion of the Contact Center Solutions Plus Program: 

charlie3

While I am aware you can get this kind of info in different ways I see a huge ROI on this approach. Being able to add it to a space where you have your contact center team or just in general a more proactive notification approach like this can’t be beat. It’s not the same as getting yet another email notice as I find the nature of persistent chat solutions like Webex Teams to be more elegant.

Alright that is enough for this Sunday morning. Remember, keep rethinking your Contact Center experience and growing your knowledge base on a daily basis!

 

 

 

 

Rethinking Collab Thanks to CLUS and DevNet

CLUS2018

 

Here we are a few days after CLUS 2018 in Orlando and everything was great. I had arguably the greatest car ride ever to the CAE with A Fish, A Ginger , A Hat and an SE.  A Webex Teams Master and I tried to run a Physical Security Op against a vendor in the WoS and came very close. I got to take part in the Cisco Champions Behind the Scenes Tour which turned out to be one of my favorite things. I plan on doing another entry just about CLUS but I want to go over a concept that came out of the first session I was in on Sunday which was a 4 hour Deep Dive into CVP.

This session was essentially broken down into the following 2 categories:

  1. Traditional CVP information: The how, what, when , why
  2. DevNet Flavor of CVP: Full stack programming leveraging CVP

It’s that second item I want to talk about in this post.

My guess is if you know what CVP is or how to support it then you are somewhat familiar with Collab and the role CVP plays in Cisco Call Centers. You know, Call Centers those things where ACD routing and call queuing seem to dominate everything. In 2018 that thinking is no longer applicable which is what this session really tried to get across. Which brings me around to DevNet or coding in general. As the last 2 hours of the CVP session ended I was watching the reactions of what I guess are legacy Collab folks wondering what JSON, middleware and JavaScript among other things has to do with ringtone and endpoints.  Ask me that a few years ago and I might agree but having invested in the Webex Teams\Spark Ambassador program I was able to get the launching point I needed to move into the wonderful world of APIs\SDKs and various middleware and languages.

This has completely changed the way I approach Collab projects. Where before my thoughts were “are my local route patterns built right” or “do I have the correct CSS to call something” I now find myself thinking wouldn’t it be great to not think just about those traditional UC items but how to grow call flows and expand them out in ways we have never done before.

So with all that being said lets see where all this takes us, I am excited to keep moving forward and seeing how the Collab and DevNet worlds weave together and expand the way people communicate.

Getting Started:

Webex Teams Ambassador Program

DevNet

Getting Started With AXL

Cisco Live 2018 – Prep Week

This time next week I will be sitting in my hotel room in Orlando ready for Summer Camp with Friends or as it is more commonly known CLUS (Cisco Live US) and I can’t wait!

This year will be my first as a Cisco Champion and the recently re-branded as Webex Teams (Spark) Ambassador so that has opened a few new opportunities but most importantly a whole new group of amazing people to meet and network with.

Sure I am not looking forward to the heat and humidity but looking forward to learning more, to come back a better Collab\Contact Center Engineer then I am now and most importantly to come together again with a group of people that although for all but this week of this year I only see virtually mean so much to me.

Every year I say ” I am going to take it a bit easier with session load” so of course this year between Sunday and Monday I am in QTY 3 of the 4 hour lab sessions:

  1. UCCE Call Flow (yes I know the PCCE call flow is different)
  2. CVP Troubleshooting
  3. Cisco and Microsoft Federation 

The rest of my week is a mixture of PCCE, Finesse and Cisco+MSFT based sessions along with some CCP specific opportunities. DevNet sessions will be attended as much as possible. Get on that train or get out of the way because the world is no longer about punch down tools and DTMF but rather API’s and SDK’s.

Alright , too many hockey pucks to the head make me think that pace is a good idea…speaking of which ….We have a Bubble Hockey thing going on hopefully with a few friends..pics will be posted and cups will be won.

Anyway getting back to the important stuff.. I’m excited because a previous co-worker that has been an SE for awhile will be there. I’m excited because members of our account team will be there. I’m excited because it’s time to activate the Sherpa powers for Denise Fishburne. I’m excited to see the impact that Amy Engineer has on not just those that are lucky enough to know her but for thousands of technical people around the world.  Most of all I’m just excited to spend 5 days surrounded by amazing people doing amazing things.

 

Filename Changes for Agent Greeting with CVP 11.5(1)

WHAT: Starting with CVP 11.5(1) and onward the file naming convention used when the WAV file recording of an Agent Greeting (AG) is saved has changed.

BACKGROUND: For those that don’t know what AG is the following is an explanation though chances are high if you are reading this still you know what we are talking about.  Anyway here is the by the book definition taken from one of the official Cisco guides  Agent Greeting feature lets you record a message that plays automatically to callers when they connect to you. Your greeting message can welcome the caller, identify yourself, and include other useful contextual information. With Agent Greeting, each caller can receive a clear, well-paced, language-appropriate, and enthusiastic introduction. And it saves you, the agent, from having to repeat the same introductory phrase for each call”

OFFICIAL EXPLANATION: Going through the link you can find here we have this nice little section tucked at the very end of this section which tells the whole story, This release includes a change in the Agent Greeting file naming convention. The greeting file is now named using the convention PersonID_AgentGreetingType (instead of LoginName_AgentGreetingType). Because of this change, existing agent greeting files do not play until they are either rerecorded or renamed.

THOUGHTS: So this one got me right in the middle of going from PCCE 10.5(3) to PCCE 11.6(1). We all know the tried and true naming convention of Agent Greeting in previous versions of CVP:  loginname_AGType.wav or for example 1234_1.wav.

Most exciting because as we see above with this version of CVP their is a substantial change to what CVP is looking for on AG. The AGType component of the file doesn’t change any so you will still have your 1 for English, 2 for Spanish, 3 for Elvish or whatever other call types you have defined. What we want to focus on is the first element and sadly their is no administratively easy way to get that info but wait hiding in the documentation section of this a PERL script based approach that will , when you apply some logic to it, rename your current WAV files to the new expected file format.

This conversion process works and works damn well when you follow all the steps given. To quickly go over those steps:

  1. Copy or backup WAV files
  2. Run a SQL query against your AWDB to list the files to be renamed
    1. Adjust your query as needed depending your version
  3. Save query results to a CSV
  4. Save migration PERL script to same dir as CSV from line 3 above
  5. Run migration PERL script
  6. Bask in the glory of converted WAV files and copy to appropriate place on your CVP servers.

BONUS POINTS: Depending on your version of what or where you are trying to do this from but over all this SQL query run against the AWDB should give you the ability to manually get the PERSON ID assuming you know the PeripheralNumber which equates to the Agent ID and you can easily get that from CCE admin among other places.

Wildcards to change

  1. DB NAME = name of your AWDB
  2. AGENT ID = value defined at the CCE user level

SELECT [PersonID]
,[EnterpriseName]
,[PeripheralNumber]
FROM [DB NAME].[dbo].[t_Agent] where PeripheralNumber='AGENT ID'

DOCS:

  1. Installation and Upgrade Guide for Cisco Unified Customer Voice Portal, Release 11.5(1)
  2. PCCE Agent Greeting
  3. UCCE Agent Greeting