[Bug 1086466] [NEW] asterisk 1.8 ringall strategy in queues causes non-answering agents to exit out of Dial() even with 'g' option

James Troup james.troup at canonical.com
Tue Dec 4 16:45:25 UTC 2012


Public bug reported:

In asterisk 1.8, calls to queues with a 'ringall' strategy will kill
the Dial() of all non-answering agents as soon as another agent
answers.  This kill doesn't respect the 'g' option given to Dial(),
i.e. control is never returned to the dialplan.  This appears to be a
regression from asterisk 1.4 which didn't have this behaviour.

It breaks our use of asterisk as we set database variables to reflect
the 'offhook' status of agents, and need to be able to unset them once
the agent's extension is no longer being rung/in use but we can't do
that if Dial() doesn't reliably return control to the dialplan.

Here's some log snippets to demonstrate the problem:

|     -- Executing [s at macro-queueexten:4] Dial("Local/1008 at agents-969b;2", "SIP/8916,50,rtge") in new stack
|     -- Executing [s at macro-queueexten:4] Dial("Local/1002 at agents-0e3c;2", "SIP/8914,50,rtge") in new stack

Notice the 'g' option to both dial commands.

|     -- Local/1008 at agents-969b;1 is ringing
|     -- Local/1008 at agents-969b;1 connected line has changed. Saving it until answer for SIP/kanbo-0000dcc1
|     -- Local/1008 at agents-969b;1 connected line has changed. Saving it until answer for SIP/kanbo-0000dcc1
|     -- Local/1002 at agents-0e3c;1 is ringing
|     -- Local/1008 at agents-969b;1 is ringing
|     -- Local/1002 at agents-0e3c;1 connected line has changed. Saving it until answer for SIP/kanbo-0000dcc1
|     -- Local/1002 at agents-0e3c;1 connected line has changed. Saving it until answer for SIP/kanbo-0000dcc1
|     -- Local/1002 at agents-0e3c;1 is ringing
|     -- SIP/8916-0000dcc2 answered Local/1008 at agents-969b;2
|     -- Local/1008 at agents-969b;1 connected line has changed. Saving it until answer for SIP/kanbo-0000dcc1
|     -- Local/1008 at agents-969b;1 answered SIP/kanbo-0000dcc1

Here, 1008 answers.

|   == Spawn extension (macro-queueexten, s, 4) exited non-zero on
'Local/1002 at agents-0e3c;2' in macro 'queueexten'

The 1002 macro dies, but does not execute the 'h' extension or in any
other way return control to the dialplan as requested.

|     -- Executing [h at macro-queueexten:1] NoOp("SIP/8916-0000dcc2", "")
in new stack

Whereas 1008 does execute 'h'.

|   == Spawn extension (macro-queueexten, s, 4) exited non-zero on
'Local/1008 at agents-969b;2' in macro 'queueexten'

** Affects: asterisk (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to asterisk in Ubuntu.
https://bugs.launchpad.net/bugs/1086466

Title:
  asterisk 1.8 ringall strategy in queues causes non-answering agents to
  exit out of Dial() even with 'g' option

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/asterisk/+bug/1086466/+subscriptions



More information about the Ubuntu-server-bugs mailing list