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)
 
Kostenlos!

Statistik des Forums

Themen
248,885
Beiträge
2,303,949
Mitglieder
378,564
Neuestes Mitglied
warumdas