Variable in Asterisk auslesen

IBozkurt

Neuer User
Mitglied seit
6 Sep 2010
Beiträge
48
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

wie kann ich eine Variable die innerhalb von Asterisk gesetzt ist in einem Unix-Shell Skript nutzen d.h. wie kann ich diese auslesen und in Shell-Befehle "miteinbauen"?!
Ansatz wäre wohl Variable = asterisk -rx "Set($EXTEN)" etc.

Hat dazu einer einen Tip?
 
Für Set im Dialplan gibt es kein equivalentes CLI Command,

doch, es gibt einen 'exec Set', aber eben keinen 'exec Get'.

Deswegen umgehe ich den fehlenden 'Get', indem ich die selbst gesetzten Variablen einfach per Commandline-Arg an die Scripten uebergebe. Funktioniert einwandfrei.

- sparkie
 
So wie sparkie das beschreibt, bekommst Du eine beliebige Variable aus dem Dialplan in ein Script.

Deine Fragestellung scheint mir aber zu sein, wie Du von aussen (also nicht ausgehend vom Dialplan) eine Variable abrufen kannst. Da wäre es interessant zu wissen, was du genau haben willst.

Dein Beispiel $EXTEN wirst Du von Aussen wahrscheinlich eher nicht bekommen, weil das erst durch einen tatsächlichen Call gesetzt wird.
 
Deine Fragestellung scheint mir aber zu sein, wie Du von aussen (also nicht ausgehend vom Dialplan) eine Variable abrufen kannst.

dann wuerde ich die Variable einfach direkt aus dem Dialplan in ein File dumpen. Z.B. so:
Code:
exten => s,1,system(echo "${CALLERID}" >> /tmp/vars)

von dort kann es ja beliebig weiterverarbeitet werden

- sparkie
 
Dein Beispiel $EXTEN wirst Du von Aussen wahrscheinlich eher nicht bekommen, weil das erst durch einen tatsächlichen Call gesetzt wird.

Mit AMI kann man sämtliche Channels und deren Variablen auslesen.
 
@rentier-s

Welche Befehle gibt es bei AMI zum lesen von gesetzten Variablen?
Ich benötige diese um in einem Shell Skript die Unterscheidung zu machen welche Extension im Dialplan gerade angesprochen wurde um sagen zu können true oder false.
 
Du könntest Dir die Infos - sofern sie für Deine Zwecke ausreichen - auch aus der Ausgabe von "asterisk -rx show channels" raus grepen (oder von verwandten Kommandos).

Nicht besonders elegant, aber sehr stabil. Ich mach das bei einer kundenspezifischen Installation auch - mehrere hundert mal pro Stunde - keine Klagen.
 
Leider habe ich kein Beispiel gesehen welches die Benutzung des Kommandos Getvar darstellt.
Ein Beispiel wäre hilfreich.
 
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.