Asterisk RealTime keine Datenbankverknüpfung zur MySQL

Django

Neuer User
Mitglied seit
17 Mrz 2005
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Griasgod!

Also ich habe hier unter CentOS5 'ne Asterisken aufgesetzt. Die "normale Variante" funktioniert wie gewohnt. Nun hab' ich mir mal geadcht, ich versuche mich an der RealTime Geschichte.

Ich hab' asterisk-1.4.17 in Verwendung; Die Konfigdatei enthält:
Code:
[general]                                                                                                                                                                   
dbhost = localhost                                                                                                                                                          
dbname = asterisk                                                                                                                                                           
dbuser = basti-is-a-geek                                                                                                                                                        
dbpass = 12qwasyxXYSAWQ"!                                                                                                                                                             
dbport = 3306                                                                                                                                                               
dbsock = /var/lib/mysql/mysql.sock


Beim Starten des * kommt aber in der Konsole:
Code:
  == Parsing '/etc/asterisk/res_mysql.conf': Found
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:540 parse_config: MySQL RealTime: No database user found, using 'asterisk' as default.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:547 parse_config: MySQL RealTime: No database password found, using 'asterisk' as default.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:554 parse_config: MySQL RealTime: No database host found, using localhost via socket.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:561 parse_config: MySQL RealTime: No database name found, using 'asterisk' as default.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:568 parse_config: MySQL RealTime: No database port found, using 3306 as default.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:575 parse_config: MySQL RealTime: No database socket found, using '/tmp/mysql.sock' as default.
[Jan 18 20:21:12] ERROR[27200]: res_config_mysql.c:627 mysql_reconnect: MySQL RealTime: Failed to connect database server asterisk on  (err 2002). Check debug for more info.
[Jan 18 20:21:12] WARNING[27200]: res_config_mysql.c:474 load_module: MySQL RealTime: Couldn't establish connection. Check debug.
[Jan 18 20:21:12] NOTICE[27200]: config.c:1259 ast_config_engine_register: Registered Config Engine mysql
MySQL RealTime driver loaded.
res_config_mysql.so => (MySQL RealTime Configuration Driver)

Von der Konsole aus kann ich mich an die MySQL connecten:
Code:
mysql -h localhost -u basti-is-a-geek -p
Passwort eingegebn und ich bin drinn! ;)
Code:
mysql> use asterisk;
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> status;
--------------
mysql  Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (i686) using readline 5.0

Connection id:          213
Current database:       asterisk
Current user:           basti-is-a-geek@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.22
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 1 day 22 hours 53 min 49 sec

Threads: 1  Questions: 43088  Slow queries: 0  Opens: 0  Flush tables: 1  Open tables: 24  Queries per second avg: 0.255
--------------

In der /var/log/asterisk/messages finde ich die Angabe:
Code:
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database user found, using 'asterisk' as default.                                                   
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database password found, using 'asterisk' as default.                                               
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database host found, using localhost via socket.                                                    
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database name found, using 'asterisk' as default.                                                   
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database port found, using 3306 as default.                                                         
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: No database socket found, using '/tmp/mysql.sock' as default.                                          
[Jan 18 20:21:12] ERROR[27200] res_config_mysql.c: MySQL RealTime: Failed to connect database server asterisk on  (err 2002). Check debug for more info.                    
[Jan 18 20:21:12] WARNING[27200] res_config_mysql.c: MySQL RealTime: Couldn't establish connection. Check debug.                                                            
[Jan 18 20:21:12] NOTICE[27200] config.c: Registered Config Engine mysql
Nur wo schreibt das gute Stück diese debug? Und warum will/kann der * sich nicht an die MySQL connecten?

any idea?

Vielen Dank schon mal an dieser Stelle für die hilfreichen Tips!

Pfiadseich!
Django
 
Griasde!
Welche Konfigdatei, welche Rechte hat die Datei und wo hast Du sie abgelegt?

