Команда DeadAGI()
Команда DeadAGI - это вариант команды AGI, которая позволяет запускать приложения на разъединенных каналах.
Синтаксис и Использование:
Пожалуйста, обратитесь к AGI application для более подробной информации про AGI, т.к. синтаксис и использование идентичны.
Главное отличие в том, что приложение AGI может завершиться, если линия зависнет в течение выполнения, а DeadAGI не завершится, даже если линия зависнет в течение выполнения; однако, ветвь вызова не будет автоматически вводить состояние “down”, до тех пор пока выполнение не завершится, если выполнение происходит на живой линии. По существу, команды и приложения, разработанные для возврата состояния вызова, будут ошибочно возвращать состояние “up”.
Это также означает, что любые вызовы, приклеенные к выполнению DeadAGI на зависании, будут продолжаться рассматриваться CDR как “up”. Это очень важно для вашего скрипта быть агрессивным в завершении после зависания соответствующим образом для обслуживания правильных CDR записей.
Возможный метод проверки канала, вероятно, “exec playback” (“выполнение воспроизведения”) аудио файла (возможно короткого бесшумного файла) и поиск возвращаемого результата этого выполнения. Это зависит от того факта, что файл фактически существует и будет “отвечать” на вызов, если он еще не поднят. Конечно, появится надпись “Failed to write frame”, предупреждающая об отказе, возвращающая -1 и показывающая, что канал лежит. Она возвратит 0 в случае успеха.
Версии
Эта команда добавлена в (CVS) версию Asterisk, начиная с 03-03-2004.Ее нет в версиях Asterisk 1.0 или 0.9.
она возможна в 1.0.9 и 1.2.x.