我正在尝试为我的星号服务器编写墙板。此墙板将处理/var/log/atterisk中的queue_log文件。
这是一个有问题的情况:
1)客户呼叫呼叫中心。让他的编号为44556677889900,我们的编号为88881234567890。
2)客户进入队列210。
3)代理1接听电话。
4)代理1决定呼叫应转到另一个队列。并将其传输到队列209
5)代理2接听电话。
6)代理2与客户交谈后终止了呼叫。(当代理2在电话代理1上交谈时,是空闲的,可用于新调用。
7)通常代理1在第四步中结束了他的电话,但是与完整的日志现在出现,即使是代理也可以使用,因为第四步以来也可以使用。
这是queue_log中的输出:
1550582529 | 1550582516.26480 | 210 |无| dod | 88881234567890 * 1. 1.步骤* 1550582529 | 1550582516.26480 | 210 | none | Enterqueue || 44556677889900 | 1 * 2. 2.步骤* 1550582531 | 1550582516.26480 | 210 |测试代理1 |连接| 2 | 1550582529.26493 | 2 3。步骤1550582536 | 1550582536.26498 | 209 | none | did |** 4.步骤**1550582536 | 1550582536.26498 | 209 | none | Enterqueue || 9991 | 1 4。步骤1550582539 | 1550582536.26498 | 209 |测试代理2 |连接| 3 | 1550582536.26499 | 2 5。步骤1550582543 | 1550582536.26498 | 209 |测试代理2 |完成| 3 | 4 | 1 6。步骤1550582549 | 1550582516.26480 | 210 |测试1 |完成| 2 | 2 | 18 | 1 7。步骤
正如第七步中提到的,代理1如果在他将呼叫转到队列209之后可供新呼叫。但是,只有在客户断开连接时才会出现日志" compteleagent"。
这使我的墙板认为代理1忙,即使他不是。更糟糕的是,如果他在Agent 2结束之前接到新电话,一切都会变得更加复杂。
问题:
1)如何使系统在步骤4发送完整的系统?
2)为什么缺少参加登录日志?(直接与此问题无关,但也可以连接)
星号版本:13.22.0
freepbx 14.0.5.25
预先感谢您。
1)系统不应在4点发送compleateagent,因为应在通话结束后发送thoose事件。该事件是由队列创建的,而不是由代理创建。从队列的角度呼叫尚未完成。
如果您想完成它,请转移lega,而不是队列的腿。
2)转移子系统与队列子系统无关,不应在任何可实现的PBX中相关。如果需要的话,您可以写自己的。
旁注
- 没有任何点解析queue_log,MySQL或其他DB中的简单设置Queue_log并阅读。
- 您可以使用异步Agi编写自己的队列系统。
- 您可以使用Dialplan cel或Userefents添加任意数量的日志。