星号queue_log晚COMPLETEAGENT

问题描述 投票:-1回答:1

我正在为我的星号服务器写一个墙板。此墙板将处理/ var / log / asterisk中的queue_log文件。

这是一个有问题的场景:

1)客户呼叫呼叫中心。让他的号码是44556677889900,号码是8881234567890。

2)客户进入队列210。

3)代理1接听电话。

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

5)代理2接听电话。

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

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

这是queue_log中的输出:

1550582529 | 1550582516.26480 | 210 |无| DID | 8881234567890 * 1.步骤* 1550582529 | 1550582516.26480 | 210 |无| ENTERQUEUE || 44556677889900 | 1 * 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 | CONNECT | 3 | 1550582536.26499 | 2 5.步骤1550582543 | 1550582536.26498 | 209 |测试代理2 | COMPLETECALLER | 3 | 4 | 1 6.步骤1550582549 | 1550582516.26480 | 210 |测试1 | COMPLETEAGENT | 2 | 18 | 1 7.步骤

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

这让我的墙板认为Agent 1很忙,即使他不是。更糟糕的是,如果他在Agent 2完成之前接到一个新的电话,一切都会变得更加复杂。

问题:

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

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

星号版本:13.22.0

Freepbx 14.0.5.25

先感谢您。

asterisk
1个回答
0
投票

1)系统不应该在4发送COMPLEATEAGENT,因为这些事件应该在呼叫结束后发送。该事件由QUEUE创建,而不是由AGENT创建。从队列的角度看,呼叫尚未完成。

如果你想要完成,请转移LEGA,而不是队列的LEG。

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

旁注

  • 没有点解析queue_log,更简单的设置queue_log在mysql或其他数据库中读取它。
  • 您可以使用Async AGI编写自己的队列系统。
  • 您可以使用dialplan CEL或UserEvents添加任意数量的日志。
© www.soinside.com 2019 - 2024. All rights reserved.