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 Abschnitt 12, „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. „ImportVar()
“,
doc/README.variables
(1.2) /
doc/channelvariables.txt
(1.4), „GLOBAL()
“
Version 1.2, November 2002
Neue Version verfügbar
Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.
Asterisk-Tag 2008
Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org