.titleBar { margin-bottom: 5px!important; }

Asterisk + Realtime + MySQL

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von jorgeluislay, 16 Dez. 2011.

  1. jorgeluislay

    jorgeluislay Neuer User

    Registriert seit:
    8 Dez. 2011
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 jorgeluislay, 16 Dez. 2011
    Zuletzt bearbeitet: 16 Dez. 2011
    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 ?
     
  2. abw1oim

    abw1oim Aktives Mitglied

    Registriert seit:
    26 März 2007
    Beiträge:
    948
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    Ort:
    Bonn
    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.
     
  3. jorgeluislay

    jorgeluislay Neuer User

    Registriert seit:
    8 Dez. 2011
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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 ?
     
  4. abw1oim

    abw1oim Aktives Mitglied

    Registriert seit:
    26 März 2007
    Beiträge:
    948
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    Ort:
    Bonn
    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.
     
  5. jorgeluislay

    jorgeluislay Neuer User

    Registriert seit:
    8 Dez. 2011
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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 ?
     
  6. abw1oim

    abw1oim Aktives Mitglied

    Registriert seit:
    26 März 2007
    Beiträge:
    948
    Zustimmungen:
    2
    Punkte für Erfolge:
    18
    Ort:
    Bonn
    Fehlende Datenbankrechte für den User (asterisk)? (Der Connect sollte hergestelltsein, siehe
    )
    Ansonsten: Asterisk meckert noch mehr, das solltest Du auch aufräumen: