首页 > 解决方案 > 如何检测队列中的入站放弃呼叫

问题描述

我想检测队列中的来电,在被队列成员应答之前被放弃。

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 中检测到此类调用?

标签: asterisk

解决方案


您已经使用 queue_log(可能是 mysql 中的 queue_log)或在拨号计划的顶层调用结束后检查 QUEUESTATUS 变量。


推荐阅读