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

DBGet aus MySQL-Tabelle

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von Guard-X, 23 Nov. 2005.

  1. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    Gibt es eine einfache Möglichkeit per DBGet (o.ä.) Daten aus einer MySQL Tabelle zu holen?

    Zur Zeit habe ich alle Anrufernamen noch in der internen Asterisk Datenbank, möchte jetzt möglichst einfach auf MySQL wechseln.

    mfg Guard-X
     
  2. rbaer

    rbaer Mitglied

    Registriert seit:
    7 Okt. 2004
    Beiträge:
    280
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    München
    Wie wärs damit

    Code:
      -= Info about application 'MYSQL' =-
    
    [Synopsis]
    Do several mySQLy things
    
    [Description]
    MYSQL():  Do several mySQLy things
    Syntax:
      MYSQL(Connect connid dhhost dbuser dbpass dbname)
        Connects to a database.  Arguments contain standard MySQL parameters
        passed to function mysql_real_connect.  Connection identifer returned
        in ${var}
      MYSQL(Query resultid ${connid} query-string)
        Executes standard MySQL query contained in query-string using established
        connection identified by ${connection_identifier}. Result of query is
        is stored in ${var}.
      MYSQL(Fetch fetchid ${resultid} var1 var2 ... varN)
        Fetches a single row from a result set contained in ${result_identifier}.
        Assigns returned fields to ${var1} ... ${varn}.  ${fetchid} is set TRUE
        if additional rows exist in result set.
      MYSQL(Clear ${resultid})
        Frees memory and datastructures associated with result set.
      MYSQL(Disconnect ${connid})
        Disconnects from named connection to MySQL.
      On exit, always returns 0. Sets MYSQL_STATUS to 0 on success and -1 on error.
    
    
    show applications ist dein Freund
     
  3. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Warum nicht gleich auf einen LDAP-Server ? Da bist Du noch viel flexibler :wink:

    Also: DBget bezieht sich ausschließlich auf die interne Datenbank. Wenn Du auf MySQL zugreifen willst, mußt Du die von rbaer schon vorgeschlagenen Funktionen verwenden.

    Irgendwo hatte ich das bei mir auch mal eingebaut, bei Bedarf kann ich mal suchen, ob ich den Dialplan-Schnipsel noch irgendwo habe.
     
  4. Guard-X

    Guard-X Aktives Mitglied

    Registriert seit:
    14 Mai 2005
    Beiträge:
    2,497
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Aurich
    hi,

    die MySQL Funktion hatte ich mir schon mal angesehen, ist aber ein wenig kompliziert, habe halt noch keine Erfahrungen darin.

    Das komplette System läuft bei mir schon mit MySQL, jedoch fehlt mir noch folgende Funktion:

    exten => s,1,Noop(${CALLERIDNUM})
    exten => s,2,DBGet(name=cidname_internal/986${CALLERIDNUM})
    exten => s,3,SetCIDName(${name})
    exten => s/_0X.,1,Macro(cidname_external)
     
  5. rbaer

    rbaer Mitglied

    Registriert seit:
    7 Okt. 2004
    Beiträge:
    280
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    München