Die da:
/etc/asterisk
-rw-r--r-- 1 root root 542 17. Jan 23:41 res_mysql.conf

Ich hab' mal kurzerhand - weil's mich nervte - den * neu übersetzt. Die Fehlermeldung ist erst mal weg. Was mich nur stutzig macht ist, ich dachte man kann einem reload auf der Asterisk-Konsole, die mysql automatisch befüllen? Oder hab' ich da 'was falsch verstanden? :confused:

Die extconfig.conf beinhaltet folgende Konfigzeilen:
Code:
[settings]                                                                                                                                                                  
queues => mysql,asterisk,queues                                                                                                                                             
queue_members => mysql,asterisk,queue_members                                                                                                                               
sippeers => mysql,asterisk,sip                                                                                                                                              
sipusers => mysql,asterisk,sip                                                                                                                                              
sip => mysql,asterisk,sip                                                                                                                                              
voicemail => mysql,asterisk,voicemail_users

Ich vermute mal, ich musss mich da noch ein wenig weiter schlau machen. Irgendwie hab' ich im moment ein Verständnisproblem, oder irgendetwas ist nicht so installiert wie es sein soll.

Zumindestens schreibt er nun die CDRs in die MySQL. Na das ist doch schon mal 'was! ;)

Was mich auch noch verunsichert, ist die Tatsache dass unmassen von nachfolgenden Meldungen in der Asterisk-Konsole aufschlagen:
Code:
[Jan 18 22:40:58] WARNING[13577]: app_voicemail.c:2238 inboxcount: Failed to obtain database object for 'asterisk'!
[Jan 18 22:40:58] WARNING[13577]: app_voicemail.c:2238 inboxcount: Failed to obtain database object for 'asterisk'!

Aber wie so vieles, werd' ich auch das noch irgendwann herausfinden


Ciao,
Django
 
Zuletzt bearbeitet:
[gelöst] Asterisk RealTime keine Datenbankverknüpfung zur MySQL

Griaseich!

Django schrieb:
Aber wie so vieles, werd' ich auch das noch irgendwann herausfinden

Problem gelöst, war letztendlich ein Fehler in der Konfiguratuionsdatei. ";" werden dort nicht als Bemerkungskennzeichen interpretiert. :mad:

Pfiadseich,
Django
 
hi.
ich habe das gleiche problem.
allerdings zeigt er bei mir keine zeile an, wo der fehler auftritt. hat vielleicht irgendjemand eine idee, wie man das problemchen lösen kann?
--------------------------------
[Mar 12 09:16:39] NOTICE[22842] res_odbc.c: Connecting asterisk
[Mar 12 09:16:39] WARNING[22842] res_odbc.c: res_odbc: Error SQLConnect=-1 errno=0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified
[Mar 12 09:16:39] WARNING[22842] res_odbc.c: Failed to connect to asterisk
[Mar 12 09:16:39] WARNING[22842] app_voicemail.c: Failed to obtain database object for 'asterisk'!
--------------------------------
 
hallo Django

kannst mir bitte erklären was du meinst mit Konfiguratuionsdatei. ";" und wo muss man ändern ich meine in welche Config datei sollen die Änderungen gemacht würde
weil ich die gleiche Problem habe und komme ich nicht zu recht
danke dir
 
Griasdebou!

kannst mir bitte erklären was du meinst mit Konfiguratuionsdatei. ";"
Klar, wie sieht denn folgende Datei aus /etc/asterisk/res_mysql.conf? Also was sagt ein:
Code:
# cat /etc/asterisk/res_mysql.conf
Ich hatte seinerzeit versucht alles schön zu dokumentieren, aber leider hatte sich der * an den ; verschluckt.

und wo muss man ändern ich meine in welche Config datei sollen die Änderungen gemacht würde
Wie schon geschrieben, zeig' mir mal Deine /etc/asterisk/res_mysql.conf

Pfiade,
Django
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.