Вот такую ошибку заметил в логах Asterisk «in ast_db_put: Couldn’t execute statment: SQL logic error or missing database».
При этом новые внутренние номера Asterisk не могли звонить, хотя были доступны для звонка.
Файл astdb.sqlite3 находиться /var/lib/asterisk/astdb.sqlite3, вот как раз и проблема с этим файлом.
AstDB является частью Asterisk и устанавливается вместе с ним. Это простая файловая база данных которую использует Asterisk, вот как раз настройки внутренних номеров и находятся в этом файле:/var/lib/asterisk/astdb.sqlite3. У меня этот файл был поврежден и созданные новые номера не были записаны в базу.
Решение: Перенести в tmp /var/lib/asterisk/astdb.sqlite3 и перезапустить asterisk.
Так как у меня FreePBX то после как перенесли файл в другое место:
sudo amportal restart
После этой команды будет создан чистый новый файл astdb.sqlite3.
После этого заходим в каждый внутренний номер нажимаем Сохранить и Применить изменения, для того чтобы настройки внутренних номеров сохранились в astdb.sqlite3.
Готово!
Спасибо большое. Сразу помогло. Еще в консоль астериска валится много warning сообщений типа:
WARNING[2909]: pbx.c:8635 ast_context_verify_includes: Context ‘bla-bla-bla’ tries to include nonexistent context ‘bla-bla-bla’