В FreePBX нет отчетов, но в cdr db-таблице есть записи

Мы используем Asterisk 1.6.2.20, FreePBX 2.9.0.12. Записи хранятся в таблице базы данных cdr. Но в отчетах нет записей. Кто-нибудь знает причину?

Ниже приведены подробности:

mysql> select count(*) from cdr;
 +----------+
 | count(*) |
 +----------+
 | 127 |
 +----------+
 1 row in set (0.00 sec)

asterisk*CLI> cdr mysql status
  Connected to asterisk on socket file default using table cdr for 6 days, 19 hours, 26 minutes, 22 seconds.
  Wrote 79 records since last restart.

asterisk*CLI> cdr show status
 Call Detail Record (CDR) settings
 ----------------------------------
Logging: Enabled
 Mode: Simple
 Log unanswered calls: No
 * Registered Backends
-------------------
mysql

The cdr_mysql.conf:
 [global]
 hostname=localhost
 dbname=asterisk
 password=asterisk
 user=asterisk
 userfield=1
 loguniqueid=yes
 ;port=3306
 ;sock=/tmp/mysql.sock

2 ответа

Проверьте конфигурацию базы данных freepbx в файле:

/admin/libraries/freepbx_conf.class.php

Я решил проблему.

Сначала я установил правильные значения в /etc/freepbx.conf.

Во-вторых, я заменил в /var/www/html/admin/bootstrap.php строку:

'database' => $amp_conf['CDRDBNAME'] ? $amp_conf['CDRDBNAME'] : 'asteriskcdrdb',

с:

'database' => $amp_conf['CDRDBNAME'] ? $amp_conf['CDRDBNAME'] : $amp_conf['AMPDBNAME'],

В-третьих, я заменил в /var/www/html/admin/cdr/lib/defines.php строку:

define ("DBNAME", (( (!isset($amp_conf["CDRDBNAME"]) || !$amp_conf["CDRDBNAME"]) ? "asteriskcdrdb" : $amp_conf["CDRDBNAME"] )) );

с:

define ("DBNAME", (( (!isset($amp_conf["CDRDBNAME"]) || !$amp_conf["CDRDBNAME"]) ? $amp_conf['AMPDBNAME'] : $amp_conf["CDRDBNAME"] )) );
Другие вопросы по тегам