AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

CDR Reports пусто после апдейта

Asterisk GUI 2 сообщений -
#1

После очередного обновления freepbx c 2.10 на 2.11 сталкнулся с граблями. Сделав бэкап данных CDR обновил систему. После перезалил бэкап. И отпала возможность смотреть в CDR reports звонки. Там просто пусто. Зайдя в консоль, обнаружил что все модули работают:

Код:
*CLI> cdr mysql status
Connected to asteriskcdrdb on socket file default using table cdr for 10 minutes, 22 seconds.
Wrote 17 records since last restart and 4 records since last reconnect.


Код:
*CLI> cdr show status

Call Detail Record (CDR) settings
----------------------------------
Logging: Enabled
Mode: Simple
Log unanswered calls: No
Log congestion: No

* Registered Backends
-------------------
mysql
csv
cdr-custom
Adaptive ODBC
radius


Ну и грешным делом глянул таблицы в мускуле, туда запись велась:

Код:
mysql> SELECT * FROM `cdr` ORDER BY `calldate` DESC LIMIT 10;
+---------------------+---------------------------+------------+---------------+--------------
---+------------------------+-------------------------+------------+--------------------------
-------------------+----------+---------+-------------+----------+-------------+--------------
-+-----------+-----------------+---------------------------------------------------------+
| calldate | clid | src | dst | dcontext
| channel | dstchannel | lastapp | lastdata
| duration | billsec | disposition | amaflags | accountcode | uniqueid
| userfield | did | recordingfile |
+---------------------+---------------------------+------------+---------------+--------------
---+------------------------+-------------------------+------------+--------------------------
-------------------+----------+---------+-------------+----------+-------------+--------------
-+-----------+-----------------+---------------------------------------------------------+
| 2013-08-05 13:52:20 | "ata186 line1" | 100 | 0935508787 | from-internal
| SIP/100-00000025 | Dongle/Life1-0100000003 | Congestion | 20
| 48 | 0 | FAILED | 3 | | 1375699940.49
| | | out-0935508787-100-20130805-135220-1375699940.49.wav |
| 2013-08-05 13:44:34 | "ata186 line1" | 100 | 0633862610 | from-internal
| SIP/100-00000024 | Dongle/Life1-0100000002 | Dial | dongle/i:xxxxxxxxxxx/
0633862610,300, | 45 | 27 | ANSWERED | 3 | | 1375699474.47
| | | out-0633862610-100-20130805-134434-1375699474.47.wav |
| 2013-08-05 13:44:08 | "ata186 line1" | 100 | 0668397177 | from-internal
| SIP/100-00000023 | Dongle/MTS1-0100000008 | Dial | dongle/i:xxxxxxxxxxxx/
0668397177,300, | 10 | 0 | NO ANSWER | 3 | | 1375699448.45
| | | out-0668397177-100-20130805-134408-1375699448.45.wav |
| 2013-08-05 13:43:46 | "ata186 line1" | 100 | 0666003759 | from-internal
| SIP/100-00000022 | Dongle/MTS1-0100000007 | Dial | dongle/i:xxxxxxxxxxxx/
0666003759,300, | 8 | 0 | NO ANSWER | 3 | | 1375699426.43
| | | out-0666003759-100-20130805-134346-1375699426.43.wav |
| 2013-08-05 13:41:08 | "Trix smart" | 104 | +380666003759 | from-internal


Запись идет, но не отображает. Полез в ПХП... и чудо- нашел грабли.

файло: .....html/admin/modules/cdr/page.cdr.php

Часть кода из sql запроса на вывод содержала поля, которых в БД небыло, а именно:

Код:
$query = "SELECT `calldate`, `clid`, `did`, `src`, `dst`, `dcontext`, `channel`, `dstchannel`, `lastapp`, `lastdata`, `duration`, `billsec`, `disposition`, `amaflags`, `accountcode`, `uniqueid`, `userfield`, unix_timestamp(calldate) as `call_timestamp`, `recordingfile`, `cnum`, `cnam`, `outbound_cnum`, `outbound_cnam`, `dst_cnam` FROM $db_name.$db_table_name $where $order $sort LIMIT $result_limit";


нужно убрать было то, чего в БД нет, а точнее:

Код:
`cnum`, `cnam`, `outbound_cnum`, `outbound_cnam`, `dst_cnam`


После этого отобразилось, но частично и работает с прорехами. Это костыль, работает не так как нужно. Может ли ктонить поделится структурой таблицы cdr из мускуля? Заранее спасибо.
#2

Временный костыль победил: снес таблицу, заново залил бэкап CDR со свежепоставленной на виртуалке. Старые звонки и записи ессно- ушли из вебки. Но остались на серваке. Другого быстрого решения не нашел.