Asterisk Datenbank, wie mehrere Felder?

kombjuder

IPPF-Promi
Mitglied seit
2 Nov 2004
Beiträge
3,086
Punkte für Reaktionen
0
Punkte
0
Hallo,

Asterisk hat ein kleine feine Datenbank integriert, die man aus der extensions.config heraus ansprechen kann. Leider lässt die Dokumentation noch zu wünschen übrig.

Betateilchen hat einige Ideen mit dieser Datenbank hier im Forum veröffentlicht. Bisher habe ich nur Anwendungen mit einem Datenfeld gesehen. Es müssen aber mehrere möglich sein, wie die vom System verwaltete Tabelle zu den Sip-Usern zeigt.

Meine Frage: Wie lese ich diese durch Doppelpunkt getrennten Datenfelder aus der extensions.conf heraus aus und weise sie entsprechenden Variablen zu?

Hintergrund: Ich habe in meiner extensions.conf eine Auswertung auf bekannte, nicht in ENUM eingetragene VOIP-Nummern eingebaut.
Nun hat sich aber herausgestellt, dass ich zusätzlich das beim einzelnen Eintrag zu verwendende Protokoll brauche (SIP/IAX2).

Es gäbe nun die Möglichkeit zwei Tabellen zu verwenden und die nacheinander abzufragen. Da aber Asterisk eine Anwendung der Datenbank hat, die mehrere Felder verwendet, möchte ich das aus Übersichtlichkeitsgründen auch so haben.

Wer hat eine Lösung oder einen Link?
 
Die Asterisk-Datenbank kann pro Zeile (=key) nur ein einzelnes Datenfeld (=value) aufnehmen.

Das was Du in der Datenbank bei den SIP-Usern siehst, sind nicht mehrere Datenfelder, sondern ein langer String "84.170.192.95:5060:3600:70:sip:[email protected]", der komplett ausgelesen und dann anhand seiner Doppelpunkte aufgesplittet wird. Er wird also lediglich "interpretiert" und es werden mehrere einzelne Teile daraus erzeugt. Wenn Du sowas machen möchtest, wird Dir nur der Weg über eine externe Bearbeitung (z.B. AGI) bleiben. Es gibt keine Möglichkeit direkt auf einen einzelnen Teil dieses value zuzugreifen.
 
doch cut koennte nuetzlich sein
 
allesOK schrieb:
doch cut koennte nuetzlich sein

Sieht gut aus, muß ich heute Abend mal probieren.

Danke für den Tip!
 
also doch die Zerlegung eines Strings :D
 
betateilchen schrieb:
also doch die Zerlegung eines Strings :D

Ja, aber in der extensions.conf und nicht durch ein externes Programm.
 
ok - an den CUT-Befehl hab ich nicht gedacht, da ich solche Verarbeitung immer extern mache. Kannst ja dann mal ein Beispiel posten, wie Du das gelöst hast.
 
betateilchen schrieb:
Kannst ja dann mal ein Beispiel posten, wie Du das gelöst hast.

Mache ich.


Gibt es eigentlich eine Möglichkeit im Rahmen des Dialplans den Anrufbeantworter (beim Provider) zu erkennen?

Ich denke da an eine Lösung:

Wenn Anrufbeantworter => goto ISDN
 
Kostenlos!

Statistik des Forums

Themen
248,897
Beiträge
2,303,577
Mitglieder
378,535
Neuestes Mitglied
Richbrothers brotherhood