首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >星号13.7 GROUP_COUNT总是返回1

星号13.7 GROUP_COUNT总是返回1
EN

Stack Overflow用户
提问于 2017-02-15 02:52:49
回答 1查看 883关注 0票数 1

我需要为每个分机设置入站呼叫的并发调用限制,但不太顺利。

实际上,最低要求是防止多个呼叫给同一个分机打响。这应该在" RingInUse“设置中完成,但是星号中有一个错误,如果多个调用加入队列,它可能会违反RingInUse规则,并按下通话/铃声扩展。

我能够设置调用限制=1在星号1.6,但在星号13.7,它似乎没有效果(或贬值)。所以我需要想出另一个解决办法。

论坛上的一些帖子说,GROUPGROUP_COUNT是更新星号版本的完美解决方案。然后,我发现了许多使用GROUPGROUP_COUNT的例子,但其中大多数是基于中继或出站呼叫的。但是上面提到的入站调用也是工作的,所以我在我的extensions.conf的队列部分实现了它。

代码语言:javascript
运行
复制
[only-dialextension-q6701]
exten = _.,1,Gotoif(${DB(DND/${EXTEN})}>0?h,1)
exten = _.,2,Set(ODETIME=30)
exten = _.,n,Set(GROUP()=Exceed_${EXTEN})
exten = _.,n,Gotoif($[${GROUP_COUNT(Exceed_${EXTEN})}>1]?h)
exten = _.,n,Goto(only-dialextension,${EXTEN},1)
exten = h,1,Hangup()

问题

我在监视asterisk -vvvvvvvvvvr和输出。当第一个调用出现时,它返回0(以布尔值表示为false)。这是正确的,因为1不大于1,那么很好。但是第二个调用来了,它仍然返回0,因为计数仍然是1,而不是2。

我对这个结果非常失望,因为这不会阻止来自队列的进一步呼叫来调用同一个代理。

刚才我提到了,如果两个来电的时间太近的话,星号中有一个错误可能会打破“在使用中的环”,并给同一个代理打电话。所以我需要这个来覆盖“使用中的环”(虽然为了更好的容错,我已经关闭了它)。

更新1 2017年-0216 02:49格林尼治标准时间

代码语言:javascript
运行
复制
[only-dialextension-q6701]
exten = _.,1,Gotoif(${DB(DND/${EXTEN})}>0?h,1)
exten = _.,2,Set(ODETIME=30)
exten = _.,n,Gotoif($[${GROUP_COUNT(Exceed_${EXTEN})}>0]?callHangup:callQueueAgent)
exten = _.,n(callHangup),Hangup()
exten = _.,n(callHangup),Goto(always-Hangup,h,1)
exten = _.,n(callQueueAgent),Set(GROUP()=Exceed_${EXTEN})
exten = _.,n(callQueueAgent),Goto(only-dialextension,${EXTEN},1)
exten = h,1,Hangup()

我已经更改了GROUP_COUNT命令,以便更容易捕获>0,但失败了。

EN

Stack Overflow用户

发布于 2017-02-15 12:38:59

星号13.14中肯定没有这样的错误。没有任何意义上的测试,即过时(超过2年)版本。

也许你应该把拨号计划替换成那样(空格也很重要)。

代码语言:javascript
运行
复制
exten => _.,n,Noop(current count is ${GROUP_COUNT(Exceed_${EXTEN})})
exten => _.,n,Gotoif($[ "${GROUP_COUNT(Exceed_${EXTEN})}" = "1" ]?only-dialextension,${EXTEN},1)
exten => _.,n,Hangup
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42239859

复制
相关文章

相似问题

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