realtime => mysql, failed to connect

prochmi

Neuer User
Mitglied seit
22 Sep 2005
Beiträge
112
Punkte für Reaktionen
0
Punkte
0
hallo,
ich habe die asterisk-addons-1.2 erfolgreich compiliert und installiert.

ein show modules zeigt auch den res_config_mysql.so

trotzdem finde ich in /var/log/asterisk/messages nur folgendes:
Code:
Dec  5 13:38:45 NOTICE[17390] cdr.c: CDR simple logging enabled.
Dec  5 13:38:45 ERROR[17390] res_config_mysql.c: MySQL RealTime: Failed to connect database server asterisk on 127.0.0.1. Check debug for more info.
Dec  5 13:38:45 WARNING[17390] res_config_mysql.c: MySQL RealTime: Couldn't establish connection. Check debug.
Dec  5 13:38:45 NOTICE[17390] indications.c: Removed default indication country 'us'
Dec  5 13:38:45 NOTICE[17357] chan_sip.c: Unable to load config sip.conf
Dec  5 13:38:45 WARNING[17390] cdr_addon_mysql.c: Unable to load config for mysql CDR's: cdr_mysql.conf

meine res_mysql.conf beinhaltet:
Code:
[general]
dbhost = 127.0.0.1
dbname = asterisk
dbuser = admin
dbpass = 1234
dbport = 3306
dbsock = /tmp/mysql.sock

auf der konsole kann ich mich auch mit admin+passwd auf die DB connecten.

irgendwelche ideen?

mfg,
michael
 
nimm mal die Zeilen dbport und dbsock raus.

Hast Du MySQL direkt installiert oder über z.B. das XAMPP Paket ?
 
ich bin draufgekommen, das der default sock nicht stimmt, also hab ich ihn auf /var/run/mysqld/mysqld.sock geändert (den gibts), geht trotzdem nicht.

wenn ich dbsock ganz rausnehme, dann verwendet er den default wert der sicher falsch ist (weil nicht vorhanden).

ich hab mysql direkt installiert.

noch irgendwelche ideen?

mfg,
michael
 
Dec 5 13:38:45 WARNING[17390] cdr_addon_mysql.c: Unable to load config for mysql CDR's: cdr_mysql.conf

Wie sieht dein cdr_mysql.conf aus?
 
die gibts nicht (zumindest nicht bewusst) :-)

kann da irgendeine sample config stören?

mfg,
michael
 
Du hast doch sicher die Asterisk-Addons irgendwohin entpackt und im Ordner Asterisk-Addons gibts einen Ordner configs, da liegen dann sample Files drinnen. Umbenennen und nach /etc/asterisk kopieren!
 
wenn ich dbsock ganz rausnehme, dann verwendet er den default wert der sicher falsch ist (weil nicht vorhanden).

Bei mir läuft das mit dem default übrigens ganz prima :wink:


Wie sieht dein cdr_mysql.conf aus?

das ist zwar ein interessanter und wichtiger Hinweis, wenn man aber MySQL nur für Realtime verwenden möchte, ist die cdr_mysql.conf nicht erforderlich. Allerdings darf dann natürlich auch das cdr_mysql Modul nicht geladen werden.
 
ok, nun habe ich das modul cdr_addon_mysql.so auch noch deaktiviert, trotzdem bringt mir ein reload res_config_mysql.so noch immer den fehler.

Code:
    -- Reloading module 'res_config_mysql.so' (MySQL RealTime Configuration Driver)
  == Parsing '/etc/asterisk/res_mysql.conf': Found
Dec  6 05:54:51 WARNING[2310]: res_config_mysql.c:544 parse_config: MySQL RealTime: No database port found, using 3306 as default.
Dec  6 05:54:51 ERROR[2310]: res_config_mysql.c:615 mysql_reconnect: MySQL RealTime: Failed to connect database server asterisk on 127.0.0.1. Check debug for more info.
Dec  6 05:54:51 WARNING[2310]: res_config_mysql.c:495 reload: MySQL RealTime: Couldn't establish connection. Check debug.
  == MySQL RealTime reloaded.

