Queue agents and direct SIP calls


We use call queues and our agents log in with AgentLogin() application (and stay online for a whole day). The problem is that sometimes someone calls to an agent directly for some reason, but the agent’s status don’t became ‘BUSY’.

As a result, a second simultaneous call may be bridged with this agent when someone goes to his queue.

I tried to use ‘ringinuse=no’ in queues.conf but it didn’t help.

Does someone has any idea about how to solve this problem? The protocol we use is SIP.

There is a paramter, something like call-limit.

Yes, I know it. But “call-limit” is marked as deprecated in 1.6, so I’d like to avoid it.

Is there any alternative?

Generally things only get deprecated if there is a better alternative. I can’t remember the details for this case, but there is an alternative.

Hi Have you got

ringinuse = no in you queues.conf ?


[quote=“ianplain”]Hi Have you got

ringinuse = no in you queues.conf ?

Yes, I have. Asterisk still routes calls to agents who have a direct call at the moment.

what version of asterisk? this is a known issue with 1.4 that is supposedly fixed in 1.6 where the queue only detects as busy extensions that are on calls that were sent by the queue itself. there is a patch available to back port the fix from 1.6 to 1.4 so that the queue sees the correct status of extensions (svncommunity.digium.com/svn/russ … state-1.4/) which fixed this for me.

You still have to have a call limit on the agent, however it is now done, before the agent’s phone can be declared busy.

I’m currently still using call-limit since it works and is available. I had noted it was depricated as well. In searching for the “right” way to do it, I found this at http://www.asterisk.org/doxygen/trunk/Config_sip.html

[quote]; The “call-limit” configuation option is considered old is replaced
; by new functionality. To enable callcounters, you use the new
; “callcounter” setting (for extension states in queue and subscriptions)
; You are encouraged to use the dialplan groupcount functionality
; to enforce call limits instead of using this channel-specific method.
; You can still set limits per device in sip.conf or in a database by using
; “setvar” to set variables that can be used in the dialplan for various limits.

I haven’t changed to use it yet, though.