如何通过AMI获取Agent的暂停时间?

罗德里戈·罗伯托·德·阿尔梅达

我正在制作一个 WebSocket 应用程序,需要获取代理的当前暂停时间。

当我调用操作:QueueStatus 时,返回的是 QueueMember 事件。JSON 中的 an 返回如下:

{ActionID: "WelcomeStatus/7000"
CallsTaken: "0"
Event: "QueueMember"
InCall: "0"
LastCall: "0"
LastPause: "1568301325"
Location: "Agent/7000"
Membership: "dynamic"
Name: "Agent/7000"
Paused: "1"
PausedReason: "Almoço"
Penalty: "0"
Queue: "queue1"
StateInterface: "Agent/7000"
Status: "4"}

注意,返回的是“LastPause”、“PausedReson”和“Pause”。在“LastPause”中,离开显示一些疯狂的数字(我不明白那个数字哈哈哈)。

那么,如何从 Asterisk 15 获取当前的暂停时间?

--编辑:通过重新测试,我发现导致这种情况的原因是我还提交了一个中断原因。如果我不发送休息时间的原因正常工作。

谢谢你的帮助。

罗德里戈·罗伯托·德·阿尔梅达

在 asterisk 的论坛上冲浪,我发现了这个版本:

此版本中修复的错误:ASTERISK-27541 - app_queue:设置原因时队列暂停原因是(大数字)秒前(由 César Benjamín García Martínez 报告)

但是这个版本是针对 Asterisk 16,而不是针对 Asterisk 15。我决定在一些 C 文件中搜索这个问题,我发现失败了。

请记住,我必须重新编译星号,因为我直接从源代码更改内容。因此,如果您需要执行此过程,请在将其传递到生产环境之前在测试环境中进行。

打开文件:/usr/src/asterisk-15.7.3/apps/app_queue.c

并搜索这一行:

mem->reason_paused,  (long) (time(NULL) - mem->lastcall), ast_term_reset());

改变:

mem->reason_paused,  (long) (time(NULL) - mem->lastpause), ast_term_reset());

在这一行:

"LastPause", (int)mem->lastpause,

改成:

"LastPause", (long) (time(NULL) - mem->lastpause),

我想已经完成了... CLI 上的所有 AMI 请求和命令对我来说都返回了正确的信息,并且在我的 AMI 套接字上运行良好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取上次系统休眠/暂停/恢复的日期/时间?

来自分类Dev

获取502时如何暂停发送请求Jmeter一段时间

来自分类Dev

如何在时间流逝时暂停循环

来自分类Dev

如何通过 cli 或 ami 或 agi 保持通话

来自分类Dev

如何通过LabVIEW从信号幅度获取时间跨度

来自分类Dev

如何通过Java程序获取系统登录时间

来自分类Dev

如何获取选定的时间并通过jQuery添加课程?

来自分类Dev

如何通过Ruby中的某些代理使用User-Agent获取URL和超时?

来自分类Dev

如何在特定时间内暂停剪辑/对象?

来自分类Dev

如何捕获计时器暂停时经过的时间

来自分类Dev

如何在C中暂停非整数时间?

来自分类Dev

如何使“ last”节目也显示暂停/恢复时间?

来自分类Dev

如何在AngularJs Interval中悬停并暂停时间?

来自分类Dev

如何暂停 selenium 脚本的执行一段时间?

来自分类Dev

如何获取更多 gpg-agent 信息?

来自分类Dev

如何通过代码在Eclipse中暂停Java程序

来自分类Dev

如何从curl请求获取响应时间(通过命令行)

来自分类Dev

如何通过批处理文件中的时间戳识别/获取文件?

来自分类Dev

如何在熊猫数据框中获取“通过时间”列的最大差异

来自分类Dev

如何通过FTP(Perl)获取远程服务器的最后修改时间和时区

来自分类Dev

如何通过LINQ C#按日期获取日期时间分组

来自分类Dev

如何通过一次单击即可从Proses Vb Net获取响应时间

来自分类Dev

flask:通过AJAX获取剩余的会话时间

来自分类Dev

通过pycurl获取youtube页面加载时间

来自分类Dev

AnimationCurve.Evaluate-通过价值获取时间

来自分类Dev

从php获取时间并通过javascript更新

来自分类Dev

通过比较时间获取和分组数据

来自分类Dev

如何根据时间获取到新年的时间?

来自分类Dev

通过串联日期和时间列获取时间戳

Related 相关文章

  1. 1

    如何获取上次系统休眠/暂停/恢复的日期/时间?

  2. 2

    获取502时如何暂停发送请求Jmeter一段时间

  3. 3

    如何在时间流逝时暂停循环

  4. 4

    如何通过 cli 或 ami 或 agi 保持通话

  5. 5

    如何通过LabVIEW从信号幅度获取时间跨度

  6. 6

    如何通过Java程序获取系统登录时间

  7. 7

    如何获取选定的时间并通过jQuery添加课程?

  8. 8

    如何通过Ruby中的某些代理使用User-Agent获取URL和超时?

  9. 9

    如何在特定时间内暂停剪辑/对象?

  10. 10

    如何捕获计时器暂停时经过的时间

  11. 11

    如何在C中暂停非整数时间?

  12. 12

    如何使“ last”节目也显示暂停/恢复时间?

  13. 13

    如何在AngularJs Interval中悬停并暂停时间?

  14. 14

    如何暂停 selenium 脚本的执行一段时间?

  15. 15

    如何获取更多 gpg-agent 信息?

  16. 16

    如何通过代码在Eclipse中暂停Java程序

  17. 17

    如何从curl请求获取响应时间(通过命令行)

  18. 18

    如何通过批处理文件中的时间戳识别/获取文件?

  19. 19

    如何在熊猫数据框中获取“通过时间”列的最大差异

  20. 20

    如何通过FTP(Perl)获取远程服务器的最后修改时间和时区

  21. 21

    如何通过LINQ C#按日期获取日期时间分组

  22. 22

    如何通过一次单击即可从Proses Vb Net获取响应时间

  23. 23

    flask:通过AJAX获取剩余的会话时间

  24. 24

    通过pycurl获取youtube页面加载时间

  25. 25

    AnimationCurve.Evaluate-通过价值获取时间

  26. 26

    从php获取时间并通过javascript更新

  27. 27

    通过比较时间获取和分组数据

  28. 28

    如何根据时间获取到新年的时间?

  29. 29

    通过串联日期和时间列获取时间戳

热门标签

归档