UCCX 10.6 Priority lost in callback queue

We have two inbound numbers/triggers, support and VIP.  I've adjusted the script so incoming calls to the VIP number have a priority of 10 set so they're always answered first when any assigned CSQ agent becomes available.  This works as expected.
We also have a callback queue, accessible from either support or VIPs CSQs after a variable amount of time.   VIP calls that opt for the callback option are losing their priority.   I thought priority belonged to the call, not the CSQ, so it would follow the call/session, but it doesn't.
So a 'live' VIP callback holding for 7 minutes will be answered before a 5 minute holding support call, but a VIP callback queue call 'holding' for 7 minutes will be answered after a shorter support call.
The VIP and Callback queues are two different triggers/applications, so I'm wondering if I need to retrieve the previous priority when the caller is passed to the new trigger?  I couldn't find a session or caller value holding the value in the UCCX Editor if so.  Or, can I look at the assigned CSQ name and reset the priority again?
Would it be as straightforward as
If (CSQ = "csq_name")
 True
 ... set priority
False
... do nothing
Thank you!

Hi
The priority, the CSQ variable, and all other elements of a call are part of the 'call context'. They are local to each call, so are not shared between calls.
That extends to separate calls from the same caller.
So if the original call, and the 'callback' call (by which I assume you mean a call that is made from the script dealing with the original call to a new instance of a script that ghost queues to an agent and then calls the caller back) are seen as two separate calls then they will not keep any info - that includes the CSQ var from the original script.
One way to deal with this would be to have two callback scripts, and send calls from VIPs to the CB script that sets Pri=10, leaving the normal support one at default.
Another way would be to signal between the original script and the CB script the priority by pushing accross some DTMF. 
If your callback implementation is not what I've imagined there may be more ways...
Aaron

