Asterisk 星号队列\u日志延迟完成代理

Asterisk 星号队列\u日志延迟完成代理,asterisk,Asterisk,我正试图为我的星号服务器写一个墙板。此墙板将处理/var/log/asterisk中的队列日志文件 下面是一个有问题的场景: 1) 客户呼叫呼叫中心。他的电话号码是4455677889900,我们的电话号码是8881234567890 2) 客户进入队列210 3) 1号特工接电话 4) 代理1决定呼叫应转到另一个队列。并将其转移到队列209 5) 2号特工接电话 6) 代理2在与客户交谈后终止通话。(当代理2正在通话时,代理1处于空闲状态,可用于新呼叫 7) 正常情况下,代理1在第4步结束了他

我正试图为我的星号服务器写一个墙板。此墙板将处理/var/log/asterisk中的队列日志文件

下面是一个有问题的场景:

1) 客户呼叫呼叫中心。他的电话号码是4455677889900,我们的电话号码是8881234567890

2) 客户进入队列210

3) 1号特工接电话

4) 代理1决定呼叫应转到另一个队列。并将其转移到队列209

5) 2号特工接电话

6) 代理2在与客户交谈后终止通话。(当代理2正在通话时,代理1处于空闲状态,可用于新呼叫

7) 正常情况下,代理1在第4步结束了他的呼叫,但是刚刚出现了COMPLETEAGENT日志,即使代理从第4步开始就可用

以下是队列日志中的输出:

1550582529 | 1550582516.26480 | 210 |没有| 8881234567890*1。步骤* 1550582529 | 1550582516.26480 | 210 |无|进入队列| 4456677889900 | 1*2。步骤* 1550582531 | 1550582516.26480 | 210 |测试代理1 |连接| 2 | 1550582529.26493 | 23。步骤 1550582536 | 1550582536.26498 | 209 |无| |**4。台阶** 1550582536 | 1550582536.26498 | 209 |无|进入队列| |999114。步骤 1550582539 | 1550582536.26498 | 209 |测试代理2 |连接| 3 | 1550582536.26499 | 25。步骤 1550582543 | 1550582536.26498 | 209 |测试剂2 |完全调用方| 3 | 4 | 16。步骤 1550582549 | 1550582516.26480 | 210 |测试1 | COMPLETEAGENT | 2 | 18 | 17。步骤

如第7步中所述,代理1在将呼叫转移到队列209后,如果可用于新呼叫,则将呼叫转移到队列209。(事实上,如果出现新呼叫,系统会将呼叫发送给代理1)。但是,只有当客户断开连接时,才会显示日志“COMPTELEAGENT”

这让我的墙板觉得1号特工很忙,即使他不忙。更糟糕的是,如果他在2号特工结束前接到一个新的电话,一切都会变得更加复杂

问题:

1) 如何使系统在步骤4发送COMPLETEAGENT

2) 为什么缺少ATTENDEDTRANSFER日志?(与此问题不直接相关,但也可以连接)

星号版本:13.22.0

Freepbx 14.0.5.25

提前谢谢。

1)系统不应在4点发送CompleteAgent,因为这些事件应在通话结束后发送。 该事件由队列而不是代理创建。从队列的角度来看,调用尚未完成

如果你想让它完成的话,就转移LEGA,而不是队列的腿

2) 传输子系统与队列子系统无关,并且不应与任何可实现的PBX相关。如果你愿意,你可以自己写

旁注

  • 无需解析队列日志,在mysql或其他数据库中更简单地设置队列日志并读取
  • 您可以使用异步AGI编写自己的队列系统
  • 您可以使用dialplan CEL或UserEvents添加任意数量的日志