может быть NO ANSWER да же, если кто-то ответил на звонок.
Логично, допустим в очереди 3 агента, один ответил на звонок а остальные естественно нет, а проверку ты делаеш в hangup, а для 3х агентов будет 3 хенгапа)
Надо делать через handler. Надо переписать начало звонка и перед вызовом queue вставить handler такого вида.
;; Это надо вставить перед вызовом очереди
same => n,Set(CHANNEL(hangup_handler_push)=hdlr-queue-miss-call,s,1(${CALLERID(num)})
[hdlr-queue-miss-call]
exten => s,1,Noop(---==== Handler queue miss call ===---)
same => n,Set(CLIENT_NUMBER=${ARG1})
same => n,GotoIf($[${ABANDONED}]?:end_call)
same => n,AGI(tg-noanswer.php, ${CLIENT_NUMBER}, ${STRFTIME(${EPOCH},,%Y.%m.%d--H:%M:%S)})
same => n(end_call),Hangup()