[Frage] AstDB und Excel - Anrufweiterschaltung

jack012345

Neuer User
Mitglied seit
4 Feb 2015
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe eine Excel Tabelle mit 2 Spalten (Internrufnummer, tatsächliche Rufnummer) mit der entsprechend eine Anrufweiterschaltung realisiert werden soll.
Jemand ruft die Internnummer an 0xy-1111 und aufgrund der 1111 soll auf eine 0yz weitergeleitet werden.
Die Internnummer habe ich in einer Variablen, leider schaffe ich es nicht die interne AstDB hier richtig zu zu verwenden. Habe auch keine Literatur dazu gefunden.
Vielleicht hat jemand entsprechende Infos:
- gibt es irgendwo Anleitungen / Literatur zur AstDB
- wie lese ich eine Excel Tabelle in die AstDB ein
- wie aktiviere ich die AstDB

Gruß
 
Die kurze Antwort wäre, dass ich nicht glaube dass die astdb der richtige Weg ist um das zu lösen. Warum machst Du das nicht ganz normal per Dialplan? Die Astdb ist eine BerkelyDB wenn ich nicht irre, mit Family, Key und Value - da bringst Du IMHO so nebenbei keine Excel Daten rein.

Die lange Antwort muss ich schuldig bleiben, weil sich für mich echt nicht so ganz erschließt, was Du vor hast.
 
Das liegt an der Menge: die Excel Tabelle liegt schon vor, die Excel Tabelle hat > 100 Einträge und einzelne Einträge ändern sich öfters. Der Aufwand eventuell täglich den Dialplan zu ändern, finde ich zu viel Aufwand.
Und es gibt noch eine zweiten Grund ich habe keinerlei Wissen über Datenbanken und Asterisk und nun wollte ich mir das beibringen. Deshalb auch die Nachfrage zur Literatur.
 
Ich lass mich hier gerne korrigieren, aber ich halte astdb dafür eher für ungeeignet. Falls Du dennoch diesen Weg weiterverfolgen möchtest - hier probieren das ein paar Jungs, dabei kommen ein paar Ansätze zur Sprache: http://forums.digium.com/viewtopic.php?t=7726&highlight=astdb+import

Wie ich in erfahrung bringen konnte, nutzt Asterisk anscheinend ab Version 10 sqlite als astdb. Da wäre ein Import von Daten zumindest schon ein bisschen leichter (rein zur Inspiration - http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles ). Vermutlich aber immer noch nicht trivial.

Ich persönlich würde das über MySQL lösen. Das hat den Vorteil, dass Du hier Deine Excel Daten relativ leicht importieren kannst (zb. via phpMyAdmin oder mit einem eigenen Skript). Im Dialplan kannst Du dann Deine Werte in Echtzeit auslesen und darauf reagieren. Siehe http://www.voip-info.org/wiki/view/Asterisk+cmd+MYSQL
Je nach Lust und Laune, könntest Du dann auch noch ein Webfrontend dazu basteln, um Einträge direkt zu editieren. Fänd ich persönlich spaßig sowas zu bauen ;-)
 
In der Tat würde ich auch mit mysql arbeiten, AstDB ist zwar in der tat seit Asterisk 10 sqlite, aber das ist alles andere als handlich.
Der Zugriff von Asterisk aus ginge auch über func_odbc.so (Das ist dann sogar einfacher ...)

Für mysql spricht hier mE ganz klar, dass ein Transfer Excel -> MySQL trivial ist und bei Nutzung eines Frontends (wie phpmyadmin) langfdristig Excel sogar entfallen könnte und man auch die Administration direkt in MySQL abwerkeln könnte, ggf. wie schon vorgeschlagen, über ein kleiens Mini-Frontend ...
 
FreePBX schrubelt doch schon alles in eine MySQL-Datenbank, oder?

Kann man von denen nicht Ideen klauen?
 
Zuletzt bearbeitet:
Vielen Dank für die Empfehlung MySQL. Habe mir jetzt auch Literatur Asterisk The Definitive Guide besorgt und die in Kapitel 16 Implementierung von MySQL angefangen und einiges probiert. Ich komme genau bis zum Test der Verbindung zum asterisk-connector. mysql -u asterisk -p asterisk geht, odbcinst -q -p geht und bei isql -v asterisk-connector asterisk test kommt

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

ich finde aber auch nicht die in der odbcinst.ini die files libmyodbc.so oder libodbcmys.so nicht.
Weiß jemand Rat?
 
Wie die Treiberdateien tatsächlich heißen, hängt von der verwendeten Linux-Distribution ab. Was man grundsätzlich annehmen kann ist, dass sie nach dem Muster libmyodbc* benannt sind.

Insoweit kann Dir ein
Code:
find / -name libmyodbc*
weiterhelfen. Da sollten in der Regel mindestens zwei Treffer gefunden werden, die entsprechende Pfadangabe ist dann in der ODBC-Konfiguration (odbcinst.ini) zu verwenden.
 
Zuletzt bearbeitet:
Danke!
Die Dateien waren in anderen Verzeichnissen und ein netter Schreibfehler war auch noch darin.
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
246,101
Beiträge
2,246,180
Mitglieder
373,583
Neuestes Mitglied
df3ei
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.