Agent in call not correctly detected as busy

Hi,

I’m using Asterisk 1.2.17 (Gentoo)

I’m trying to configure a small queue for 3 people (agents), but i cannot solve a problem :

  • If i use the autologoff settings of the agents.conf, when an agent is already on another call (not from the queue) and someone get into the queue, the agent does not answer (because they allready have a call and do not want to interrupt it) and is automaticaly logged off, meaning that when they finished their call they do not receive any call from the queue…

  • If i do not use the autologoff settings, if an agent leave their desk for any reason without logging off and there’s nobody else to answer a call, when someone get into the queue they remain there forever and never receive the defined message “Sorry, nobody is able to answer your call”.

Is there any possibility to do a queue like that :

Someone come into the queue, Asterisk try to call every agent (ringall), without any need to be logged in. If any agent is allready busy (have an active channel) and noone else answer, the call remain in the queue, if noone is busy and noone answer, then the call is redirected to a voicemail…

It seems for me the basic way of working for a small queue, but after many try, many search on the web, i’m allways blocked because the queue does not detect correctly when an agent is busy or not…

I’ve tryed a “call-limit=1” settings in the sip.conf, it’s working if someone called the agent, the queue recognize it as busy and does not try to call them nor log them off, but when it’s the agent who called someone from their sip phone, the queue does not recognise that the agent is busy :frowning:

If anyone have a small tips for me to help me finding the right configuration / combination it would be greatly appreciated :smile:

Thanks in advance.

You could try pause the agent before he does a call and then unpause him after the call is ended, the agent can do this manually or could be done automatically creating the right extension in the dial plan and force the agent use this extension to call out.

Regards.

[quote=“mbruni”]You could try pause the agent before he does a call and then unpause him after the call is ended, the agent can do this manually or could be done automatically creating the right extension in the dial plan and force the agent use this extension to call out.
[/quote]

Nice idea, i will give it a try, but it would only work if the agent only have one asterisk server… my phone is configured for 2 different asterisk servers and is also configured to call directly through my outgoing call provider when i need to call someone on a fixed line

(We are 3 colleagues working from our home, and connected to an Asterisk server hosted in a collocation center… when i must call someone on a fixed line, it seems much more efficient to use directly the outgoing provider than calling Asterisk wich will then route the call).

Is’nt there any busy status that can be reported by a SIP phone and used by the queue manager ? We use mostly Grandstream GXP2000 , and for me an Snom 360

I’ve tryed PauseQueueMember and UnPauseQueueMember, but it’s not really nice and do not work as intended :

When the only agent available call someone, i do a PauseQueueMember, but then when someone call the queue, Asterisk tell that there is noone registered as agent for the queue, and directly send the caller to the voicemail…

What i want : if an agent is busy on the phone, anyone calling the queue hear a waiting music and stay in the queue, as we know that an agent will be available soon, if there’s no agent busy on the phone, and no agent answer the call, only in that case the caller is directed to a voicemail telling them that there is currently nobody available to answer his call…

It seems for me a really basic use of a queue, it should be the first/default use, no ? But i cannot find a correct way to configure that :frowning:

The only other solution i see is : when an agent call someone, doing a pausequeuemember and registering a “fake” agent to the queue, this fake agent does’nt ring on any phone, but Asterisk think that this agent is available and thus let the caller in the queue… i think this kind of solution is really dirty to fullfill a realy basic settings…

To let callers join the queue when there are no agents logged in the queue, in queue.conf, for the specific queue, set the parameter joinempty to yes.

Regards.

I do not want to let callers join the queue if there is no agent, i want to send the caller to a voicemail only when there is no agent in the office…

The problem is when the agent forget to logoff, thus i need another way to know if an agent is available than the login/logoff process. The logical way of doing that : when a caller join a queue, ringing every agent phone during 20 seconds, did any agent answer the call ?

  • Yes - no problem
  • No - Is any agent allready busy in a phone call ?
    - Yes - somebody will answer the call soon, let the caller in the queue, playing a nice music
    - No - If nobody answer and nobody is busy, then there is nobody in the office, transfer the caller to the voicemail.

It’s how i’ve allways done with all my PABX, it seems for me a really basic settings, no ?

Ok, you could try this way:
for the queue set joinempty to no, set the max wait time for the queue to 20 seconds, with timeout=20 and retry=1, in the last parameter of the command Queue() put 20, then in priority after Queue() send the call to the voicemail.

Hope it helps.

Regards.

[quote=“mbruni”]Ok, you could try this way:
for the queue set joinempty to no, set the max wait time for the queue to 20 seconds, with timeout=20 and retry=1, in the last parameter of the command Queue() put 20, then in priority after Queue() send the call to the voicemail.[/quote]

I’m sorry but it does not help, read my first message : when an agent is allready busy with a call and someone get into the queue, the agent see on their SIP phone that they have a second call waiting, then after 20 seconds the caller is directed to the voicemail… i do not want to direct the queue caller to the voicemail when there is an agent in the office…

[quote=“antarex”]Hi,

(…)

  • If i use the autologoff settings of the agents.conf, when an agent is already on another call (not from the queue) and someone get into the queue, the agent does not answer (because they allready have a call and do not want to interrupt it) and is automaticaly logged off, meaning that when they finished their call they do not receive any call from the queue…

(…)

[/quote]

This is my first post here, although I have been lurking for a while.

I know this is an old thread, but I wonder if anyone had found a way around this. I need for autologoff not to disconnect an agent when he is on an outbound call. Many thanks.