Asterisk + Realtime + MySQL

jorgeluislay

Neuer User
Mitglied seit
8 Dez 2011
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Nachdem ich Asterisk 1.8 unter Centos 6.1 erfolgreich installiert habe und auch einen Client addiert habe und mit der Voicemail getestet habe, wollte ich diese Daten von meiner Datenbank abrufen.

Also habe ich phpmyadmin 4.8 installiert und selbstverständlich mysql.

Dazu habe ich ./configs ausgeführt und nach menuselect mysql app addiert.

In meiner extensions.conf steht folgendes
Code:
[general]
static=yes
writeprotect=no


[settings]
sipusers => mysql,asterisk,sip_buddies
sippeers => mysql,asterisk,sip_buddies
extensions => mysql,asterisk,extensions
voicemail => mysql,asterisk,voicemessages
queues => mysql,asterisk,queues
queue_members => mysql,asterisk,queue_members




[default]
switch => Realtime/@extensions

und in der res_config_mysql.conf steht folgendes:

Code:
[general]
dbhost = 127.0.0.1
dbname = asterisk
dbuser = root
dbpass = *****
dbport = 3306
requirements=warn ; or createclose or createchar

jetzt zu meinem Problem, ich kriege unter vi /var/log/asterisk/messages folgendes zu sehen wenn ich asterisk restarte:

Code:
Dec 15 23:38:19] NOTICE[5472] cdr.c: CDR simple logging enabled.
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] NOTICE[5472] loader.c: 192 modules will be loaded.
[Dec 15 23:38:19] NOTICE[5472] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Dec 15 23:38:19] NOTICE[5472] config.c: Registered Config Engine mysql
[Dec 15 23:38:19] WARNING[5472] res_musiconhold.c: No music on hold classes configured, disabling music on hold.
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] chan_dahdi.c: Ignoring any changes to 'userbase' (on reload) at line 23.
[Dec 15 23:38:19] WARNING[5472] chan_dahdi.c: Ignoring any changes to 'vmsecret' (on reload) at line 31.
[Dec 15 23:38:19] WARNING[5472] chan_dahdi.c: Ignoring any changes to 'hassip' (on reload) at line 35.
[Dec 15 23:38:19] WARNING[5472] chan_dahdi.c: Ignoring any changes to 'hasiax' (on reload) at line 39.
[Dec 15 23:38:19] WARNING[5472] chan_dahdi.c: Ignoring any changes to 'hasmanager' (on reload) at line 47.
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] NOTICE[5472] chan_skinny.c: Configuring skinny from skinny.conf
[Dec 15 23:38:19] WARNING[5472] chan_skinny.c: Failed to bind to 0.0.0.0:2000: Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Database unavailable
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Database unavailable
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: Starting AEL load process.
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: AEL load process: parsed config file name '/etc/asterisk/extensions.ael'.
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: AEL load process: checked config file name '/etc/asterisk/extensions.ael'.
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: AEL load process: compiled config file name '/etc/asterisk/extensions.ael'.
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: AEL load process: merged config file name '/etc/asterisk/extensions.ael'.
[Dec 15 23:38:19] NOTICE[5472] pbx_ael.c: AEL load process: verified config file name '/etc/asterisk/extensions.ael'.
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5504] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5504] db.c: Database unavailable
[Dec 15 23:38:19] WARNING[5472] chan_unistim.c: Failed to bind to 0.0.0.0:5000: Permission denied
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: sipusers at line 18 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: sippeers at line 19 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: extensions at line 20 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: voicemail at line 21 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: queues at line 22 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] pbx_config.c: ==!!== Unknown directive: queue_members at line 23 of extensions.conf -- IGNORING!!!
[Dec 15 23:38:19] WARNING[5472] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 15 23:38:19] WARNING[5472] db.c: Database unavailable
[Dec 15 23:38:20] ERROR[5508] pbx_spool.c: Unable to open directory /var/spool/asterisk/outgoing: Permission denied

also die Datenbank verbindet sich nicht und meine users werden nicht geladen, was habe ich denn falsch gemacht bzw. fehtl mir irgendeine konfiguration ?

Ps. Die Rechte sind gesetzt worden und nebenbei, was ist astdb ?

