Jan-Hendrik Palic
2007-Nov-15 09:51 UTC
[asterisk-users] Problems with positions in callqueues
Good morning, we have two configured queues on our asterisk server in the company and have the following problem with the caller positions in the queue. In our test case we have 5 agents logged in the queue and five test persons calling the queues. Sometimes, this case unfortunately cannot more specified, the caller at the first position does never get an agent but the callers after him get already get agents. I do not really know where I have to look deeper to solve the problem. Any hints would be appreciated. ---snip--- The queue.conf: [general] persistentmembers = yes autofill = yes [support-schlange-rec-n] strategy = leastrecent joinempty = yes leavewhenempty = no timeout = 60 music = default weight = 1 ; see http://bugs.digium.com/view.php?id=9561 wrapuptime = 120 ; 120 Sekunden nachbearbeitungszeit fuer den agenten bevor der naechste call durchgestellt wird queue-youarenext = queue-youarenext queue-thereare = queue-thereare queue-callswaiting = queue-callswaiting queue-holdtime = queue-holdtime queue-minutes = queue-minutes queue-thankyou = queue-thankyou announce-holdtime = yes announce-frequency = 15 [support-schlange-rec-y] strategy = leastrecent joinempty = yes leavewhenempty = no timeout = 60 monitor-format = wav monitor-join = yes music = default weight = 1 ; see http://bugs.digium.com/view.php?id=9561 wrapuptime = 120 ; 120 Sekunden nachbearbeitungszeit fuer den agenten bevor der naechste call durchgestellt wird queue-youarenext = queue-youarenext queue-thereare = queue-thereare queue-callswaiting = queue-callswaiting queue-holdtime = queue-holdtime queue-minutes = queue-minutes queue-thankyou = queue-thankyou announce-holdtime = yes announce-frequency = 15 ---snap--- The queues in the dialplan: ---snip--- macro support-schlange(rec) { Set(QUEUE_PRIO=0); loop: Queue(support-schlange-rec-${rec}|tw); Noop(DIALSTATUS is ${DIALSTATUS}); Noop(QUEUESTATUS is ${QUEUESTATUS}); Hangup(); } context support-schlange-rec-y { s => { Answer(); Set(MONITOR_FILENAME=${STRFTIME(,,%Y%m%d%H%M%S)}-${CDR(uniqueid)}-${CDR(src)}-${CDR(dst)}); &support-schlange(y); } } context support-schlange-rec-n { s => { Answer(); &support-schlange(n); } } context support-schlange-rec-q { s => { Answer(); Set(monp=${RAND(0,99)}); if( ${monp} < 10 ) { rec-q: SayDigits(20); Read(rec-a,dictate/record_mode,1); NoOp(rec-a is ${rec-a}); switch(${rec-a}) { case 0: goto support-schlange-rec-n,s,1; break; case 2: goto support-schlange-rec-y,s,1; break; default: goto rec-q; } } goto support-schlange-rec-n,s,1; } } ---snap--- Thank you in advance for help. :) Best regards Jan-Hendrik Palic -- Jan-Hendrik Palic TNG - NETWORK MANAGEMENT GmbH Projensdorfer Str. 324, D-24106 Kiel, Germany mailto:jpalic at tng.de http://www.tng.de