How to identify calls from queue apps from others calls

I have a superdial macro (http://pastebin.com/757920) to let the caller choose among voicemail, another extention or keep waiting when callee is busy or not answer. It runs fine.

However, i have noticed this macro is also executed when queue app calls to an agent. In this case there must be no option to the caller, because queue app handle busy or unavailable extensions. I fixed this, adding ‘Q0’ characters to the CALLERID(name) in my superqueue macro (http://pastebin.com/757926).

My problem is when the agent transfers a call, this call is also treated as if it was an agent, and gives no options (voicemail, wait…) to the caller, because of ‘Q0’ characters.

I know I am complicating my life, please give me advices how can i reach what i want.

Thanks in advance.

how are your users being added to the queue? agentcallbacklogin?

i ask because we have an agent-specific macro similar to yours, but when calls are sent to our agents via the queue, it rings until the call times out, and we don’t have the issues you describe above.

we are utilizing AddQueueMember to get our agents signed in, which is a very dynamic application, and i’m wondering if that has something to do with it.

the only other thing i could think of is to set the timeout in queues.conf (the per-agent timeout, how long each device is rung) to less than what your macro is set to for a timeout…that way the queue would move to the next user before the macro kicks in…not the best, but a possible workaround for now.

Thanks whoiswes, Addquemember resolve my issue.

that is GREAT to hear…

if/when i have some free time, i’ll mock up something and see if the problem is in fact with AgentCallbackLogin…that actually could come in handy for a problem that i came across yesterday…

thanks for the update.