netstat -l sagt folgendes:
Code:
Aktive Sockets in der UNIX Domäne (Nur Server)
Proto RefZäh Flaggen     Typ        Zustand       I-Node Pfad
unix  2      [ ACC ]     STREAM     HÖRT          7877     /var/run/asterisk/asterisk.ctl
unix  2      [ ACC ]     STREAM     HÖRT          4839     /var/run/mysqld/mysqld.sock

daher schaut meine res_mysql.conf so aus:
Code:
[general]
dbhost = 127.0.0.1
dbname = asterisk
dbuser = admin
dbpass = xxxx
dbsock = /var/run/mysqld/mysqld.sock

auf der konsole kann ich mich super zur db connecten (als user admin anmelden und dann mit use die DB asterisk auswählen).

noch irgendwelche ideen?

mfg,
michael
 
Hat der Asterisk entsprechende Zugriffsrechte auf das Socket-Verzeichnis ?
 
die rechte passen auch, aber ich habs schon selbst gelöst :-)

und zwar habe ich in der mysql tabelle db für den user den ich verwende den eintrag so geändert, das er von allen hosts auf die DB kommt (also in das feld host % eintragen).

in der tabelle user steht weiterhin localhost für den user, dadurch ist gewährleistet, das er tatsächlich trotzdem nur vom localhost connecten kann.

wieso das so ist kann ich auch nicht sagen.

mfg,
michael
 
zufrüh gefreut :-(

er kann sich zwar offensichtlich connecten, aber ich kann den user trotzdem nicht registern.

ein sip show users zeigt auch keine einträge.

im logfile steht das er die sip.conf nicht laden kann, was aber nicht weiter schlimm sein sollte.

wieso nimmt er die konfig nicht aus der DB?

nach dem start der CLI sagt er auch brav:

Code:
  == Binding sipusers to mysql/asterisk/sip_buddies
  == Binding sippeers to mysql/asterisk/sip_buddies

irgendwelche ideen?

mfg,
michael
 
ein sip show users zeigt auch keine einträge.

Das ist normal. Wenn Du die Einträge nicht in der sip.conf in den Cache übernimmst
Code:
[general]
rtcachefriends=yes
rtautoclear=yes

dann wirst Du sie nie sehen - wie auch, wenn sie ja nur REALTIME vorhanden sein sollen.

Auf die sip.conf kannst Du jedenfalls nicht verzichten - zumindest habe ich es bisher nicht geschafft, ohne diese Datei ein ordnungsgemäßes Funktionieren zu bewerkstelligen.
 
Wenn du in der Tabelle sip_buddies einen User eingetragen hast, dann versuch dich mal damit zu connecten...
 
ok, ich habe jetzt die sip.conf wieder aktiviert, allerdings ohne user.

in der sip_buddies hab ich einen user eingetragen klar.

wenn ich in der CLI dial 1000@intern mache, dann bekomme ich folgende fehlermeldung:

Code:
 << Console call has been answered >>
    -- Executing Dial("OSS/dsp", "SIP/1000|20||") in new stack
Dec  6 14:51:45 NOTICE[5141]: app_dial.c:1011 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
  == Everyone is busy/congested at this time (1:0/0/1)
  == Auto fallthrough, channel 'OSS/dsp' status is 'CHANUNAVAIL'
  == Console is full duplex
 << Hangup on console >>

irgendwie bekommt er den user nicht aus der DB heraus....

wieso steht da aber nirgendwo eine fehlermeldung?

mfg,
michael
 
Kostenlos!

Statistik des Forums

Themen
248,452
Beiträge
2,291,793
Mitglieder
377,871
Neuestes Mitglied
rmann1201