cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
5361
Views
25
Helpful
10
Replies

UCCX Priority Queueing (big list)

3MAD
Level 1
Level 1

Dears I hope you all doing good,

 

    We have CCX with Finesse, we have a simple script that loop though a xml file for VIP users to get them to the first free agent (test phase), now we want to update this file with a large xml file (350 mobile/extension).

 

    We tried to use this xml file but we always get the "we're currently experiencing system problems" instead of looping through the file, I think this is because a limitation on how many steps in total should be on a script.

 

What is the best way to identify VIP users?

 

Thanks and best regards

Emad

1 Accepted Solution

Accepted Solutions

Here is an example of a small xml document and an xpath which can pull the status of a caller based on phone number, and it does not use looping.

 

uccx-xpath-vip.png

If this were inside of UCCX, it would look like this:

 

uccx-xpath-in-script-form.png

 

As for the call subflow with the array, that might look like this:

 

The subflow script which contains the array list:

uccx-vip-subflow-script.png

 

The main script which calls it to query the existence of the calling number in the vip list:

uccx-vip-subflow-main-script.png

 

The parts you cannot see here are the input and output tabs of the Call Subflow step, which are below:

uccx-vip-subflow-inputs.png

uccx-vip-subflow-outputs.png

 

I hope these examples help you, and none of them require increasing your max steps.

View solution in original post

10 Replies 10

Do you have a database you can dip into to check the calling number?   The database check could reduce the steps to only a handful.   The only other option that I'm aware would be to increase the number of allowed steps.   Not sure that would be your best long term solution however.

 

Thanks,

Glenn

Thanks a lot for your reply,

I liked the Database option, could you please guide me on how to create a database with VIP numbers and how to search for it? if you have a video of document also it will be very useful. I didn't create database before 😕

Thanks again

Anthony Holloway
Cisco Employee
Cisco Employee

First, you shouldn't need to loop an XML file.  Using Xpath and a known unique identifier, like a calling number, you should be able to access the element in the XML document precisely.

 

Second, if you don't need the overhead of managing an external document, you could just have a separate script which holds the information in it, and call it via subflow from any script.  Is there something special about XML that you need?

 

One such example could use an Array if all you are needing to check is for the existence of a phone number in a list.

 

Another could be a HashMap if you would also like to store some additional information along side the number, like a name.


@Anthony Holloway wrote:

First, you shouldn't need to loop an XML file.  Using Xpath and a known unique identifier, like a calling number, you should be able to access the element in the XML document precisely.


First, Thanks a lot for your reply. I'm currently new to the programming world, I just started to learn about scripting on CCX, can you please give an example or a link on how to do this? the only way I know is to create a variable "i" and an "if" statement that looks into the ".xml" file, increment "i".

 


Second, if you don't need the overhead of managing an external document, you could just have a separate script which holds the information in it, and call it via subflow from any script.  Is there something special about XML that you need?

This is brilliant, also I need an example "sorry for that"

 


One such example could use an Array if all you are needing to check is for the existence of a phone number in a list.


I think creating an array is the best approach for me, I did some search on how to create it on CCX with no luck, can you please explain it to me

 

Thanks for your support and time I really appreciate it.

 

 

Here is an example of a small xml document and an xpath which can pull the status of a caller based on phone number, and it does not use looping.

 

uccx-xpath-vip.png

If this were inside of UCCX, it would look like this:

 

uccx-xpath-in-script-form.png

 

As for the call subflow with the array, that might look like this:

 

The subflow script which contains the array list:

uccx-vip-subflow-script.png

 

The main script which calls it to query the existence of the calling number in the vip list:

uccx-vip-subflow-main-script.png

 

The parts you cannot see here are the input and output tabs of the Call Subflow step, which are below:

uccx-vip-subflow-inputs.png

uccx-vip-subflow-outputs.png

 

I hope these examples help you, and none of them require increasing your max steps.

Thanks a lot for the detailed reply, thanks for your time.

The "subflow script" did't work for me, I got this error "unidentified method aslist", so I decided to go with the first approach, I have to edit my .xml list to have the "status" attribute.

Currently this is what my .xml file looks like "<number1>xxxx</number1>".

Thanks again for your help.

Java method names are case sensitive, so asList() and aslist() are not interchangeable.  I think if you try that small adjustment, you might find that it does work.

Yes I know that, I tried to do it as your example "asList" and I got the error. once I open my work PC I will also try "aslist" and check. But I think it's how I structure the Array inside my Variable, I didn't know how to do it properly.

Oh ok. Well, good luck with it.

Thanks, I appreciate your support :)