wie kann ich die Datenbank anstatt von astdb mysql benutzen ?
 
Zuletzt bearbeitet:
Zunächst zu den Rechten auf Filesystemebene: Die sind offenbar inkorrekt (siehe astdb, /var/spool/asterisk/outgoing u.a.). Meine Glaskugel sagt mir, dass Dein Asterisk nicht als root läuft, dies erfordert dann aber eben auch die entsprechenden Zugriffsrechte für den User, unter dem Asterisk läuft (chown ist da Dein Freund :))
Astdb selbst ist die Asterisk-interne DB, die auch für diverse Cachings benutzt/benötigt wird und zun#ächst mit DEinem Realtime-Problem nichts zu tun hat.

Zu Deinem mysql-Problem: Da ist die Konfig falsch: Das was Du unter [settings] in der extensions.conf stehen hast, gehört da nicht hin, sondern gehört nach extconfig.conf. dann funktioniert das auch grundsätzlich.
 
also ich habe folgendes ausgeführt:

Code:
chown --recursive asterisk:asterisk /var/spool/asterisk
chmod --recursive u=rwX,g=rX,o= /var/spool/asterisk

Und trotzdem wenn ich Asterisk unter root starte bekomme ich folgendes im Log zu sehen:

Code:
[Dec 19 22:43:43] NOTICE[9087] cdr.c: CDR simple logging enabled.
[Dec 19 22:43:43] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:43] NOTICE[9087] loader.c: 192 modules will be loaded.
[Dec 19 22:43:43] NOTICE[9087] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Dec 19 22:43:43] NOTICE[9087] config.c: Registered Config Engine mysql
[Dec 19 22:43:43] WARNING[9087] res_musiconhold.c: No music on hold classes configured, disabling music on hold.
[Dec 19 22:43:43] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:43] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:43] WARNING[9087] res_config_mysql.c: Table sip_buddies not found in database.  This table should exist if you're using realtime.
[Dec 19 22:43:44] WARNING[9087] chan_dahdi.c: Ignoring any changes to 'userbase' (on reload) at line 23.
[Dec 19 22:43:44] WARNING[9087] chan_dahdi.c: Ignoring any changes to 'vmsecret' (on reload) at line 31.
[Dec 19 22:43:44] WARNING[9087] chan_dahdi.c: Ignoring any changes to 'hassip' (on reload) at line 35.
[Dec 19 22:43:44] WARNING[9087] chan_dahdi.c: Ignoring any changes to 'hasiax' (on reload) at line 39.
[Dec 19 22:43:44] WARNING[9087] chan_dahdi.c: Ignoring any changes to 'hasmanager' (on reload) at line 47.
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] NOTICE[9087] chan_skinny.c: Configuring skinny from skinny.conf
[Dec 19 22:43:44] WARNING[9087] chan_skinny.c: Failed to bind to 0.0.0.0:2000: Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Database unavailable
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Database unavailable
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: Starting AEL load process.
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: AEL load process: parsed config file name '/etc/asterisk/extensions.ael'.
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: AEL load process: checked config file name '/etc/asterisk/extensions.ael'.
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: AEL load process: compiled config file name '/etc/asterisk/extensions.ael'.
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: AEL load process: merged config file name '/etc/asterisk/extensions.ael'.
[Dec 19 22:43:44] NOTICE[9087] pbx_ael.c: AEL load process: verified config file name '/etc/asterisk/extensions.ael'.
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9119] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9119] db.c: Database unavailable
[Dec 19 22:43:44] WARNING[9087] chan_unistim.c: Failed to bind to 0.0.0.0:5000: Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
[Dec 19 22:43:44] WARNING[9087] db.c: Database unavailable
[Dec 19 22:43:45] ERROR[9123] pbx_spool.c: Unable to open directory /var/spool/asterisk/outgoing: Permission denied

was mache ich denn falsch ? oder soll chmod was anderes beinhalten ?
 
Ok, in dem Falle tippe ich auf SELinux/AppArmor (je nach Distri) und ein entsprechend inkorrektes Profil, so dass der Zugriff selbst root verwehrt bleibt. Diesbezüglich entweder SELinux/AppArmor disabeln oder aber nach Behebungsmöglichkeiten (korrekte Profileinstellung) googeln, denn da bin ich überfragt.
 
