Variable extern ändern?

thorsten.gehrig

Mitglied
Mitglied seit
14 Jun 2004
Beiträge
493
Punkte für Reaktionen
0
Punkte
16
Hallo,
ich habe in meinem Dialplan über eine Variable die SIP-Ziele für ankommende anrufe definiert
HAUS=SIP/120w&SIP/121s&SIP/122

Diese Variable wird im Dialplan dann für Dial verwendet.
exten => s,n,Dial(${HAUS},45,t)

Jetzt suche ich einen weg um z.b. per
asterisk -rx "SET VARIABLE ..."
diese Variable zu ändern um abhängig von externen parametern (KNX-Hausbussystem) die Gespräche an die passenden Gegenstellen zu leiten.
Leider funktioniert "SET VARIABLE" nicht?
Gibt es dafür eine passende funktion - über die CLI - oder das Management-Interface (<- und wie geht das dann)?

Gruß
Thorsten
 
Hallo Thorsten,

für AMI gibts eine Funktion SetVar, aber das funktioniert nur, wenn der Channel bereits aktiv ist.

Du könntest einen Eintrag in die AstDB schreiben, das geht auch über CLI oder AMI, und diesen im Dialplan statt der Variable verwenden.

Oder Du machst ein AGI, das die externen Parameter abfrägt und dann eine Variable zurückliefert, oder direkt das Dial ausführt.

Svenja
 
hi
ich antworte mir mal selbst - bin aber dankbar für Anregungen:
asterisk:~# netcat localhost 5038 < test1.asterisk

inhalt von test1.asterisk
Code:
ACTION: LOGIN
USERNAME: user
SECRET: secret
EVENTS: ON 

ACTION: GetVar
Variable: Haus

ACTION: Logoff
Damit geht natürlich auch GetVar.
Das Script kann irgendwo im Netzwerk ausgeführt werden und muss nicht auf dem Asterisk-Server laufen.
Thats it :)

Gruß
Thorsten

Nachtrag: @Svenja: SetVar geht auch ohne Channel - wenn du eine globale Variable abfragst (wie in diesem Fall)
 
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.