使用星号queue_log表或AMI检索/生成星号队列的统计信息

时间:2013-03-12 20:58:37

标签: php asterisk asteriskami

使用PHP星号管理器界面我可以通过发出QueueStatusAction来查询星号以获取当前队列状态。这为我提供了有用的统计数据,如:

  1. 等待时间
  2. 放弃了呼叫
  3. 通话已完成
  4. 平均通话时间。
  5. 据我了解,这些统计信息仅针对服务器上星号进程的生命周期进行计算,并在进程停止后丢失。

    在我的应用程序中,我想显示有关上一个{day | week | month | year}队列的上述统计信息。有没有办法通过星号管理器界面或其上的一些抽象来检索历史静态,还是由我编写一个方法来从星号queue_log表中的数据中创建这些统计信息?

    如果有人这样做或者想知道如何处理这个问题,请分享。

1 个答案:

答案 0 :(得分:4)

你的方式错了。

Asterisk是PBX软件。它不负责保存/记录/管理有关队列的信息。它不是为了存储星号内的队列信息而设计的,而是提供以下方式:

  1. 通过经理API
  2. 等代理登录/注销/致电等事件
  3. 事件登录/ var / log / asterisk / queue_log
  4. 与2相同,但数据库中的queue_log(推荐方式)。见:

  5. 放置数据后,您可以使用SQL查询语言创建所需的报告。对于拥有sql技能的人来说,这是一个简单的SQL。

    例如,要获得保持时间,您需要选择包含队列号和事件CONNECT的所有事件,它提供等待时间。 对于通话时间,您需要检查CONNECT并检查具有相同uniqueid的下一个事件COMPLETECALLER / COMPLETEAGENT。

    如果由于某种原因你对sql不太满意,你可以检查一些开源项目,如Asternic Call Center Stats或其他(google by queue managment / report)并检查它使用的SQL或聘请某人来做你的sql部分。