Ganz genau das war mein Problem, jetzt habe ich seLinux deaktiviert und es geht. Die Permissions sind jetzt da.

nun wenn ich restarte bekomme ich folgendes Problem:

Code:
[Dec 20 16:23:40] NOTICE[2373] cdr.c: CDR simple logging enabled.
[Dec 20 16:23:40] NOTICE[2373] loader.c: 192 modules will be loaded.
[Dec 20 16:23:40] NOTICE[2373] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Dec 20 16:23:40] WARNING[2373] res_config_mysql.c: MySQL RealTime: No database port found, using 3306 as default.
[Dec 20 16:23:40] WARNING[2373] res_config_mysql.c: MySQL realtime: no requirements setting found, using 'warn' as default.
[Dec 20 16:23:40] NOTICE[2373] config.c: Registered Config Engine mysql
[Dec 20 16:23:40] WARNING[2373] frame.c: Cannot allow unknown format 'ullaw'
[Dec 20 16:23:40] WARNING[2373] chan_sip.c: Codec configuration errors found in line 7 : allow = ullaw
[Dec 20 16:23:40] WARNING[2373] res_config_mysql.c: Table sip_buddies not found in database.  This table should exist if you're using realtime.
[Dec 20 16:23:40] WARNING[2373] chan_dahdi.c: Ignoring any changes to 'userbase' (on reload) at line 23.
[Dec 20 16:23:40] WARNING[2373] chan_dahdi.c: Ignoring any changes to 'vmsecret' (on reload) at line 31.
[Dec 20 16:23:40] WARNING[2373] chan_dahdi.c: Ignoring any changes to 'hassip' (on reload) at line 35.
[Dec 20 16:23:40] WARNING[2373] chan_dahdi.c: Ignoring any changes to 'hasiax' (on reload) at line 39.
[Dec 20 16:23:40] WARNING[2373] chan_dahdi.c: Ignoring any changes to 'hasmanager' (on reload) at line 47.
[Dec 20 16:23:41] NOTICE[2373] chan_skinny.c: Configuring skinny from skinny.conf
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: Starting AEL load process.
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: AEL load process: parsed config file name '/etc/asterisk/extensions.ael'.
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: AEL load process: checked config file name '/etc/asterisk/extensions.ael'.
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: AEL load process: compiled config file name '/etc/asterisk/extensions.ael'.
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: AEL load process: merged config file name '/etc/asterisk/extensions.ael'.
[Dec 20 16:23:41] NOTICE[2373] pbx_ael.c: AEL load process: verified config file name '/etc/asterisk/extensions.ael'.

und
Code:
res_config_mysql.c: Table sip_buddies not found in database.  This table should exist if you're using realtime.
ist da!

Benutze die Tabelle von dieser Seite aber das wird nicht gefunden (siehe # Table structure for table `sip_buddies`)
Code:

Wo0ran kann das liegen ? Habe das Gefühl dass der Conector zwischen Asterisk und mysql nicht funktioniert, hier ein Auszug aus meiner res_config_mysql.conf:

Code:
[general]
dbhost = 127.0.0.1
dbname = asterisk
dbuser = asterisk
dbpass = Mgm4Secret
;dbport = 3306
;dbsock = /var/run/mysqld/mysqld.sock
;requirements=warn ; or createclose or createchar
~
~
und meine extconfig.conf:
Code:
[settings]
sipusers => mysql,asterisk,sip_buddies
sippeers => mysql,asterisk,sip_buddies
extensions => mysql,asterisk,extensions

irgendeine Idee ?
 
Fehlende Datenbankrechte für den User (asterisk)? (Der Connect sollte hergestelltsein, siehe
[Dec 20 16:23:40] NOTICE[2373] config.c: Registered Config Engine mysql
)
Ansonsten: Asterisk meckert noch mehr, das solltest Du auch aufräumen:
[Dec 20 16:23:40] WARNING[2373] frame.c: Cannot allow unknown format 'ullaw'
[Dec 20 16:23:40] WARNING[2373] chan_sip.c: Codec configuration errors found in line 7 : allow = ullaw
 
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.