首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在freepbx问题中编程星号IVR在办事员挂断时继续执行程序

在freepbx问题中编程星号IVR在办事员挂断时继续执行程序
EN

Unix & Linux用户
提问于 2016-08-30 17:13:37
回答 1查看 160关注 0票数 1

我正试图解决我的IVR的一个问题,我试图弄清楚如何在职员挂断电话时继续打电话,进行评估。

好吧..。

我发现queue命令可以使用一些特定的选项来实现这一点,问题是队列命令使用100%的CPU.(因此,queue命令根本无法工作)

如果我替换这个工作代码:

代码语言:javascript
复制
exten => 1235,n,Goto(ext-queues,2026,1)

通过这一点:

代码语言:javascript
复制
exten => 1235,n,queue(2026,c)

排队看上去不错,音乐开始播放,但没有电话铃响……CPU达到100%制动星号。

在FreePBX论坛上,我得到一些反馈,说在新的FreePBX版本中,我试图做的事情在FreePBX上下文中是不可能的,那么如何摆脱这个上下文或者进行某种降级,或者编辑一些嵌入式脚本来解决这个问题呢?

还有其他方法可以让我使用queue命令,或者让程序在职员回答挂断之前继续运行,星号程序继续执行吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-10-27 20:04:46

经过长时间的研究,我找到了一个解决办法:

使用以下行在/usr/local/bin/freepbx_fix_queue_members.sh创建脚本:

代码语言:javascript
复制
#!/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"

给它执行死刑的许可。

代码语言:javascript
复制
chmod +x /usr/local/bin/freepbx_fix_queue_members.sh

更改/etc/amportal.conf上的POST_RELOAD参数,以加载新脚本:

代码语言:javascript
复制
# POST_RELOAD Script
# Default Value:
POST_RELOAD=/usr/local/bin/freepbx_fix_queue_members.sh

重新启动星号,并第一次运行脚本:

代码语言:javascript
复制
/usr/local/bin/freepbx_fix_queue_members.sh

就是这样,现在队列命令可以工作了!

现在,您可以在您的自定义代码中使用queue c选项,以便在办事员挂断后继续执行脚本。

代码语言:javascript
复制
exten => 1235,n,queue(2026,c)
exten => 1235,n,goto(evaluation)
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/306723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档