Queue with "skip busy agents" not work 100%

Hello

I have “asterisk 11 + freepbx” configured on my platform, queues with “skip busy agents” active.
Agents are dynamic. In such a way that when they are with an Asterisk call, it should not send them another until they are free.
However in some cases, not always, Asterisk sends the call to an agent who is busy with a call.
I can’t quite see the pattern, I’m not sure how to reproduce it, but sometimes this happens.
The configuration that I have in all the queues is this:

announce-frequency=0
announce-holdtime=no
announce-position=no
answered_elsewhere=0
autofill=no
autopause=no
autopausebusy=no
autopausedelay=0
autopauseunavail=no
eventmemberstatus=yes
eventwhencalled=yes
joinempty=yes
leavewhenempty=no
maxlen=0
memberdelay=0
monitor-join=yes
penaltymemberslimit=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=1
ringinuse=no
servicelevel=60
setinterfacevar=yes
strategy=leastrecent
timeout=15
timeoutpriority=app
timeoutrestart=no
weight=0
wrapuptime=0
lazymembers=yes
What could be happening?

Asterisk 11 is no longer supported!

I assume you mean ringinuse=no, as there is no such option as skipbusyagents in Asterisk.

Are call counters enabled on the agent endpoint description (e.g. in sip.conf)? Are the agents directly local devices, or are they local channels? In the latter case, is a state interface defined for them in the member definition? (If they are non-local devices (e.g. through a “trunk”), Asterisk will be unable to detect that they are inuse, although in that case, with ringinuse, you would only be able to make one call at a time through the trunk, so it seems unlikely).

Yes David…Asterisk 11 is not supported…I hope that soon we will do the migration and, Yes, what we are using is “ringinuse = no”

of the questions:

Are call counters enabled on the agent endpoint description (e.g. in sip.conf)?

Yes.
[6008]
deny=0.0.0.0/0.0.0.0
secret=xxxxxx
dtmfmode=rfc2833
canreinvite=no
context=from-internal
host=dynamic
trustrpid=yes
mediaencryption=no
sendrpid=pai
type=friend
nat=force_rport,comedia
port=5060
qualify=yes
qualifyfreq=60
transport=udp
avpf=no
force_avp=no
icesupport=no
encryption=no
callgroup=
pickupgroup=
dial=SIP/6008
mailbox=
permit=0.0.0.0/0.0.0.0
callerid=YYYYY <6008>
callcounter=yes
faxdetect=no
cc_monitor_policy=generic

Are the agents directly local devices, or are they local channels?

I don’t understand this question, really. Our extensions are dynamically registered with queues, using, for example:“queue add member SIP / 6008,1 to 401”
being SIP / 6008 the extension, 1 the penalty and 401 the queue.
We do this registration via AMI with an external app.

In the latter case, is a state interface defined for them in the member definition?

I do not have that parameter refers to this that you comment, within the configuration of each device.I have copied an example of the standard configuration that we have in all the extensions.

Piense en el medio ambiente, imprima este correo sólo si es necesario

You do have local devices and you aren’t using local channels.

I’d guess this is just a race condition, because the channel is going busy between the test of the status and the actual call.

The only way I can think of avoiding that would be the use of group counts, but that would require local channels and state interfaces, as well.

Thanks David

Can you explain or indicate a web link where I give more detail about what you say about the “use of local channels”.

Piense en el medio ambiente, imprima este correo sólo si es necesario

Probably adapt this, but without the need to process logins and with the group count code.

David,

So, what you are telling me is that if we switch to using “local agents channels”, the detection of whether an extension is busy or not will be much more effective than how I have it now?
Now, from what I understand, the problem I have is that when the ext status check takes longer than normal, Asterisk does not detect that it is busy and sends the signal, is it? And if we change to “local agents channels”, this situation will not occur. Right?.

On the other hand, would there be any way to “monitor” this situation to detect exactly if the problem I have is related to the “speed” of getting the status of an extension?

Thank you very much for everything David.

Piense en el medio ambiente, imprima este correo sólo si es necesario

No. I’m saying that group counts are implemented in a way that should be race free, and that to use group counts, you will need to use local channels.

Then if we use group counts (and to be able to do this we must have local chanels), we should not have the possible problem that Asterisk takes longer to get the status of an extension and that this affects the sending of a call to an agent that I’m busy, is that correct?

Piense en el medio ambiente, imprima este correo sólo si es necesario

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.