1

I am trying to solve a problem with my IVR, i am trying to figure out how to continue the call when the clerk hangup, to a evaluation.

Well...

I discovered that the queue command can do that with some specific option, the thing is that the queue command breaks asterisk using 100% of CPU... (so the queue command is not working at all)

If i replace this working code:

exten => 1235,n,Goto(ext-queues,2026,1)

By this:

exten => 1235,n,queue(2026,c)

The queue looks fine, the music start playing, but there is no phone ringing..... and the CPU goes to 100% braking asterisk.

In FreePBX forum i get some feedback saying that the thing i am trying to do is not possible in FreePBX context in the new FreePBX versions, so how to escape this context or do some kind of downgrade, or edit some embedded script to solve this issue?

There is some alternative for me to use queue command, or to made the program to continue before the clerk answer hangup, and the asterisk program continues executing?

Luciano Andress Martini
  • 6,490
  • 4
  • 26
  • 56

1 Answers1

0

After a long research, i discovered a workaround:

Create a script at /usr/local/bin/freepbx_fix_queue_members.sh with this following lines:

#!/bin/bash
cp /etc/asterisk/queues_additional.conf /etc/asterisk/queues_additional.conf-freepbx
sed 's/member=Local\/\([0-9a-zA-Z_]*\).*,\(.*\)/member=SIP\/\1,\2/' </etc/asterisk/queues_additional.conf-freepbx >/etc/asterisk/queues_additional.conf
asterisk -rx "reload"

And give to it the execution permission.

chmod +x /usr/local/bin/freepbx_fix_queue_members.sh

Change the POST_RELOAD parameter on /etc/amportal.conf, to load the new script:

# POST_RELOAD Script
# Default Value:
POST_RELOAD=/usr/local/bin/freepbx_fix_queue_members.sh

Restart the ASTERISK, and run the script for a first time:

/usr/local/bin/freepbx_fix_queue_members.sh

That is it, now queue command will works!

Now you can use at your custom code the queue c option, to continue the execution of the script, after the clerk hangup.

exten => 1235,n,queue(2026,c)
exten => 1235,n,goto(evaluation)
Luciano Andress Martini
  • 6,490
  • 4
  • 26
  • 56