使用PHP星号管理器界面我可以通过发出QueueStatusAction来查询星号以获取当前队列状态。这为我提供了有用的统计数据,如:
据我了解,这些统计信息仅针对服务器上星号进程的生命周期进行计算,并在进程停止后丢失。
在我的应用程序中,我想显示有关上一个{day | week | month | year}队列的上述统计信息。有没有办法通过星号管理器界面或其上的一些抽象来检索历史静态,还是由我编写一个方法来从星号queue_log表中的数据中创建这些统计信息?
如果有人这样做或者想知道如何处理这个问题,请分享。
答案 0 :(得分:4)
你的方式错了。
Asterisk是PBX软件。它不负责保存/记录/管理有关队列的信息。它不是为了存储星号内的队列信息而设计的,而是提供以下方式:
与2相同,但数据库中的queue_log(推荐方式)。见:
放置数据后,您可以使用SQL查询语言创建所需的报告。对于拥有sql技能的人来说,这是一个简单的SQL。
例如,要获得保持时间,您需要选择包含队列号和事件CONNECT的所有事件,它提供等待时间。 对于通话时间,您需要检查CONNECT并检查具有相同uniqueid的下一个事件COMPLETECALLER / COMPLETEAGENT。
如果由于某种原因你对sql不太满意,你可以检查一些开源项目,如Asternic Call Center Stats或其他(google by queue managment / report)并检查它使用的SQL或聘请某人来做你的sql部分。