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
- Перейдите в меню Reports → Call Analyzer
- Укажите дату звонка (формат YYYY-MM-DD)
- Введите номер телефона (в любом формате: +7..., 8..., 10 цифр)
- Нажмите «Анализировать»
- Модуль покажет список всех звонков по этому номеру за указанную дату
Для каждого звонка отображается карточка с полной информацией: тип, маршрутизация, длительность, причина завершения и ссылка на запись.
Если нужен оригинальный лог — нажмите «Скачать полный лог» и получите текстовый файл с вырезанными строками для ручного разбора.
Если нужен оригинальный лог — нажмите «Скачать полный лог» и получите текстовый файл с вырезанными строками для ручного разбора.
Скриншот интерфейса Call Analyzer
Для кого подходит Call Analyzer
- Системные администраторы — быстрый поиск проблемных звонков без ручного grep по логам
- Техподдержка — разбор жалоб абонентов: «звонил, но мне никто не ответил»
- Менеджеры — контроль качества обработки входящих звонков
- Интеграторы — отладка маршрутизации при настройке новых транков и маршрутов
Требования
FreePBX 16 или 17
PJSIP (не ChanSIP)
PHP 7.4+ (входит в стандартный стек FreePBX)
Доступ к /var/log/asterisk/full ( права пользователя asterisk)
PJSIP (не ChanSIP)
PHP 7.4+ (входит в стандартный стек FreePBX)
Доступ к /var/log/asterisk/full ( права пользователя asterisk)
Ключевые особенности
Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.