星号 queue_log 晚期 COMPLETEAGENT

asterisk queue_log late COMPLETEAGENT

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

这是一个有问题的场景:

1) 客户呼叫呼叫中心。设他的号码为44556677889900,我们的号码为8881234567890.

2) 客户入队210.

3) 座席 1 接听电话。

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

5) 座席 2 接听电话。

6) 座席 2 在与客户通话后挂断电话。 (当座席 2 在 phone 座席上通话时,座席 1 空闲并可以接听新电话。

7) 正常情况下代理1在第4步就结束了通话,但是刚才出现COMPLETEAGENT的日志,连代理从第4步开始就可用

这是 queue_log 中的输出:

1550582529|1550582516.26480|210|NONE|DID|8881234567890 * 1. 步骤* 1550582529|1550582516.26480|210|NONE|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|连接|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" 仅在客户断开连接时出现。

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

问题:

1) 如何让系统在第 4 步发送 COMPLETEAGENT?

2) 为什么 ATTENDEDTRANSFER 日志丢失了? (与此问题没有直接关系,但也可以连接)

星号版本:13.22.0

Freepbx 14.0.5.25

提前致谢。

1) 系统不应在 4 处发送 COMPLEATEAGENT,因为选择的事件应在通话结束后发送。 该事件是由 QUEUE 创建的,而不是由 AGENT 创建的。从队列的角度来看,调用尚未完成。

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

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

旁注

  • 没有必要解析 queue_log,在 mysql 或其他数据库中更简单地设置 queue_log 并读取它。
  • 您可以使用 Async AGI 编写自己的队列系统。
  • 您可以使用拨号方案 CEL 或 UserEvents 添加任意数量的日志。