cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3496
Views
25
Helpful
20
Replies

UCCX call route to same Agent

AliyevRas
Level 1
Level 1

Hello guys

 

I have a question about ACD of the UCCX. In case of unlike disconnect, can I configure UCCX version 12.5 to route call of the customer to the same Agent from CSQ. For example Agent have a call from CSQ from Customer _A. Customer told his case and in the middle of the call the customer disconnected due to Connection issue. When Customer_A dial back again can I automatic route call to the same Agent? If it possible save information about customer call for example for 1 hours. When same Customer_A call again CSQ he can route to any other available agent

 

Thank you

1 Accepted Solution

Accepted Solutions

Anthony Holloway
Cisco Employee
Cisco Employee
Yes, sort of.

You will need two main things to make this work.

1) Sessions - there is a session object created for every call by default. It lasts, by default, 30 minutes after the last activity on that object has taken place (you can increase the time in sys params). You are allowed to store pretty much any data inside of it you want. So, you would want to store the agent they connected to in there, as well as any other details you feel are useful.

2) Agent Based Routing - The select resource step can either select a resource from a CSQ or it can attempt to connect to a specific Agent. However, the behavior of the step changes depending on which one you choose. For example, if you choose CSQ, then you can queue the call and wait for the next available Agent. If however, you choose Agent, that Agent must be available in that moment, else the step simply fails and you'll need to move to the next step in your script, such as, looking for a broader group of Agents, or delaying and retrying the same Agent one or two more times, before moving on.

I hope that helps. Let me know if you have specific questions about either.

View solution in original post

20 Replies 20

Anthony Holloway
Cisco Employee
Cisco Employee
Yes, sort of.

You will need two main things to make this work.

1) Sessions - there is a session object created for every call by default. It lasts, by default, 30 minutes after the last activity on that object has taken place (you can increase the time in sys params). You are allowed to store pretty much any data inside of it you want. So, you would want to store the agent they connected to in there, as well as any other details you feel are useful.

2) Agent Based Routing - The select resource step can either select a resource from a CSQ or it can attempt to connect to a specific Agent. However, the behavior of the step changes depending on which one you choose. For example, if you choose CSQ, then you can queue the call and wait for the next available Agent. If however, you choose Agent, that Agent must be available in that moment, else the step simply fails and you'll need to move to the next step in your script, such as, looking for a broader group of Agents, or delaying and retrying the same Agent one or two more times, before moving on.

I hope that helps. Let me know if you have specific questions about either.

Thank you  Anthony

I understand your answer. I think yes it is the solution. 

Do you have example script of the pointed case? It will be very helpful for me.

No, not an example script, but I am happy to illustrate the points with examples of each, should there be a specific challenge you are facing. For example, if you do not know how to use sessions, I would say read my post here:
https://community.cisco.com/t5/contact-center/uccx-passing-variables-between-2-ivr-scripts/m-p/3726340

hi  Anthony Holloway

        I am looking for solution about the "last agent call " in UCCX system, I have a question, when customer's first call and queue in a CSQ, how the script do to fetch the exactly agentid or agent extension when this call is answed by an agent?

In the Select Resource step, there is an option to store the Agent's User ID as a variable of type User.

 

Here's an example:

scSampleAgentBaseRouting.PNG

 

Here are the variables I used:

scSampleAgentBaseRoutingVars.PNG

 

There are a few extra steps in this that could actually be omitted, but I put them in for the sake of following the flow of logic.

 

Hope this helps.

-Sean

 

P.S.  This is untested.  I just threw it together so you could have a visual reference.  I'm sure there a few debugging issues and additional logic necessary for PRODUCTION worthiness, that need to be addressed.  YMMV....

Why are you setting the variable sesContactInfoSession twice, back-to-back, negating the first step?
Why are you creating a new session for the caller, when one is already present for every call?

...call it the equivalent of a typo--I don't know what distracted me while scribbling the original down.  I finally had some time to go back and debug, and test.  This one actually works.  (Yeah, nevermind the comment about it being untested...).  I just like the challenge of seeing if I can produce the result that the original post sought.

 

2020-0617-agentBasedRouting.png2020-0617-agentBasedRoutingVars.png

 

Hope this makes sense.  If there is a different/better way to do this, please share.

 

-Sean

Oops! You have the same thing in this revised script too.

 

Double setting the same variable:

uccx-double-session.png

 

Creating new session when one already exists:

uccx-new-sessions.png

...what is the correct/preferred method of adding the Mapping ID to the Session without creating a new Session?  

 

-Sean

The Session Mapping step of course!

 

EDIT: 

 

Here's a sample for you to review

 

uccx-previous-agent-routing.png

As always Anthony superb job (+5).



Response Signature


Thank you!

...so I went back and re-read your previous post and the ones above.  I updated my script so it now does not create additional sessions, nor removes / nulls the current session (saw this in my debugging). 

 

Posting this for critique, as I really want to make sure I understand this concept. 

 

2020-0623-callContactReturnToPrevAgent.png

 

....thanks for all the input.

-Sean