[asterisk-bugs] [JIRA] (ASTERISK-26013) Multiple queued calls sent to agent

Richard Miller (JIRA) noreply at issues.asterisk.org
Wed May 11 21:46:56 CDT 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=230565#comment-230565 ] 

Richard Miller commented on ASTERISK-26013:
-------------------------------------------

Thanks for the update.  That is one less item that I need to work on.  I look forward to the next release.

> Multiple queued calls sent to agent
> -----------------------------------
>
>                 Key: ASTERISK-26013
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26013
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 11.22.0
>         Environment: CentOS 6.4
>            Reporter: Richard Miller
>
> This is the scenario.  An agent is logged into multiple queues.  The queues are all set up with autofill on, ringinuse off, and a ring strategy of leastrecent.  The queues and members are in realtime ODBC storage.
> The CEL occasionally shows two calls firing off to a single agent within 100 microseconds.  Typically, the calls come from different queues, but occasionally both calls come from the same queue.
> The problem is that the architecture depends on device state information to know when an agent is in use, but with fast multicore processors, another thread can detect the same agent as the next to notify before the device state changes.  There is a window between wait_our_turn() and try_calling() where this can happen.  I think the way to resolve it, depending on the ring strategy, is for wait_our_turn() to attach a member to a queue entry while both chains are locked.
> The loophole size can be reduced but not completely closed if get_member_status() tests the member->call_pending state.
> I am looking for some feedback or comments before working on a patch.



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



More information about the asterisk-bugs mailing list