Hello,
We’re experiencing an issue with queues and call transfers:
Scenario:
When someone (A) calls the queue, a member of the queue (B) replies then forwards A to a third internal voip user ©.
Problem:
After the call has been forwarded, B is not able to receive new calls from the queue as long as the forwarded call to C is running. When A or C releases the call then B is able to receive new calls from the queue.
This is very annoying because the longer the forwarded call is, the longer the helpdesk operator can’t work.
I’m sure other peoples already experienced this issue or it has maybe already been discussed here and then I’m sorry to double post.
Could anybody help me fixing this issue ?
Thank you.
Arnaud.
Here is one of the queues declarated in our queues.conf:
[admin-fr]
strategy = random
wrapuptime = 15
memberdelay = 0
timeoutrestart = yes
timeout = 20
weight = 1
joinempty = strict
leavewhenempty = strict
The other queues defined in queues.conf are defined the same way.
Here is the relevant part in extensions.ael:
[code]macro helpdesk-new() {
Ringing();
Wait(5);
Read(lang|ktb-welcome|1|||5);
if ("${lang}" = "") {
set(lang=3);
};
switch(${lang}) {
case 1:
Set(CHANNEL(language)=fr);
break;
case 2:
Set(CHANNEL(language)=nl);
break;
case 3:
Set(CHANNEL(language)=en);
break;
default:
Set(CHANNEL(language)=en);
};
Set(CALLERID(name)= Language ${CHANNEL(language)});
choosequeue:
Read(option|option|1||3|10);
if ("${option}" = “”) {
set(option=2);
};
switch(${option}) {
case 1:
Set(queue=admin);
break;
case 2:
Set(queue=helpdesk);
break;
default:
goto choosequeue;
};
Playback(recorded);
queue:
SetMusicOnHold(helpdesk-${CHANNEL(language)});
Queue(${queue}-${CHANNEL(language)}|tT|||);
switch(${QUEUESTATUS}) {
case TIMEOUT:
case FULL:
case JOINEMPTY:
case LEAVEEMPTY:
case JOINUNAVAIL:
case LEAVEUNAVAIL:
default:
SetMusicOnHold(closed-${CHANNEL(language)});
StartMusicOnHold(closed-${CHANNEL(language)});
while (${QUEUEAGENTCOUNT(${queue}-${CHANNEL(language)})} == 0) {
Wait(5);
}
Wait(1);
goto queue;
};
return;
};[/code]