FreePBX(Asterisk): ERROR-UNABLE-TO-PARSE

Любой софт, без исключений, имеет баги. Ну чтобы так! Сангома, текущий владелец прав на Астериск, подкинула свинью с работой своих фреймворков.
На будущее для себя, особые права на используемые модули приложения и конфиги я уже проверил:

fwconsole chown</code>

Но при попытке применить настройки во FreePBX красной кнопкой вываливалась ошибка - "FreePBX undefined index data /var/www/html/admin/functions бла-бла-бла", а за ней: "XHR response code: 500 XHR responseText: undefined jQuery status: error".
Да и фиг с тобой, красная кнопка. Вернулся к консоли и давай тоже самое, но с помощью команды:

amportal a r

В ответ: "Error(s) have occured, the following is the retrieve_conf output: exit: 1 Unknown Error. Please Run /var/lib/asterisk/bin/retrieve_conf". А виновата то не кнопка красная =)
Зашибись - неизвестная ошибка с предложением запустить некий ретрив_конф.
"[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE".
Не может получить инфу о движке астериска, Карл!
На странице саппорта FreePBX, выяснилось, что сей "баг" валит еще со старых версий. Некогда им исправлять такие мелочи, тем более, что настроенный(до возникновения ошибки) функционал исправно работает. Говорят иногда возникают сложности с определением движка и его версии. Мы люди не ленивый, вспомним текущую версию Астериска:

asterisk -V

Запоминаем(ну или копируем в буфер) три цифры разделенные точками(В моем случае версия Астериска была 13.19.2) и открываем тот самый ретрив для редактирования.

vi /var/lib/asterisk/bin/retrieve_conf

Находим строку $engineinfo = engine_getinfo(); и сразу после нее добавляем "отсебячину":

$engineinfo['engine']="asterisk";
$engineinfo['version']="13.19.2";

Сохраняем файл и вновь

amportal a r

Вот и всё.

Posted in Asterisk on May 22, 2018.