Как обнаружить inboud отказались от звонков в очереди - PullRequest
0 голосов
/ 03 октября 2019

Я хочу обнаружить входящие вызовы в очереди, которые были прерваны до того, как на них ответил участник очереди.

Файл 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 но это не имеет никакого значения.

Как я могу обнаружить такие вызовы в диаплане звездочки?

1 Ответ

0 голосов
/ 03 октября 2019

Вы должны использовать queue_log (возможно, queue_log в mysql) или проверить переменную QUEUESTATUS после завершения вызова на верхнем уровне плана набора.

...