cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1202
Views
30
Helpful
15
Replies

Adjusting/Setting Abandoned Call for Report Data

Sgj
Level 1
Level 1

Hello,

 

I have a request from the customer.

If the caller hangs up within 15 seconds of entering the queue, they don't want to count this as an Abandoned Call on a Report Data. But if the caller hangs up after 15 seconds, that will count as an Abandoned Call on a Report Data.

 

Is there a way to change or set the time of the Abandoned Call?
On CUCM or CUCX or ....... ?
Please explain step by step.

 

Thanks in advance,

Shin

15 Replies 15

Anthony Holloway
Cisco Employee
Cisco Employee

Ok, so all calls are abandoned by default, and it's the call center's job to handle them.  We can do this in one of two ways:

  1. We can send the caller to an Agent, in which case the call is marked as handled automatically
  2. We can use the Set Contact Info step to explicitly mark the call as handled when we choose to

#2 is the one you will need, and you can do that like this:

Start
Accept (--Triggering Contact--)
/* some other steps in here */ Set Contact Info (--Triggering Contact--, handled)
/* some other steps in here */ Terminate (--Triggering Contact--) End

Now, the tricky part is meeting your 15 second requirement.  You see, UCCX scripts are executed serially, top down, and there is no setTimeout like their might be in Javascript or other languages.

 

So, if we simply put the Set Contact Info step somewhere in our script, there's no guarantees it will even be executed (too late) or that perhaps it executes too soon.

 

Luckily, we do have some semblance of event driven programming in the way of exception handling.  We can catch when an exception occurs, and then do something as soon as it does.  We achieve that for when a caller hangs up like so:

 

Start
On Exception (ContactInactiveException) Goto Caller Disconnected
Accept (--Triggering Contact--)
/* some other steps in here */
Terminate (--Triggering Contact--)
Label Caller Disconnected:
Clear Exception (ContactInactiveException) Set Contact Info (--Triggering Contact--, handled) End

Now, we're still not done though, because if a caller hangs up at 16 seconds, we'd mark them as handled with that setup, so we have to check the total call duration and then conditionally mark it.

Variables
Time start = T[now]

Script Steps
Start
On Exception (ContactInactiveException) Goto Caller Disconnected
Accept (--Triggering Contact--)
/* some other steps in here */
Terminate (--Triggering Contact--)
Label Caller Disconnected:
Clear Exception (ContactInactiveException)
/* If the call was shorter than 15 seconds... */ If (t[now].getTime() - start.getTime() <= 15000) True
/* ...then mark the call as handled */ Set Contact Info (--Triggering Contact--, handled) False
/* ...otherwise, leave it be */ End

And that should be it.  I hope that  satisfies your request to have it explained step by step. Let me know how it goes.

Awesome reply @Anthony Holloway (+5) all day long.



Response Signature


I'd literally do this for a living. If only someone was willing to pay me for it. ;)

Thank you for replying my post

 

For additional info about this case:
My customers ask me for help, whether it can be changed or not
So this is to set from the existing, not making a new one

 

Can I share the existing script that I get from customers' CUCX?

If yes, where I can share it?

Maybe you can help me after seeing the existing Script.

Because I'm new about "Script"

Sure, you can email it to me: anthony@netguys.net.

I have sent an email to you

 

Shin

First up, create a new Time variable called start

uccx-shin-variable.png

Now create a new label right after the Terminate step

uccx-shin-label.png

Place an If step under your new label with this condition:

t[now].getTime() - start.getTime() <= 15000

uccx-shin-if.png

Place the Set Contact Info step inside the If True branch, and set it to Mark as Handled

uccx-shin-handled.png

We need to clear the exception handler, else we might trigger it again with the Set contact Info step, thus causing the script to jump back to the new label, and enter an infinite loop.

uccx-shin-exception-clear.png

Finish it off with the Exception handler like so...

uccx-shin-exception.png

Perform a Tools > Validate to make sure it's all good

uccx-shin-validated.png

Do you know how to save, upload and refresh to make the change take effect?

I'm not entirely sure about that

Are there steps?

I'll skip the pictures this time, and just type it out.

1. Save the file to your computer
2. Login to UCCX Web Administration interface in your browser as an Administrator
3. Locate the Applications > Script Management page
4. Upload the script to this page
5. Choose to Refresh both the Application and the Script

It doesn't work, because it's still displayed as an abandoned call in their report data application

 

But, thank you for the help and solutions that have been given

that's it then? no hope for making it work?

No. I am still solving this problem

Ok, best of luck to you then. I'd say post back, but it kind of seems like I've lost your trust. :(

No, thank you for the solution you have given me

I so appreciate that