Similar Messages

  • UCCX 9.0 Priority Routing within Queue

    Hello,
    I am setting up priority call queuing.  Here is the call flow.
    Caller dial the number to the AA script. (see below)
    The customer selections the option 2 and routes to the queuing script via a call subflow.
    The subflow script queues to one CSQ .  
    My agents not only log into this CSQ for option 2, but to other CSQs that come from other options #4 and #5 of the initial AA script (see below).   I would like to set Call priority for the option 2 CSQ to take be higher than the other calls when the calls route to the agents.
    AA:
    CSQ:
    This is what I thought would work.  However, it doesn't appear to be working.

    Hello,
    Does not work mean?  I see 3 calls in the other queues.  In the sHT_Dealer_Line_Q only my call is waiting.  My call isn't routing to the agent first.  The other calls with the Longest call waiting will go first.   (see Supervisor desktop screenshot)  Thanks

  • CCX 9 - Lost position in Queue

    Just out of curiosity, has anyone experienced a case when a user's position in queue was lost.  They were on hold 1st in the queue, then a second caller calls in, then they got bumped to 2nd?  This has been working flawlessly the last several months this has been in place, but we just got a complaint that it has occurred.  The CCX is located at a different location to the phones of where the problem was experienced.
    Attached a screen shot of the CCX script.

    Couple of possible things:
    Call RONAed and call was re-queued with higher priority
    You are prioritizing some calls over others, i.e. priority step is used somewhere in this or another script that queues the same CSQ
    Chris

  • How to save Jobs with different priority level in a Queue?

    Hi, Friends,
    I have a set of Job (see below) objects.
    I would make a queue: if they have the save priority level, first in and first out. this is easy to do by ArrayList. however, If they have different priority level, I would like make the Jobs with the highest level first out.
    How can I implemented this idea in Java?
    Regards,
    Youbin
    public class Job {
    private short _priorityLevel = 0;
    public void setPriorityLevel(short priorityLevel) {
    this._priorityLevel = priorityLevel;
    public short getPriorityLevel() {
    return _priorityLevel;

    Hi,
    Here is my test code, it works:
    public class Job implements Comparable{
    private int _priorityLevel=0;
    private String _jobDescription=null;
    public Job() {
    public void setPriorityLevel(int priorityLevel) {
    this._priorityLevel=priorityLevel;
    public int getPriorityLevel() {
    return this._priorityLevel;
    public void setJobDescription(String jobDescription) {
    this._jobDescription=jobDescription;
    public String getJobDescription() {
    return this._jobDescription;
    public int compareTo(Object obj) {
    return (this._priorityLevel-((Job)obj)._priorityLevel);
    import java.util.LinkedList;
    import java.util.Iterator;
    import java.util.Collections;
    import java.util.Collection;
    public class test {
    public test() {
    public static void main(String[] args) {
    Job job1 = new Job();
    job1.setJobDescription("Job1");
    job1.setPriorityLevel(2);
    Job job2 = new Job();
    job2.setJobDescription("Job2");
    job2.setPriorityLevel(2);
    Job job3 = new Job();
    job3.setJobDescription("Job3");
    job3.setPriorityLevel(2);
    Job job4 = new Job();
    job4.setJobDescription("Job4");
    job4.setPriorityLevel(1);
    Job job5 = new Job();
    job5.setJobDescription("Job5");
    job5.setPriorityLevel(1);
    Job job6 = new Job();
    job6.setJobDescription("Job6");
    job6.setPriorityLevel(1);
    LinkedList linkedList = new LinkedList();
    linkedList.addLast(job1);
    linkedList.addLast(job2);
    linkedList.addLast(job4);
    Iterator ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job3);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    linkedList.addLast(job5);
    linkedList.addLast(job6);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    System.out.println("---------");
    Collections.sort(linkedList);
    ite=linkedList.iterator();
    while (ite.hasNext()) {
    System.out.println(((Job)ite.next()).getJobDescription());
    }

  • Why does messages go into Recovery Callback Queue - urgent

    Env : BPEL 10.1.3.4 , Web logic 9.2
    Scenario:
    We have a process(Lets say A) putting messages from into a MQ(lets say Q1).
    Another Application processes the messages from Q1 and puts some messages into another Queue (Q2).
    We have another process B (Lets say B) which reads from this Q2 and calls the Process A’s callback operation(using right correlation parameters) thus releasing “receive” acitivty of Process A and hence flow goes further.
    Problem :
    While the above scenario is working as expected for some cases(approx. 60%) we observed the following :
    i)     A’s receive activity is still waiting to receive a callback from B.
    ii)     All the instances where A is waiting for receive has gone to “Recovery Callback” and sits there. When we manually recover them , Process A’s receive gets executed and works as expected.
    iii)     In some cases where the flow went successfully ( ie., receive receives the callback) , receive activity received the callback long time after the message is places in Q2. ( in some cases it is 9 to 10 hrs).
    Questions:
    i)     Why does instances go into “recover callback” ? What can we do to avoid this ? ( Kindly dont suggest ways to recover, I am looking for a preventive measure)
    ii)     Process A's recieve activity sometimes receive the callback after some 9 hrs and the flow passes on. I am wondering how can this happen as "synchMaxTime" is set to 900 secs in our case ( 15 mins). I thought any instance waiting for more than 15 mins for callback should have got timedout. Is this setting only for synch calls ?
    Few other things
    1. The Process B listening to Q2 is having a delay between messages as 3.66 secs . This is to throttle messages coming so quick to bpel as it may not have sufficent threads to process all of them at a time.
    2. synchMaxTime in the Domains = 900 s
    3. JTA Timeout in weblogic server is 3000 seconds.
    This is very urgent , Kindly help with any input / suggestion you have ASAP. Thanks.
    Regards,
    Sridhar.
    Edited by: Sridhar-SOA on Jul 27, 2011 2:38 AM

    Any Updates ?

  • UCCX 10.0 Finesse Supervisor Calls in Queue

    I hope I'm missing something because this seems too easy.  How does the Supervisor see how many calls are waiting in queue in real time using Finesse?  I tried to use the Queue Gadget URL but I'm thinking this is only for UCCE and not UCCX.
    Thanks,
    Dan

    Here is a slightly better tool especially if the supervisor monitors multiple queues
    Here is the code
    I added it to the “manage team” tab
    <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=C8EF510810000140000000EB0A4E5E6B&filterId=VoiceIAQStats.esdName=CL</gadget>
    I found it here
    http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/crs/express_10_5/config/guides/UCCX_BK_U9F91527_00_unified-ccx-administration-guide-release-10-5/UCCX_BK_U9F91527_00_unified-ccx-administration-guide-release_chapter_010110.html#CFIN_TP_ME9474E7_00

  • UCCX 9.0 Priority Routing by CSQ

    Hello,
    I'm trying to do priority routing based on CSQ we have Premium License.  Scenario
    I have one Team with multiple agents.  They answer for 3 CSQ's
    Team_Support
    CSQ A
    CSQ B
    CSQ C
    I would like for CSQ C calls to have priority when entering the team.  Can someone please help me figure this out? 
    Thank you

    Hello,
    Will this be set under select Resource:
    Thanks for your help

  • OdiStartScen in async mode: variables lost in execution queue

    I have the following case:
    - a scenario must be called for each row in a database table
    - this scenario has a variable, declared in the scenario parent package: variable values are read from the table
    - rows are more than the "maximum number of sessions" for the agent
    - execution of the scenarios should run in parallel
    So I made a procedure, with only one step. The source command is something like "SELECT col1 alias1 FROM MyTable". The target command, on Sunopsis API, is OdiStartScen -SCEN_NAME=MyScenario "-GLOBAL.VAR1=#alias1"
    When the procedure is executed by the agent, I have the following outcomes:
    - if OdiStartScen is run synchronously (-SYNC_MODE=1): OK, no problem
    - if OdiStartScen is run asynchronously (-SYNC_MODE=2) AND the number of rows in MyTable is less than the "Maximum number of sessions" set in Topology Manager for the executing agent: OK, no problem
    - if OdiStartScen is run in async mode, and the number of rows in MyTable is greater then the maximum number of sessions, then the execution is OK only for the first rows of the table. Successive executions get enqueued, but when it's time for the agent to run them, Operator reports the followin error: "Variable has no value".
    So it seems to me that variable values don't get enqueued, is it correct?

    OK, my suggestion is:
    It will be necessary add a new procedure at the process.
    Create a new procedure and:
    1) at 1º step:
    Target Tab
    Technology: javascript
    code:
    <@String vSS="";@>
    2) 2º step
    Source Tab:
    Exact the same query, technology and Logical Schema as where the problem happens.
    Target tab
    Technology: javascript
    code:
    <@vSS+=" select 'OdiStartScen -SCEN_NAME=TESTPARALLEL -SCEN_VERSION=001 -SYNC_MODE=2 -GLOBAL.HOST=#p_host -GLOBAL.LAST_DATE=#p_last_date' as vComm from dual union";@>
    *** VERY IMPORTANT: do not let any return carriage at the above command... probably it will appear into two lines at you screen but be sure that there is no return carriage character. I mean, the 2 lines are just because it can not be showed at just one.
    3) 3º step
    Target tab
    Technology: javascript
    code:
    <@vSS=vSS.substring(0,vSS.length()-5);@>
    4) now, a small change at your original procedure...
    at the step where the select was done change the code to:
    Source tab --> keep all but the code:
    New code:
    <@=vSS@>
    Target tab --> keep all but the code:
    New code:
    #vComm
    I believe that will solve the problem... I converted the parameters to strings then they do not need to exist as parameter at a new agent (balance)
    obs.: Must be done in 2 procedures, because a javascript limitation.
    Make any sense?
    Please, try it and let me now... As I wrote the code with no ODI maybe could have some typed mistake, if you get any error let me now. (You can address me by my email at profile)
    Edited by: Cezar Santos on 04/12/2008 16:52

  • Priority on call queues

    I have this scenario and am looking for input on how to approach this.
    - Agents have multiple skillsets
    - Agents need to answer call from their primary skillset. Example: Agent is assiged to answer call from queue A. On a slow day, agent is assigned to queue B. But agent priority is to answer queue A first if there are both calls type waiting in the queue even when call in queue B is holding longer.
    What is the best approach on this solution.
    Thanks.
    Dat Pham

    What product/version? This forum covers Enterprise and Express; the answer is usually different.
    If express, this is not possible. Callers - not agents - are prioritized in a CSQ. If the agent is skilled in multiple CSQs, they will receive the longest waiting contact of the highest priority across all CSQs.

  • Multiple Priority Queues?

    All,
    I have read that one may configure up to 4 priority queues, not using the Modular QOS CLI (e.g. "priority-list" command, etc).
    For the Modular QOS CLI, PQs are implemented using LLQ ("priority" command), and for this one can only specify a single PQ (though multiple classes may be mapped to this single PQ).
    What I would like to do is to have 2 distinct PQs (as should be possible in the non modular cli case) and also use CBWFQ (e.g. "bandwidth" command) for the rest of the clases. Basically I want to have EF in one PQ, another "special" class in the other PQ (lower priority than EF), and AF classes using CBWFQ.
    Does anyone know of a way to combine the 2 methods (modular and non modular CLI) of configuring LLQ in order to implement such a configuration? I was encouraged to see that heirarchical policies are supported but so far I have not found a way to specify multiple PQs as well as CBWFQ.
    Thanks much!

    There has been alot of discussion on this subject. But it seems that while IOS will allow you to configure multiple priority queues, its not really possible for it to deliver multiple priority queues.
    Which, if you think about it makes sense. A priority queue is just that, it takes priority over all other queues. If you configue 2 priority queues, how would you then then tell the scheduler that these are both priority, but the 2nd is less of a priority?
    One way you can accomplish what you're trying to do:
    1. Create a single "priority" queue for your EF traffic
    2. Use "bandwidth" to guarantee bandwidth to your special class.
    3. Put your AF traffic in class-default and let it "fair-queue".
    Something like this:
    policy-map foo
    class EF
    priority 100
    class Special
    bandwith 50
    class class-default
    fair-queue
    -Geoff

  • Mark call as callback in Cisco UCCX outbound

    Hi,
    I am using Cisco UCCX 10.0. I configured outbound system in uccx and calls are offering to agents.
    Anybody please help how a call can be marked as callback in uccx.
    Also whether i can update the result of the call; for example: I am running a campaign for credit card. Whether i can update any where that what each customer responded.
    Please help

    Anybody please help how a call can be marked as callback in uccx.
    The agent has a Callback button in CAD while the call is connected to setup the callback. The callback window defined on the campaign will decide how much slack on either side of the desired callback time system will offer that preview call to an agent. Also, the missed call behavior defines what happens if the subsystem cannot find an agent within the window.
    Also whether i can update the result of the call
    The call result is set to Voice (i.e. customer responded) by default unless an agent Reclassifies the call. Again, this is a button in CAD. The Admin Guide defines what will happen for all of the other result states.
    Please remember to rate helpful responses and identify helpful or correct answers.

  • UCCX Script Replacement with Queued Calls

    UCCX script question:
    If there are calls queued, and the script is replaced with an edited script, will the original script maintain the queued calls, or what happens with them?

    Existing calls are still following the script they arrived to, all new calls will follow the updated script.

  • Qos using priority queue drops

    I have following config for Qos.
    Basically Access-list match the voip/signalling traffic & put that in High queue. I am trying to figure without hight utilization why I am seeing output drops in high queue.
    7206#sh int s5/1/5:0
    Serial5/1/5:0 is up, line protocol is up
    Hardware is PA-MC-2T3+
    Description: T1
    Internet address is 172.17.133.105/30
    MTU 1500 bytes, BW 1536 Kbit, DLY 20000 usec,
    reliability 255/255, txload 24/255, rxload 23/255
    Encapsulation HDLC, crc 16, loopback not set
    Keepalive set (10 sec)
    Last input 00:00:06, output 00:00:00, output hang never
    Last clearing of "show interface" counters 01:58:03
    Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1800
    Queueing strategy: priority-list 4
    Output queue (queue priority: size/max/drops):
    high: 0/20/1764, medium: 0/20/0, normal: 0/15/36, low: 0/15/0
    5 minute input rate 143000 bits/sec, 82 packets/sec
    5 minute output rate 145000 bits/sec, 83 packets/sec
    734269 packets input, 148368640 bytes, 0 no buffer
    Received 708 broadcasts, 0 runts, 0 giants, 0 throttles
    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
    734855 packets output, 148838576 bytes, 0 underruns
    0 output errors, 0 collisions, 0 interface resets
    0 output buffer failures, 0 output buffers swapped out
    0 carrier transitions no alarm present
    Timeslot(s) Used: 1-24, subrate: 1536Kb/s, transmit delay is 0 flags
    non-inverted data
    ==============================================================================
    7200#sh run int s2/1/5:0
    Building configuration...
    Current configuration : 254 bytes
    interface Serial2/1/5:0
    description T1
    ip address x.x.x.x
    no ip redirects
    no ip unreachables
    no ip proxy-arp
    no snmp trap link-status
    priority-group 4
    no cdp enable
    end
    ====================================================================================
    Define access-list to match voice/signalling traffic
    access-list 140 permit udp any any range 1024 1151
    access-list 140 permit udp any any range 16384 32767
    access-list 140 permit udp any any eq 2427
    access-list 140 permit udp any any eq 2429
    access-list 140 permit udp any any eq 5060
    priority-list 4 protocol ip high list 140
    priority-list 4 queue-limit 20 20 15 15

    Hi,
    your queue limit is 20 packets. This can explain the behaviour. If there are 20 packets in the queueing system waiting to be serviced any newly arriving packet will be dropped.
    Basically you can have drops in any queue in any queueing system if there is a permanent overload situation. There is no magic trick, if you f.e. permanently send 2 Mbps voip towards a T1. There will be drops.
    QoS does not create resources, it just distributes them among your important traffic classes.
    Besides this I also would suggest you to use class based queueing based on Modular QoS CLI (MQC). It is more flexible and precise than the old legacy methods like priority queueing, which you are using. On the other hand, if this is sufficient for you, why not.
    Regards, Martin

  • How do you set up priority queueing on a 3400 metro switch?

    running IOS 12.2(40)SE. This seem to do strict priority queueing only which means that that queue will be serviced until it is emptied, then other queues will be serviced.
    We will be pumping lots of voice calls through a few of these 3400s on a metro fiber ring and I need to apply the appriopriate QOS for voice. I'm familiar with LLQ in the router world and autoqos in the 3750/3650 switch world, but not with this switch.
    Is there a white paper that speaks directly to VoIP on the 3400? The QOS section of the config guide doesn't help when looking for config examples for voice except to state that voice can be mapped to the priority queue, but it is not LLQ based.
    I don't want to police voice because the potential of dropped packets could affect all calls, but I need to make sure that voice traffic gets priority over all else - without starving out the other traffic.

    I understand that - and thank you for responding. However I am extremely leary of policing voice traffic because any dropped packets will affect voice conversation.
    Maybe I should set up a policer that is much larger than the total amount of voice traffic I ever expect to have on the link. Say I'll have a possible 100 G-711 calls at any given time. In the LLQ world I'd carve out a priority queue of 10meg to insure all those calls get prioritized. In the 3400 world should I police say at 12meg?
    What I'm not clear on is the concept of strict priority queueing - that that queue will be serviced at the expense of all other queues whenever there is traffic in it. Would I expect there always to be voice traffic in the queue if the link is a gig link, and 10mb of voice traffic is going through that queue constantly? Or will the gig interface pull those packets out of the queue so fast that all other non-priority traffic will get transmitted from the other queues just fine?

  • How to Route Calls based on priority

    Hi,
    We have ICM Version 7.2.5 running on our contact center setup along with CVP 7.0. Here we have some scenario as required by the customer:
    For Ex.
    We have two differnt skill group namely Custmoer care and Technical Support. We are getting call1 for cust care, call2 for cust care ,call3 for tec support and call4 cust care.In this case we need to serve call4 for before call3 were we have differnt scripts running for each skill group.
    Kindly suggest your recommendations on the above and guide me to take it further.
    Regards,
    Sivakumar

    You can lower the priority of calls in queue either by editing the settings of the queue node or placing a priority node after you queue the call. In your case you would lower the priority of calls in your tech support script. Default priority is 5, and lower numbers correspond to higher priorities, so you would change your tech support priority to 6 for example. Keep in mind if you lower the priority, those calls will always go to the back of the line behind higher priority calls. Careful you don't squeeze these callers out completely.

Maybe you are looking for

  • Next Generation in Monitor or PDA screens...

    OK, so I'm sitting here on my iMac, and reading this, and reading that, we do a lot more reading then we used too, and we read more on electronic screens, then plain old school paper and print.  SO the financial pundents hammer apple constantly for n

  • N95 8GB v20.0.016 - mass memory failure #3

    For the third time my N95 8GB has managed to corrupt its mass memory ("mass memory corrupted") - only this time, I am unable to reformat it at all! The problem behaviour is as follows: Used the phone last night to take several pictures, accessing the

  • Still major problem with packages

    Here is my record Saved in C:/database/record/record.java package database.record; public class Record      {                                               //Data mebers           public int idNumber;             // Key field identifying each product

  • Quadro FX 1800 problem - HELP!

    Ive got a quadro fx 1800 with 768MB of vram. This card had been  working perfectly since the launch of Premiere CS5 with mercury hardware  acceleration. Rendering was lightning fast, previews and playing from  the timeline silky smooth. I was a happy

  • SD: Sales & Distribution

    Hi Guru, I am activating the SD datasources : 2LIS_11_XXXX , 2LIS_12_XXXX, 2LIS_13_XXXX. But there are datasource like 2LIS_01_S001 , 2LIS_01_S005, 2LIS_01_S260, 2LIS_01_S261 Question : are these Datasouces 2LIS_01_XXXX   still used ?????? Thanks in