Astersik hat eine eigene Datenbank. Es ist für den Normaluser nicht wichtig, zu wissen, wo sie liegt, dennoch eine kurze Info dazu: Sie liegt in /var/lib/asterisk/astdb/. Das kann sich aber von Version zu Version ändern, ist aber normalerweise ohnehin egal. Sie wird binär gespeichert, ein cat darauf bringt nichts. Dafür kann man sie aber prima in Asterisk selbst auslesen. Die Daten werden dauerhaft gespeichert, d.h. auch bei Reboot oder Neustart des Asterisk geht nichts verloren. Hier ein Beispiel, um die Anrufernummer in die Datenbank zu speichern:
exten => 100,1,putDB(anrufertabelle/anrufernummer=${CALLERID})
In anrufertabelle kann ich mehrere Felder wie anrufernummer, anrufername, anrufuhrzeit etc. anlegen. So komme ich nicht durcheinander, wofür ich was denn nochmal speichern wollte.
Will ich in meinem Kontext einfach einen festen Wert speichern, geht das so:
exten => 100,1,putDB(anrufertabelle/festerwert=meinwert)
Die Variable festerwert bekommt nun "meinwert" zugeweisen (was besseres ist mir jetzt nicht eingefallen). Ruft jemand die 101 statt die 100 an, so kann ich einen anderen Wert in diese Variable eintragen:
exten => 101,1,putDB(anrufertabelle/festerwert=andererwert)
Damit könnte man z.B. festhalten, welche Nummer als letzte angerufen wurde (auch wenn man es hier für jede Rufnummer festlegen muss - es geht viel eleganter, doch das sind ja hier nur Beispiele).
Im CLI lassen sich alle DB-Einträge mit
database show anzeigen.