cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3541
Views
5
Helpful
4
Replies

Trasfer the call to another queue when all agents are logged out - UCCX script

Kristof-1
Level 1
Level 1

Hi,

 

I'm new to UCCX scripting. We have 2 applications with one queue each set up on our UCCX. All calls go to the 1st queue and are transferred by agents to another queue if necessary. We now want calls to be transferred to the other queue automatically when all agents are logged out of the first queue.

 

Our script checks if any agent is logged in and if true, the call goes in to the queue, if false, the call is transferred to another queue. We're transfering the call to CTI route point: TrasnferExt string with value 8002 in our script.

 

Below is the screenshot of my script. Can someone with more experience have a look and check if the script looks correct? Is there a better way of doing this?

 

Also, Cisco release notes say that the following is unsupported: Use of "Consult Transfer" or "Redirect" step from scripts to a translation pattern that maps back to a route point. I'm not sure I understand it. Does it mean that the way we've done it is not supported?

 

script.png

 

 

script2.png

1 Accepted Solution

Accepted Solutions

Mark Swanson
Level 4
Level 4

This unsupported configuration; "Consult Transfer" or "Redirect" step from scripts to a translation pattern that maps back to a route point... shouldn't apply to you. It basically means, if you transfer/redirect callers to a translation pattern (which is something you configured on CUCM) and this pattern maps back to a Route Point (RP) aka Application DN Trigger, then it would potentially cause problems. The call flow would look like this;

Let's say, x1000 (aka User) called x5000 (aka the Application DN Trigger) and then, the Call Redirect step forwarded calls to x8002 which is simply a translation pattern on CUCM. This pattern (x8002) would redirect callers to x5001, which is another or second Application DN Trigger. 

Just at a glance, your script looks okay to me. I don't know if you really need to redirect callers. You could simply dequeue the caller, reassign the CSQ and agents would handle callers from the same script. The only downside would be, whoever is running reports wouldn't be able to accurately gauge inbound calls via Application based reports but the highly used CSQ based reports would be okay.   

View solution in original post

4 Replies 4

Mark Swanson
Level 4
Level 4

This unsupported configuration; "Consult Transfer" or "Redirect" step from scripts to a translation pattern that maps back to a route point... shouldn't apply to you. It basically means, if you transfer/redirect callers to a translation pattern (which is something you configured on CUCM) and this pattern maps back to a Route Point (RP) aka Application DN Trigger, then it would potentially cause problems. The call flow would look like this;

Let's say, x1000 (aka User) called x5000 (aka the Application DN Trigger) and then, the Call Redirect step forwarded calls to x8002 which is simply a translation pattern on CUCM. This pattern (x8002) would redirect callers to x5001, which is another or second Application DN Trigger. 

Just at a glance, your script looks okay to me. I don't know if you really need to redirect callers. You could simply dequeue the caller, reassign the CSQ and agents would handle callers from the same script. The only downside would be, whoever is running reports wouldn't be able to accurately gauge inbound calls via Application based reports but the highly used CSQ based reports would be okay.   

Thanks Mark for your helpful tips.

Mark Swanson
Level 4
Level 4

Hold on... I do notice a problem with your script. You need to set the CSQ attribute prior to the Get Reporting Statistic step, otherwise, the value of 'iAgentsLoggedIn' would be -1. The result of the IF Statement would be "false". The caller would be redirected.

Does your other script contain the same logic; meaning, if there's no agents... then redirect the caller? If so, this would potentially cause endless looping if agents from both CSQs didn't login. You can resolve this problem by;

1. Only redirect callers from one script to another script.

2. Combine your scripts to create a single script. Use the dequeue step and set step to reassign the CSQ. Use a loop (int) counter and IF Statement to track the number of redirect/transfer attempts.

3. You can track callers by passing call data (i.e. Session ID, number of redirect/transfer attempts, etc.) between the scripts.

You may be right and the script is not correctly written but it works :) We tested the script today and it's working as expected. 

 

The other script is different and doesn't redirect the caller.