Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

Prioritising Some numbers on queue

hi people

we are running call center and using call manager 8.5 with UCCX 8.5, we have some critical customers who want to attend there without waiting in the queue, please help me out and give me good suggestion to prioritize some numbers so they would not wait in thr queue and also if i want these call on a particular agent extension..?

please help me i would be highly thankfull..

3 ACCEPTED SOLUTIONS

Accepted Solutions

Re: Prioritising Some numbers on queue

If I understand you correctly, you would like to determine if a calling number is a priority call, and if it is, find their assigned Agent, attempt that Agent, and if they cannot be reached, go to the queue.  Is that right?

If so this is one way to do that with a single script solution.  If you needed to have the feature exist in multiple scripts, then you'll want to separate your data from your logic. I.e., Subflow, Document Repository, External Data Source, etc.

Variables

java.util.HashMap priority_callers = {
     java.util.HashMap m = new java.util.HashMap();
     m.put("6125551111", "agent1");
     m.put("6125552222", "agent2");
     return m;
}
String calling_number = ""
User target_resource = null
String target_csq = "Support_CSQ"

Script

Start
Accept (--Triggering Contact--)
calling_number = Get Call Contact Info (--Triggering Contact--, Calling Number)
If (priority_callers.containsKey(calling_number))
     True
          Set Priority (--Triggering Contact--, Assign: 10)
          target_resource = Get User (User ID: (String) priority_callers.get(calling_number))
               Successful
                    Select Resource (--Triggering Contact--, target_resource)
                         Connected
                              End
                         Failed
               Unsuccessful
     False
Select Resource (--Triggering Contact--, target_csq)
     Connected
          End
     Queued
          Queue Loop:
          Play Prompt (--Triggering Contact--, P[queue_msg.wav])
          Call Hold (--Triggering Contact--)
          Delay 30 sec
          Call Unhold (--Triggering Contact--)
          Goto Queue Loop
End

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Re: Prioritising Some numbers on queue

Hi, yes, I did. I just did not have time.

Let's start with something simple. First, we are going to create an application looking up the calling number aka ANI in an XML database which is stored in the Document Repository of the UCCX server.

Save it as priorityList.xml (watch out for the encoding - must be UTF-8!) and upload it to the Document Repository.

Then try this script:

Variables:

doc - type Document

match - String

ani - String

In your final script, the value of ani will be assigned by the Get Call Contact Info step, of course. For now, let's assign the initial value of "12345". The rest of the variables have default values (DOC[] and "", respectively).

First, we create an XML document, referencing the XML file we just uploaded, like this: DOC[priorityList.xml]

Next, we run an XPath query: "//entry[@ani='"+ani+"']/@ani" Watch for the quotes.

This Xpath query in English: return the value of attribute ani of the first element named entry whose ani attribute matches the value of the script variable ani (which is, in our case, 12345 - so it actually returns "12345").

Next, if there are any matches (meaning the value of variable match is not null), we set the priority to 10.

Test it with the initial value of ani = 12345 (should be a match there) and with "00000" or any number not in priorityList.xml. There should not be a match. Use Reactive Debugging to see whether it matches (value of match should be anything other than "") or it does not (value of variable match stays "").

G.

Re: Prioritising Some numbers on queue

Hi,

well yes, if you update the XML file, you must upload it to the Document Repository. Otherwise, how would the UCCX know that the file has been updated?

You can put it wherever you want to, but best before the part where the script selects the agents (probably the Select Resource step).

Yes, you can make as many test applications with scripts as you want.

G.

17 REPLIES

Prioritising Some numbers on queue

Assuming these customers are always calling from the same number, you can look at their caller ID and prioritize on that.  If they call from different numbers, do you customers enter any account number which might identify them?

david

New Member

Prioritising Some numbers on queue

you can store those priority numbers either in xml file / db

you can target a particular agent 1st and after timeout/threshold then target CSQ

New Member

Prioritising Some numbers on queue

Thanks for the reply david and lohjintiam....

david i have some managers fixed numbers and customers who will call from same number so changing of numbers is not the issue,

lohjintiam:

kindly explain me how to do it if i have to use xml file for this scenerio and yeah i will target that particular agent but from this every call will go to that agent first and than CSQ...?/

Re: Prioritising Some numbers on queue

If I understand you correctly, you would like to determine if a calling number is a priority call, and if it is, find their assigned Agent, attempt that Agent, and if they cannot be reached, go to the queue.  Is that right?

If so this is one way to do that with a single script solution.  If you needed to have the feature exist in multiple scripts, then you'll want to separate your data from your logic. I.e., Subflow, Document Repository, External Data Source, etc.

Variables

java.util.HashMap priority_callers = {
     java.util.HashMap m = new java.util.HashMap();
     m.put("6125551111", "agent1");
     m.put("6125552222", "agent2");
     return m;
}
String calling_number = ""
User target_resource = null
String target_csq = "Support_CSQ"

Script

Start
Accept (--Triggering Contact--)
calling_number = Get Call Contact Info (--Triggering Contact--, Calling Number)
If (priority_callers.containsKey(calling_number))
     True
          Set Priority (--Triggering Contact--, Assign: 10)
          target_resource = Get User (User ID: (String) priority_callers.get(calling_number))
               Successful
                    Select Resource (--Triggering Contact--, target_resource)
                         Connected
                              End
                         Failed
               Unsuccessful
     False
