D.87. SHARED()

SHARED(variablenname[,channel])
Liest/setzt eine Channel-Variable, die sich mehrere Channels teilen.
Asterisk-Versionen:
        |     |        |     |        | 1.6 |————————
Interner Hilfetext zu dieser Funktion in Asterisk 1.6:
  -= Info about function 'SHARED' =-

[Syntax]
SHARED(<varname>[,<channel>])

[Synopsis]
Gets or sets the shared variable specified

[Description]
Implements a shared variable area, in which you may share variables between
channels.  If channel is unspecified, defaults to the current channel.  Note
that the channel name may be the complete name (i.e. SIP/12-abcd1234) or the
prefix only (i.e. SIP/12).

The variables used in this space are separate from the general namespace of
the channel and thus ${SHARED(foo)} and ${foo} represent two completely
different variables, despite sharing the same name.

Finally, realize that there is an inherent race between channels operating
at the same time, fiddling with each others' internal variables, which is why
this special variable namespace exists; it is to remind you that variables in
the SHARED namespace may change at any time, without warning.  You should
therefore take special care to ensure that when using the SHARED namespace,
you retrieve the variable and store it in a regular channel variable before
using it in a set of calculations (or you might be surprised by the result).
Differenz des internen Hilfetexts von Asterisk 1.4 zu 1.6:
— in Asterisk 1.4 nicht vorhanden —