Queues: Cannot breakout to another Queue. Stuck in same queue

I have the following setup;

Main Menu IVR
1- Sales Queue (401)
2- Support Queue (402)
3- Accounting Queue (403)

Inside the sales queue (401) there is a breakout IVR.
1- Leave Voicemail (Goto VM)
2- Return to Main Menu (Goto IVR MainMenu)

Problem;

  • Caller enters the sales queue 401
  • Caller breaks out to IVR MainMenu
  • Caller tries to enter the support (402) or accounting queue (403)
  • Caller ends up in back queue 401 regardless of IVR option selected.

It seems once a caller is in a queue they are permanently attached and cannot enter a different one?

Anyone have any thoughts?
Thanks

Please post a call trace. (Please post a pastebin link, see instructions:) https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs-PartII

Thanks for looking

As a new user I cannot yet post links to the forum.
They are in the image below unfortunately.
Perhaps you can repost them to the thread for others.

pastebin

This is a bit different than my example
246 dials 234
234 is unavailable (DND)
234 has an unavailable destination of queue 434
caller enters the queue
caller attempts to break out to queue 401
ends up back in queue 434

You’re trying to direct dial out of the IVR to another IVR? I don’t think that’s supposed to work. What you can dial from an IVR is severely limited to avoid possible break-outs to non-extension destinations.

Queue 434 has a breakout IVR configured.
Press 1 for VM
Press 2 for Queue 401
When the caller selects option 2 the caller is not put into queue 401 but re-enters queue 434
I have confirmed the IVR is configured correctly in the GUI.

I also tried
Caller is in queue 434,
Presses 2 for Main Menu IVR
Customer is in main menu IVR correctly
Presses 1 for Queue 401 but it still sends the user back to 434.

You can post using preformatted text



This is not the full call trace. Please re-read the wiki I linked and post a full trace. You’ll get a pastebin link if you follow the instructions.

My apologies
Here is complete
https://pastebin.freepbx.org/view/00c2be47

So in the 434 breakout menu (ivr-3) they pressed 2, which takes them to ivr-1 the main IVR

