FreePBX. Не отображаются поля в csv отчете CDR-reports.
Недавно столкнулся с проблемой: не отображались имя пользователя и внутренний номер в отчете при импорте в csv в модуле CDR Reports в FreePBX(причем в веб интерфейсе отчет выглядел как надо). Выглядело это так:
А требовалось предоставить отчет, в котором были бы указаны внутренние номера и имена пользователей. После продолжительных поисков, выяснилось, что это особенность FreePBX, которая, судя по этому, выводит в csv исходящий CallerID(отправляемый провайдеру), а не внутренние номер и имя.
Удалось выяснить, что в csv попадают не все заголовки, присутствующие в базе asteriskcdrbd в таблице cdr. В частности отсутствуют имя и внутренний номер пользователя.
Как видно, поля cnam и cnum присутствую в таблице, но в csv не попадают.
Для решения задачи был применен «костыль» следующего вида. Мне достаточно было вывести в отчете поля с именем и внутренним номером пользователя, поэтому решено было отредактировать файл, отвечающий за вывод полей из таблицы в csv. Для этого открываем в вашем любимом редакторе файл /var/www/html/admin/modules/cdr/functions.inc.php и ищем там строки csv_header
Добавим в эту строку названия нужных нам полей cnam и cnum.
После проделанных манипуляций в отчете появились необходимые данные.
Единственное, что немного омрачает радость, то что FreePBX в веб-интерфейсе «ругается» на измененный файл.
Надеюсь, эта статья кому то поможет сэкономить время и нервы на исправление этой проблемы.))