root@sip ~]# asterisk -rx "module show like cdr" Module Description Use Count app_cdr.so Tell Asterisk to not maintain a CDR for 0 app_forkcdr.so Fork The CDR into 2 separate entities 0 cdr_adaptive_odbc.so Adaptive ODBC CDR backend 0 cdr_csv.so Comma Separated Values CDR Backend 0 cdr_custom.so Customizable Comma Separated Values CDR 0 cdr_manager.so Asterisk Manager Interface CDR Backend 0 cdr_mysql.so MySQL CDR Backend 0 cdr_odbc.so ODBC CDR Backend 0 cdr_sqlite3_custom.so SQLite3 Custom CDR Module 0 cdr_syslog.so Customizable syslog CDR Backend 0 func_cdr.so Call Detail Record (CDR) dialplan functi 0 11 modules loaded [root@sip ~]# asterisk -rx "module show like mysql" Module Description Use Count app_cbmysql.so CBMysql conference scheduling 0 app_mysql.so Simple Mysql Interface 0 cdr_mysql.so MySQL CDR Backend 0 res_config_mysql.so MySQL RealTime Configuration Driver 0 4 modules loaded [root@sip ~]# asterisk -rx "cdr mysql status" Connected to asteriskcdrdb on socket file default using table cdr for 5 minutes, 45 seconds. Wrote 0 records since last restart. [root@sip ~]# [root@sip ~]# cat /etc/asterisk/cdr_mysql.conf ; ; Note - if the database server is hosted on the same machine as the ; asterisk server, you can achieve a local Unix socket connection by ; setting hostname = localhost ; ; port and sock are both optional parameters. If hostname is specified ; and is not "localhost", then cdr_mysql will attempt to connect to the ; port specified or use the default port. If hostname is not specified ; or if hostname is "localhost", then cdr_mysql will attempt to connect ; to the socket file specified by sock or otherwise use the default socket ; file. ; [global] hostname=127.0.0.1 dbname=asteriskcdrdb password=Qwerty987 user=root userfield=1 ;port=3306 ;sock=/tmp/mysql.sock [root@sip ~]# tail -f /var/log/httpd/error_log [Tue Feb 24 17:24:27 2015] [notice] Digest: done [Tue Feb 24 17:24:27 2015] [notice] SSL FIPS mode disabled [Tue Feb 24 17:24:27 2015] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations [Tue Feb 24 17:56:25 2015] [notice] caught SIGTERM, shutting down [Tue Feb 24 17:59:35 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Feb 24 17:59:35 2015] [notice] SSL FIPS mode disabled [Tue Feb 24 17:59:35 2015] [notice] Digest: generating secret for digest authentication ... [Tue Feb 24 17:59:35 2015] [notice] Digest: done [Tue Feb 24 17:59:35 2015] [notice] SSL FIPS mode disabled [Tue Feb 24 17:59:35 2015] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations [root@sip ~]# cat /etc/asterisk/cdr_manager.conf [general] enabled = yes
Вроде все правильно, все настройки на месте , но отчеты не отображаются , что проверить чтобы починить ?
Смотрел также таблицу MySQL в таблице данных тоже нету.
mysql> use asteriskcdrdb Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> DESCRIBE cdr -> ; +---------------+--------------+------+-----+---------------------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------------------+-------+ | calldate | datetime | NO | | 0000-00-00 00:00:00 | | | clid | varchar(80) | NO | | | | | src | varchar(80) | NO | | | | | dst | varchar(80) | NO | | | | | dcontext | varchar(80) | NO | | | | | channel | varchar(80) | NO | | | | | dstchannel | varchar(80) | NO | | | | | lastapp | varchar(80) | NO | | | | | lastdata | varchar(80) | NO | | | | | duration | int(11) | NO | | 0 | | | billsec | int(11) | NO | | 0 | | | disposition | varchar(45) | NO | | | | | amaflags | int(11) | NO | | 0 | | | accountcode | varchar(20) | NO | | | | | uniqueid | varchar(32) | NO | MUL | | | | userfield | varchar(255) | NO | | | | | recordingfile | varchar(255) | NO | | | | | cnum | varchar(40) | NO | | | | | cnam | varchar(40) | NO | | | | | outbound_cnum | varchar(40) | NO | | | | | outbound_cnam | varchar(40) | NO | | | | | dst_cnam | varchar(40) | NO | | | | +---------------+--------------+------+-----+---------------------+-------+ 22 rows in set (0.00 sec) [root@sip ~]# asterisk -rx"cdr show status" Call Detail Record (CDR) settings ---------------------------------- Logging: Disabled Mode: Simple
Делаю вот так :
[root@sip ~]# mysql -useasteriskcdrdb -uroot -pQwerty987 -e "DESCRIBE cdr;" ERROR 1046 (3D000) at line 1: No database selected [root@sip ~]# mysql -use asteriskcdrdb -uroot -pQwerty987 -e "DESCRIBE cdr;" +---------------+--------------+------+-----+---------------------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------------------+-------+ | calldate | datetime | NO | | 0000-00-00 00:00:00 | | | clid | varchar(80) | NO | | | | | src | varchar(80) | NO | | | | | dst | varchar(80) | NO | | | | | dcontext | varchar(80) | NO | | | | | channel | varchar(80) | NO | | | | | dstchannel | varchar(80) | NO | | | | | lastapp | varchar(80) | NO | | | | | lastdata | varchar(80) | NO | | | | | duration | int(11) | NO | | 0 | | | billsec | int(11) | NO | | 0 | | | disposition | varchar(45) | NO | | | | | amaflags | int(11) | NO | | 0 | | | accountcode | varchar(20) | NO | | | | | uniqueid | varchar(32) | NO | MUL | | | | userfield | varchar(255) | NO | | | | | recordingfile | varchar(255) | NO | | | | | cnum | varchar(40) | NO | | | | | cnam | varchar(40) | NO | | | | | outbound_cnum | varchar(40) | NO | | | | | outbound_cnam | varchar(40) | NO | | | | | dst_cnam | varchar(40) | NO | | | | +---------------+--------------+------+-----+---------------------+-------+ [root@sip ~]#
По прежнему состояние отключено :
[root@sip cdr-csv]# asterisk -rx "cdr show status" Call Detail Record (CDR) settings ---------------------------------- Logging: Disabled Mode: Simple [root@sip cdr-csv]# asterisk -rx "cdr mysql status" Connected to asteriskcdrdb on socket file default using table cdr for 1 minutes, 40 seconds. Wrote 0 records since last restart.
Скорее всего из-за опечатки в файле cdr.conf Сначала как положено enable=yes
Пролистайте внимательно файл, там должен быть комментарий в одной строке, а он перенесен в другую строку, которая и затирает изначальное включение статистики. ; To get manager events generated, make sure the cdr_manager.conf file exists, enable = yes'.
Задан: 2015-02-24 18:14:42 +0400
Просмотрен: 3,983 раз
Обновлен: Jan 10 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.
zzuz ( 2015-02-24 19:27:30 +0400 )редактироватьmysql -uasteriskcdrdb -uroot -p1234512345 -e "DESCRIBE cdr;"ответил в своем посте , пока кармы вроде как не хватает, чтобы делать отдельный ответ =)
Trusilya ( 2015-02-24 23:47:15 +0400 )редактироватьвы сделали не то что вас попросили. сделайте именно так. скорее всего пароль неверный.или инсерт запрещен. рекомендую включить дебаг и query log
meral ( 2015-02-25 02:50:15 +0400 )редактироватьСделал как просили
Trusilya ( 2015-02-25 10:25:08 +0400 )редактироватьзначит asterisk -rx 'core set debug 99' и искать причину.
zzuz ( 2015-02-25 13:22:22 +0400 )редактировать