Как AGI должен обрабатывать запрос на зависание - PullRequest
0 голосов
/ 10 декабря 2018

Мы недавно обновили нашу версию asterisk с версии 1.4.26.1 -> 13.23.1.И из изменений, которые мы заметили, было то, что после того, как AMI закрыл свое соединение, он использовал для ответа на AGI «зависание», а затем закрывает соединение tcp.Это поведение изменилось, и теперь он получает «HangupRequest» и оставляет соединение открытым.Судя по журналам Asterisk, он также постоянно пытается уничтожить канал.Ожидает ли HangupRequest конкретного ответа от AGI, чтобы завершить зависание?

Обходной путь, который мы используем в настоящее время, заключается в добавлении Set(AGIEXITONHANGUP=yes) в плане набора номера, что возвращает поведение к способу, используемому для выполнения зависания, в то время как кажется, что они должны быть более изящным способом передачизапросы на зависание, которым не нужен этот параметр в абонентской группе.

1 Ответ

0 голосов
/ 17 декабря 2018

AMI получает запрос на зависание после того, как звездочка запросила зависание.https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_HangupRequest В этом случае он запросил HANGUP AGI, мы нашли 2 возможных способа обойти это.Первым было добавить Set(AGIEXITONHANGUP=yes) к плану набора, это означает, что когда Asterisk получает HANGUP, он закрывает свое соединение с AGI.Вторым было сделать AGI, когда он получает HANGUP, чтобы очистить свои соединения с Asterisk, таким образом выполняя зависание.

...