Setzt eine Variable auf den angegebenen Wert.
Set(Variable
=Wert
[,Variable2
=Wert2
,...][,Optionen
])
Setzt die Variable auf den angegebenen Wert. Beginnt der Name der
Variablen mit dem Zeichen _
, wird einfache Vererbung
angenommen (d.h. wird auf Kanäle vererbt, die von diesem Channel erzeugt
werden), beginnt er mit __
, wird Endlosvererbung angenommen
(d.h. wird auf alle Kinder-Kanäle vererbt). Bis zu 24 Variablen können
gesetzt werden. Variablen sind normalerweise nur innerhalb eines Channels
gültig und werden beim Auflegen gelöscht. Mit der Option g
setzt man in Asterisk 1.2 eine Variable (nicht eine Funktion!) global; in
1.4 macht man das mit Hilfe der Funktion GLOBAL()
.
; die Variable TEST auf "123" setzen: exten => 123,1,Set(TEST=123) exten => 123,n,SayDigits(${TEST}) ; die globale Variable TEST2 auf "456" setzen: exten => 123,n,Set(TEST2=456,g) ; Asterisk 1.2 exten => 123,n,Set(GLOBAL(TEST2)=456) ; Asterisk 1.4
Ob globale Variablen auch nach einem Reload von Asterisk noch
gültig sind, wird durch die Einstellung |
Set()
wird auch verwendet, um in Funktionen zu
schreiben (siehe Anhang C, Funktionen im Dialplan).
exten => 123,1,Set(CALLERID(name)=Apfelmus) ; CALLERID(name) setzen exten => 123,n,Set(CALLERID(name)=) ; CALLERID(name) leeren exten => 123,n,Set(DB(mein/test)=ok) ; in AstDB schreiben exten => 123,n,Set(var=${DB(mein/test)}) ; aus AstDB lesen
Interner Hilfetext zu dieser Applikation in Asterisk 1.4: -= Info about application 'Set' =- [Synopsis] Set channel variable(s) or function value(s) [Description] Set(name1=value1|name2=value2|..[|options]) This function can be used to set the value of channel variables or dialp lan functions. It will accept up to 24 name/value pairs. When setting variab les, if the variable name is prefixed with _, the variable will be inherited into channels created from the current channel. If the variable name is prefi xed with __, the variable will be inherited into channels created from the c urrent channel and all children channels. Options: g - Set variable globally instead of on the channel (applies only to variables, not functions) Differenz zum internen Hilfetext in Asterisk 1.2: - keine - |
Siehe auch. „ImportVar()
“,
doc/README.variables
(1.2) /
doc/channelvariables.txt
(1.4), „GLOBAL()
“