Я хочу обнаружить входящие вызовы в очереди, которые были прерваны до того, как на них ответил участник очереди.
Файл 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
но это не имеет никакого значения.
Как я могу обнаружить такие вызовы в диаплане звездочки?