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
Anmerkung | |
---|---|
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
Anmerkung | |
---|---|
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 dialplan functions. It will accept up to 24 name/value pairs. When setting variables, if the variable name is prefixed with _, the variable will be inherited into channels created from the current channel. If the variable name is prefixed with __, the variable will be inherited into channels created from the current 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. Abschnitt 54, „ImportVar()
“,
doc/README.variables
(1.2) /
doc/channelvariables.txt
(1.4), Abschnitt 21, „GLOBAL()
“
Asterisk Schulung
- 27.10. - 28.10.2008 in Koblenz
2.1 Beta-Version!
2.1 Beta-Version des Asterisk Buches. Die 1.0 stabile Version ist ebenfalls online. Bitte melden Sie Fehler und Feedback per E-Mail an den Autor.
YouTube Screencasts
Kostenlose Asterisk Screencasts mit jeweils 10 minütigen Erklärungen zu Spezial-Themen.
Shameless Plug
Das gedruckte Buch
Werbung
Asterisk-Tag.org 2008
Auf der Asterisk-Tag.org Webseite finden Sie die Folien und Videos der Vorträge.