Телефонизация. Технический блог.

Call Analyzer — анализатор звонков для FreePBX

FreePBX имеет встроенный CDR-отчёт, но он показывает только базовую таблицу: номер, время, длительность. Если нужно понять, почему звонок завершился определённым образом, куда именно он ушёл по маршрутизации, сработала ли голосовая почта или IVR — приходится лезть в логи вручную.

Call Analyzer

Бесплатный модуль для FreePBX 16/17, который парсит полный лог Asterisk (full) и выдаёт структурированный отчёт по каждому звонку прямо в веб интерфейсе freepbx. Вводите дату и номер — получаете полную перечень всех звонков и разбор этих звонков: тип звонка, промежуточные маршруты, время дозвона, причину завершения, полный лог файл с возможностью скачать его.

Что показывает Call Analyzer

Для каждого звонка модуль извлекает из лога:

  • Тип звонка — входящий / исходящий / внутренний
  • CallerID и DID — от кого пришёл звонок, на какой номер
  • Транк и маршрут — через какой SIP/PJSIP-транк, какой route в FreePBX
  • Промежуточные шаги — Ring Group, Queue, Time Conditions, IVR, Follow Me
  • Привязанные расширения — какие внутренние номера дёргались
  • Временные метки — начало, дозвон, ответ, завершение
  • Длительность по этапам — время набора, ожидания ответа, разговора
  • Причина завершения — нормальное завершение, ошибка, таймаут, отбой
  • Запись — ссылка на MixMonitor-файл, если запись велась
  • Полный лог — вырезанный фрагмент лога для ручного анализа

Как работает Call Analyzer

Модуль обращается к файлам логов Asterisk:

/var/log/asterisk/full          # текущий лог
/var/log/asterisk/full.0        # rotated-файлы
/var/log/asterisk/full-YYYYMMDD # архивные логи за конкретный день
Для каждого звонка по заданному номеру и дате он собирает все строки с совпадающим Uniqueid, группирует их в «цепочки» и парсит ключевые события:

  • CallerID/Channel — определение входящего номера и транка
  • Dial/Answer/Hangup — жизненный цикл звонка
  • Bridge/Queue/Ring Group — маршрутизация внутри АТС
  • IVR/Voicemail/Time Conditions — логика обработки
  • RecordedMix/End MixMonitor — привязка аудиозаписи

Как установить Call Analyzer

Способ 1: через FreePBX (рекомендуется)

Скачайте ZIP-архив релиза с GitHub

  • В FreePBX: Admin → Module Admin → Upload Modules
  • Выберите скачанный ZIP-файл
  • Нажмите Install
  • Нажмите Apply Config

Способ 2: вручную на сервере

# Клонируем репозиторий
cd /var/www/html/admin/modules
git clone https://github.com/rstayalive/callanalyzer.git

# Выставляем права
chown -R asterisk:asterisk callanalyzer

# Устанавливаем и перезагружаем
fwconsole ma install callanalyzer
fwconsole reload

Как пользоваться Call Analyzer

  1. Перейдите в меню Reports → Call Analyzer
  2. Укажите дату звонка (формат YYYY-MM-DD)
  3. Введите номер телефона (в любом формате: +7..., 8..., 10 цифр)
  4. Нажмите «Анализировать»
  5. Модуль покажет список всех звонков по этому номеру за указанную дату
Для каждого звонка отображается карточка с полной информацией: тип, маршрутизация, длительность, причина завершения и ссылка на запись.

Если нужен оригинальный лог — нажмите «Скачать полный лог» и получите текстовый файл с вырезанными строками для ручного разбора.

Скриншот интерфейса Call Analyzer

Для кого подходит Call Analyzer

  • Системные администраторы — быстрый поиск проблемных звонков без ручного grep по логам
  • Техподдержка — разбор жалоб абонентов: «звонил, но мне никто не ответил»
  • Менеджеры — контроль качества обработки входящих звонков
  • Интеграторы — отладка маршрутизации при настройке новых транков и маршрутов

Требования

FreePBX 16 или 17
PJSIP (не ChanSIP)
PHP 7.4+ (входит в стандартный стек FreePBX)
Доступ к /var/log/asterisk/full ( права пользователя asterisk)

Ключевые особенности

Возможность
Описание
Ротация логов
Работает с текущим full, rotated-файлами (.0, .1, .2) и архивами (full-YYYYMMDD)
Нормализация номеров
Автоматически убирает +7, 8, пробелы, тире — ищет по последним 10 цифрам
Просмотр/скачивание полного лога конкретного звонка
Для каждого ID Звонка, свой лог файл который можно посмотреть в веб интерфейсе freepbx или скачать.
Группировка по Uniqueid
Все события одного звонка собираются в одну цепочку
Поддержка Queue/Ring Group
Определяет промежуточные шаги маршрутизации

Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.
2026-07-21 15:01 Наши новости