我正试图解决我的IVR的一个问题,我试图弄清楚如何在职员挂断电话时继续打电话,进行评估。
好吧..。
我发现queue命令可以使用一些特定的选项来实现这一点,问题是队列命令使用100%的CPU.(因此,queue命令根本无法工作)
如果我替换这个工作代码:
exten => 1235,n,Goto(ext-queues,2026,1)通过这一点:
exten => 1235,n,queue(2026,c)排队看上去不错,音乐开始播放,但没有电话铃响……CPU达到100%制动星号。
在FreePBX论坛上,我得到一些反馈,说在新的FreePBX版本中,我试图做的事情在FreePBX上下文中是不可能的,那么如何摆脱这个上下文或者进行某种降级,或者编辑一些嵌入式脚本来解决这个问题呢?
还有其他方法可以让我使用queue命令,或者让程序在职员回答挂断之前继续运行,星号程序继续执行吗?
发布于 2016-10-27 20:04:46
经过长时间的研究,我找到了一个解决办法:
使用以下行在/usr/local/bin/freepbx_fix_queue_members.sh创建脚本:
#!/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"给它执行死刑的许可。
chmod +x /usr/local/bin/freepbx_fix_queue_members.sh更改/etc/amportal.conf上的POST_RELOAD参数,以加载新脚本:
# POST_RELOAD Script
# Default Value:
POST_RELOAD=/usr/local/bin/freepbx_fix_queue_members.sh重新启动星号,并第一次运行脚本:
/usr/local/bin/freepbx_fix_queue_members.sh就是这样,现在队列命令可以工作了!
现在,您可以在您的自定义代码中使用queue c选项,以便在办事员挂断后继续执行脚本。
exten => 1235,n,queue(2026,c)
exten => 1235,n,goto(evaluation)https://unix.stackexchange.com/questions/306723
复制相似问题