[asterisk-bugs] [JIRA] (ASTERISK-29045) app_queue: Does not assign the first call in queue when one or more members are not in the range of MIN and MAX penalty

Joshua C. Colp (JIRA) noreply at issues.asterisk.org
Thu Sep 3 03:42:43 CDT 2020


     [ https://issues.asterisk.org/jira/browse/ASTERISK-29045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua C. Colp reassigned ASTERISK-29045:
-----------------------------------------

    Assignee: Joshua C. Colp  (was: Mario Lenis)

> app_queue: Does not assign the first call in queue when one or more members are not in the range of MIN and MAX penalty
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29045
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29045
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 16.8.0
>         Environment: Centos7 x86_64
> Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
> RAM: 1Gb
>            Reporter: Mario Lenis
>            Assignee: Joshua C. Colp
>            Severity: Minor
>         Attachments: debug_log_00001, logger_0001
>
>
> The first call in queue is not being assigned if one of the members has a penalty value out of the range. This is the setup
> {{extensions.conf}}
> {quote}
> exten => 999,1,Noop()
>  same => n,Set(QUEUE_MIN_PENALTY=0)
>  same => n,Set(QUEUE_MAX_PENALTY=99999)
>  same => n,Queue(QueueA,tT)
> {quote}
> {{queues.conf}}
> {quote}
> [general]
> persistentmembers = yes
> negative_penalty_invalid = yes
> shared_lastcall = yes
> autofill = yes
> [QueueA]
> timeout = 16
> strategy =rrmemory
> servicelevel = 60
> weight = 0
> ringinuse = no
> maxlen = 0
> setinterfacevar = yes
> setqueueentryvar = yes
> setqueuevar = yes
> member => Local/1001 at agent,-1,,Agent:1001,no
> member => Local/1002 at agent,,,Agent:1002,no
> {quote}
> Status of the queue
> {quote}
> *CLI> queue show 
> QueueA has 0 calls (max unlimited) in 'rrmemory' strategy (12s holdtime, 11s talktime), W:0, C:6, A:0, SL:100.0%, SL2:100.0% within 60s
>    Members: 
>       Local/1001 at agent with penalty -1 (ringinuse disabled) (Not in use) has taken no calls yet
>       Local/1002 at agent (ringinuse disabled) (Not in use) has taken 6 calls (last was 325 secs ago)
>    No Callers
> {quote}
> Then 3 calls enter to the queue, the first call is correctly assigned to the available agent.
> {quote}
> *CLI> queue show
> QueueA has 2 calls (max unlimited) in 'rrmemory' strategy (9s holdtime, 11s talktime), W:0, C:6, A:0, SL:100.0%, SL2:100.0% within 60s
>    Members: 
>       Local/1001 at agent with penalty -1 (ringinuse disabled) (Not in use) has taken no calls yet
>       Local/1002 at agent (ringinuse disabled) (in call) (In use) has taken 6 calls (last was 705 secs ago)
>    Callers: 
>       1. Local/ivr999 at funciones-generales-000000e8;2 (wait: 0:09, prio: 0)
>       2. Local/ivr999 at funciones-generales-000000e9;2 (wait: 0:05, prio: 0)
> *CLI> agent show all
> Agent-ID Name                 State       Channel                        Talking with
> 1001                          NOT_INUSE   SIP/101-00000009               
> 1002                          INUSE       SIP/102-00000006               Local/1002 at agent-000000e7;2
> {quote}
> Then the call attended by agent 1002 ends up, the next call should be {{Local/ivr999 at funciones-generales-000000e8;2}}, instead, the call assigned to the agent is {{Local/ivr999 at funciones-generales-000000e9;2}}
> {quote}
> *CLI> queue show
> QueueA has 1 calls (max unlimited) in 'rrmemory' strategy (38s holdtime, 41s talktime), W:0, C:7, A:0, SL:100.0%, SL2:100.0% within 60s
>    Members: 
>       Local/1001 at agent with penalty -1 (ringinuse disabled) (Not in use) has taken no calls yet
>       Local/1002 at agent (ringinuse disabled) (in call) (In use) has taken 7 calls (last was 73 secs ago)
>    Callers: 
>       1. Local/ivr999 at funciones-generales-000000e8;2 (wait: 3:23, prio: 0)
> {quote}
> I have reproduced the situation many times and always happens, the problem is that if more calls enter to the queue, the 1st call in the queue order would not be assigned at least until it's the only one awaiting or in worst case scenario would no be assigned at all since more an more calls may enter to the queue.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list