
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Asterisk Dial-Plan
|
387
Variables
Asterisk’s extensions.conf and voicemail.conf files can use variables in a manner simi-
lar to shell scripts. Variables can be contained within a particular voice channel or be
made “global,” available to all contexts of the dial-plan. (More on contexts later.)
Variables are referenced using curly brackets (
{ and }) around the variable name, pre-
ceded by a dollar sign (
$). Here’s an example of a variable called announceBox being
assigned, then recalled:
exten => 1,1,SetGlobalVar(announceBox=15)
exten => 1,2,NoOp(${announceBox})
Built-in variables
Asterisk has a number of built-in variables to handle specific tasks. They behave like
functions:
${DATETIME} provides a reference to the current system time, while
${CALLERID} provides caller ID information. Built-in variables are almost always
channel-specific—that is, they don’t have much meaning outside the scope of a par-
ticular call.
The PBX can behave differently depending on the time of day, the caller’s identifica-
tion, and even the channel used to handle a call. The more you use configuration set-
tings, commands, and variables with Asterisk’s configuration files, the more the
syntax of the configuration files will make sense. For now, let’s talk about the place
where commands and variables are most often ...