asterisk - 如何检测队列中的入站放弃呼叫
问题描述
我想检测队列中的来电,在被队列成员应答之前被放弃。
queue_log 文件提到了这些,因此一种方法是使用它。但是我想在我的拨号计划中处理这种情况,当检测到此类呼叫时,我会使用一个命令向不和谐沙龙发出通知。
我尝试使用h
扩展名:
exten = h,1,NoOp("hangup ! cause : ${HANGUPCAUSE}")
same = n,GotoIf($[ ${HANGUPCAUSE} != 16 ]?done)
same = n,system(/myTools/discord-notification "Missed call from ${CALLERID(num)}.")
same = n(done),NoOp()
它可以工作,但不能区分已接听电话和未接听/已放弃的电话(它们都发出 16 个挂断原因)。
我也尝试使用添加挂断处理程序,hangup_handler_push
但它没有任何区别。
如何在星号 diaplan 中检测到此类调用?
解决方案
您已经使用 queue_log(可能是 mysql 中的 queue_log)或在拨号计划的顶层调用结束后检查 QUEUESTATUS 变量。
推荐阅读
- raku - 让 perl6 调用由 subtype(subset) 专门化的正确的 multi sub
- scala - 带有 Play-json 验证的 Apache Spark Scala
- html - 视差横幅图像从上到下滚动
- scala - 在 build.sbt 文件中使用外部库
- rx-java - RxJava2 - 如何观察一个已经初始化的空可观察对象一旦改变?
- c# - WPF 单击按钮并将文本块更新为新问题
- node.js - 如何从 MongoDB 和 Node.js 中匹配用户输入的文档中获取价值
- .net - VB.Net 保存按钮未将数据添加到文本文件
- mongodb - 如何使用 MongoDB 实现 Redis 缓存?
- android - 重复的 jar 条目 - android