Wird im Lauf eines Gespräches ein weiterer Channel aufgebaut, so hat dieser natürlich wieder eigene Channel-Variablen.
Will man eine Channel-Variable übergeben, aber keine globale
Variable dafür benutzen, so kann man der Channel-Variable ein
_
(Underscore) voransetzen. Diese Channel-Variable wird
dann an den nächsten Channel vererbt. Dabei wird der Underscore
entfernt. Die Vererbung kann also nur einmal erfolgen.
Beispiel:
exten => 1234,1,Set(_KUCHENSORTE="Marmorkuchen")
Will man eine Channel-Variable beliebig oft vererben, so muss
man zwei __
(Underscore)-Zeichen vor die Variable setzen.
Die zwei Underscore-Zeichen werden dann immer mitvererbt.
Asterisk unterscheidet die Namen von Variablen, die mit einem
Underscore anfangen, nicht von Variablen, die keinen Underscore
haben. So wird im folgenden Beispiel aus der vererbbaren
Channel-Variable exten => 1234,1,Set(__KUCHENSORTE="Marmorkuchen") exten => 1234,n,Set(KUCHENSORTE="Marmorkuchen") |
Beispiel:
exten => 1234,1,Set(__KUCHENSORTE="Nusskuchen")
Bei einem Abruf einer vererbten Channel-Variable ist es egal, ob man die Unterstriche voranstellt oder nicht. Die beiden folgenden Zeilen geben zweimal den gleichen Wert im CLI aus:
exten => 1234,1,NoOp(${__KUCHENSORTE}) exten => 1234,n,NoOp(${KUCHENSORTE})