[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [2@ivr-3:1] Macro("PJSIP/246-000001c0", "blkvm-clr,") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [s@macro-blkvm-clr:1] Set("PJSIP/246-000001c0", "SHARED(BLKVM,PJSIP/246-000001c0)=") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [s@macro-blkvm-clr:2] Set("PJSIP/246-000001c0", "GOSUB_RETVAL=") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [s@macro-blkvm-clr:3] MacroExit("PJSIP/246-000001c0", "") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [2@ivr-3:2] Set("PJSIP/246-000001c0", "__NODEST=") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [2@ivr-3:3] Set("PJSIP/246-000001c0", "__ivrreturn=0") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [2@ivr-3:4] Goto("PJSIP/246-000001c0", "ivr-1,s,1") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx_builtins.c: Goto (ivr-1,s,1)

They pressed 1 to go to queue 401

[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] pbx.c: Executing [s@ivr-1:10] ExecIf("PJSIP/246-000001c0", "1?Background(custom/mainmenu_placeholder)") in new stack
[2020-11-24 12:54:35] VERBOSE[16177][C-0000006e] file.c: <PJSIP/246-000001c0> Playing 'custom/mainmenu_placeholder.slin' (language 'en') 
[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx.c: Executing [1@ivr-1:1] Set("PJSIP/246-000001c0", "__ivrreturn=0") in new stack .
[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx.c: Executing [1@ivr-1:2] Goto("PJSIP/246-000001c0", "ext-queues,401,1") in new stack .
[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx_builtins.c: Goto (ext-queues,401,1)

And it sure seems to be going to 401

[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx.c: Executing [401@ext-queues:48] Set("PJSIP/246-000001c0", "QUEUENUM=401") in new stack
[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx.c: Executing [401@ext-queues:49] Set("PJSIP/246-000001c0", "QUEUEJOINTIME=1606251279") in new stack
[2020-11-24 12:54:39] VERBOSE[16177][C-0000006e] pbx.c: Executing [401@ext-queues:50] Queue("PJSIP/246-000001c0", "401,t,,,,,,,,") in new stack

So it appears to be working just fine! What makes you say that they went back to 434?


Then with the second part in the logs, which seems unrelated to the issue you have. It’s on a different day as well. It doesn’t appear like the caller pressed anything on the breakout menu, nor was it presented to them.

Call to 7777 comes in, goes to the IVR

they press 1:

./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx.c: Executing [1@ivr-1:1] Set("PJSIP/243-00000086", "__ivrreturn=0") in new stack
./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx.c: Executing [1@ivr-1:2] Goto("PJSIP/243-00000086", "ext-queues,401,1") in new stack
./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx_builtins.c: Goto (ext-queues,401,1

And it went to the queue (401) just fine

./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx.c: Executing [401@ext-queues:48] Set("PJSIP/243-00000086", "QUEUENUM=401") in new stack
./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx.c: Executing [401@ext-queues:49] Set("PJSIP/243-00000086", "QUEUEJOINTIME=1605648111") in new stack
./full-20201118:[2020-11-17 13:21:51] VERBOSE[21804][C-0000006e] pbx.c: Executing [401@ext-queues:50] Queue("PJSIP/243-00000086", "401,t,,,,,,,,") in new stack

246 answered:

/full-20201118:[2020-11-17 13:32:13] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008c answered Local/246@from-queue-00000041;2 
./full-20201118:[2020-11-17 13:32:13] VERBOSE[23440][C-0000006e] bridge_channel.c: Channel PJSIP/246-0000008c joined 'simple_bridge' basic-bridge <f62c783f-2585-41f6-b239-0869b63c51ec> 
./full-20201118:[2020-11-17 13:32:13] VERBOSE[21827][C-0000006e] bridge_channel.c: Channel Local/246@from-queue-00000041;2 joined 'simple_bridge' basic-bridge <f62c783f-2585-41f6-b239-0869b63c51ec>

Then performed a blind transfer:

./full-20201118:[2020-11-17 13:37:44] VERBOSE[23440][C-0000006e] bridge_basic.c: Channel PJSIP/246-0000008c: Started DTMF blind transfer.

Which parked the call

./full-20201118:[2020-11-17 13:37:44] VERBOSE[23440][C-0000006e] file.c: <PJSIP/246-0000008c> Playing 'digits/7.ulaw' (language 'en') 
./full-20201118:[2020-11-17 13:37:45] VERBOSE[23440][C-0000006e] file.c: <PJSIP/246-0000008c> Playing 'digits/1.ulaw' (language 'en')

Park timed out and the call went back to 246, they answered.

./full-20201118:[2020-11-17 13:47:44] VERBOSE[21827][C-0000006e] app_dial.c: Called PJSIP/246/sip:[email protected]:5060
./full-20201118:[2020-11-17 13:47:44] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008d is ringing
./full-20201118:[2020-11-17 13:47:44] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008d is ringing
./full-20201118:[2020-11-17 13:47:51] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008d answered Local/246@from-queue-00000041;2

Parked again:

./full-20201118:[2020-11-17 13:47:54] VERBOSE[25862][C-0000006e] file.c: <PJSIP/246-0000008d> Playing 'digits/7.ulaw' (language 'en') ./full-20201118:[2020-11-17 13:47:54] VERBOSE[25862][C-0000006e] file.c: <PJSIP/246-0000008d> Playing 'digits/1.ulaw' (language 'en')

Timed out again, went to 246, they answered:

./full-20201118:[2020-11-17 13:57:54] VERBOSE[21827][C-0000006e] app_dial.c: Called PJSIP/246/sip:[email protected]:5060
./full-20201118:[2020-11-17 13:57:54] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008e is ringing
./full-20201118:[2020-11-17 13:57:54] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008e is ringing
./full-20201118:[2020-11-17 13:57:57] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008e answered Local/246@from-queue-00000041;2

Parked a third time:

./full-20201118:[2020-11-17 13:58:02] VERBOSE[27436][C-0000006e] file.c: <PJSIP/246-0000008e> Playing 'digits/7.ulaw' (language 'en') 
./full-20201118:[2020-11-17 13:58:03] VERBOSE[27436][C-0000006e] file.c: <PJSIP/246-0000008e> Playing 'digits/1.ulaw' (language 'en')

Timed out third time, went to 246 they asnwered.

./full-20201118:[2020-11-17 14:08:02] VERBOSE[21827][C-0000006e] app_dial.c: Called PJSIP/246/sip:[email protected]:5060
./full-20201118:[2020-11-17 14:08:02] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008f is ringing
./full-20201118:[2020-11-17 14:08:02] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008f is ringing
./full-20201118:[2020-11-17 14:08:04] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-0000008f answered Local/246@from-queue-00000041;2

parked a 4th time:

./full-20201118:[2020-11-17 14:08:07] VERBOSE[29022][C-0000006e] file.c: <PJSIP/246-0000008f> Playing 'digits/7.ulaw' (language 'en') 
./full-20201118:[2020-11-17 14:08:08] VERBOSE[29022][C-0000006e] file.c: <PJSIP/246-0000008f> Playing 'digits/1.ulaw' (language 'en')

Timed out 4th time, went to 246, they answered.

./full-20201118:[2020-11-17 14:18:07] VERBOSE[21827][C-0000006e] app_dial.c: Called PJSIP/246/sip:[email protected]:5060
./full-20201118:[2020-11-17 14:18:08] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-00000093 is ringing
./full-20201118:[2020-11-17 14:18:08] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-00000093 is ringing
./full-20201118:[2020-11-17 14:18:09] VERBOSE[21827][C-0000006e] app_dial.c: PJSIP/246-00000093 answered Local/246@from-queue-00000041;2

Finally, this time 246 terminated the call

./full-20201118:[2020-11-17 14:18:13] VERBOSE[30524][C-0000006e] bridge_channel.c: Channel PJSIP/246-00000093 left 'simple_bridge' basic-bridge <40236ee7-a484-465c-aca6-e63abf5b9cc4> 
./full-20201118:[2020-11-17 14:18:13] VERBOSE[21827][C-0000006e] bridge_channel.c: Channel Local/246@from-queue-00000041;2 left 'simple_bridge' basic-bridge <40236ee7-a484-465c-aca6-e63abf5b9cc4>

Very thorough thank you.

The caller definately is not in queue 401.
The join annoucement is for queue 434, the position annoucement is for 434, and the agents attached to 401 are not called.

It is odd that you see another call in that log. I emptied the full log before placing the call and getting the call trace.

I think I figured it out.

Local 234 is an agent of queue 401 and 434.
Ext 234 is configured if unavailable sends calls to queue 434.
When queue 401 rings 234 it answers and sends the call to queue 434.

If I set queue 434 “Queue No Answer” to “Yes” it works

Thank you for your trouble. I really appreciate the analysis of the log.

Again.
434 > Breakout IVR > Main IVR > Pressed 1 > Queue 401. This is what the log says. This happened.

1 Like

Yes,
As I mentioned in the post directly after that what was happening was;
434 > Breakout IVR > Main IVR > Pressed 1 > Queue 401 > Ext 234 > forwards to queue 434 > 434 answers > Caller is back in queue 434

Your analysis sent be down the right troubleshooting path. Thanks again.

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