Select Resource (--Triggering Contact--, target_csq)
     Connected
          End
     Queued
          Queue Loop:
          Play Prompt (--Triggering Contact--, P[queue_msg.wav])
          Call Hold (--Triggering Contact--)
          Delay 30 sec
          Call Unhold (--Triggering Contact--)
          Goto Queue Loop
End

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.

Anthony Holloway

Please use the star ratings to help drive great content to the top of searches.
New Member

Re: Prioritising Some numbers on queue

yeah anthony i will test these mathod in my lab then i wil ask you if i would face any issue regarding,,,actually i am not good in scripting i just made basic script and i dont want to test this in the production environment, Thanks buddy

New Member

Re: Prioritising Some numbers on queue

hello anthony

i have tried this script in editor but failed to understand that logic as i am weak in scripting but my boss has asked me to do that so i am working hard on it but unfortunately not gettiing it done.

as i am doing in production environment, tell me can i do it in test environmnet on the same ccx editor??

and also share if you have any video related to it.

Thankyou for your valuable solutions.

Prioritising Some numbers on queue

Hi,

well if you have access (IP addres, login name, password) to a compatible UCCX server, then yes, you can use the same script editor, why not.

About the script itself: do you understand the requirements? I mean, if I asked you to pull out a piece of paper and a pencil, would you be able to draw the scheme of the call flow? Like a flowchart? If yes, why don't you do that. I mean it. Then post it to here.

Also, can you please provide us with the license level of your UCCX (production environment) - is it Premium, Enhanced or Standard? For instance, XML is enabled in the Premium version only.

Thanks.

G.

New Member

Re: Prioritising Some numbers on queue

hi

thanks for your kind support.

yes i have access to the UCCX server, can i test it separatly by making new script...?

We have Premium license and our requiremnt is:

we have some senior manager numbers to whome we want to do priority by not letting them wait in the queue, whenever they call to our contact center their call should be accepted on priority basis without waiting in the queue.hope you understand my requirement do let me know if you have question.

well i am attaching screen shot of my original script and do let me know if you want anyother information.

Re: Prioritising Some numbers on queue

Hi,

about the test and production environment: well, you can create a new script for the test environment but it would be ideal to create the script in the test environment first, test it extensively and then copy it over to the production environment.

Can you tell me how often the list of senior managers change? I am thinking about a database table that would store the phone number, the name of the manager, and optionally, the extension of their preferred agent.

This database table could be administered by a simple web based application.

What's your opinion on that?

G.

New Member

Re: Prioritising Some numbers on queue

hi

yeah thats agood way to do that but it needs a lot of work and time, we should simplify it by storing it in xml what u say??

and data of managers will be modify monthly i think so.

Re: Prioritising Some numbers on queue

Well, XML is a way, too.

Can you please show me the script you are working on? I just want to see where to begin.

G.

New Member

Re: Prioritising Some numbers on queue

i have attached in previous post...attached again please check

New Member

Re: Prioritising Some numbers on queue

hi

have you got attachment...??

Re: Prioritising Some numbers on queue

Hi, yes, I did. I just did not have time.

Let's start with something simple. First, we are going to create an application looking up the calling number aka ANI in an XML database which is stored in the Document Repository of the UCCX server.

Save it as priorityList.xml (watch out for the encoding - must be UTF-8!) and upload it to the Document Repository.

Then try this script:

Variables:

doc - type Document

match - String

ani - String

In your final script, the value of ani will be assigned by the Get Call Contact Info step, of course. For now, let's assign the initial value of "12345". The rest of the variables have default values (DOC[] and "", respectively).

First, we create an XML document, referencing the XML file we just uploaded, like this: DOC[priorityList.xml]

Next, we run an XPath query: "//entry[@ani='"+ani+"']/@ani" Watch for the quotes.

This Xpath query in English: return the value of attribute ani of the first element named entry whose ani attribute matches the value of the script variable ani (which is, in our case, 12345 - so it actually returns "12345").

Next, if there are any matches (meaning the value of variable match is not null), we set the priority to 10.

Test it with the initial value of ani = 12345 (should be a match there) and with "00000" or any number not in priorityList.xml. There should not be a match. Use Reactive Debugging to see whether it matches (value of match should be anything other than "") or it does not (value of variable match stays "").

G.

New Member

Re: Prioritising Some numbers on queue

Thanks for the support ,

well  everytime we have to update just xml file in doc repositary if we want to add a new number...?? and let me know where i put this on my case i thunk it should be right after get contact info what u suggest and we had assign priority of 10 to those numbers who are matched with xml document right....??

i have made this script in test environment tell me one more thing, can i make another test application in uccx for this test script and call the trigger to test my script...??

Re: Prioritising Some numbers on queue

Hi,

well yes, if you update the XML file, you must upload it to the Document Repository. Otherwise, how would the UCCX know that the file has been updated?

You can put it wherever you want to, but best before the part where the script selects the agents (probably the Select Resource step).

Yes, you can make as many test applications with scripts as you want.

G.

New Member

Re: Prioritising Some numbers on queue

HI

Thanks much for prompt response, well i have  a plan to test it tonight, i will let yuou know if there is any problem i would face.

Appreciate highly your prompt response.

573
Views
0
Helpful
17
Replies