AMI FREEPBX NAMI SYSLOG NODEJS

В этом проекте нам нужно сохранять различные события в очередях Астериска через nodejs библиотеку NAMI. Сложности тут на первый взгляд только одна, это создания таблиц для сохранения событий. На самом деле нет, есть еще задача сохранения неудачного запроса, есть задача выполнения асинхронного запроса, чтобы не скрипт не тормозил.

В проект включены файлы:
tables.sql – который создает базу данных asterisk_logs и несколько табличек в ней,
table-ami-events.ods – excel файл с описанием событий по столбцам.

  1. создаем БД и таблички tables.sql,
  2. устанавливаем “npm install nami mysql modern-syslog”
  3. добавляем пользователя monit в manager_custom.conf
  4. прописываем учетные данные для mysql и asterisk manager в массивы db_config и namiConfig.
  5. Запускаем скрипт nami.js и если модули nodejs установлены верно, то скрипт запустится даже если у вас нет астериска и базы данных.

особенностью этого скрипта является то, что даже при пропадании подключения к mysql он будет пытаться реконнектится, при пропадании к астериску тоже. И если если подключение к астериску есть, а к mysql нет, то он будет сохранять готовые для импорта запросы в syslog.

фалы проекта можно скачать тут

Leave a Reply