System information
CHAPTER 14
Device States
Out of clutter, find simplicity.
—Albert Einstein
It is often useful to be able to determine the state of the devices that are attached to a
telephone system. For example, a receptionist might require the ability to see the sta-
tuses of all the people in the office in order to determine whether somebody can take
a phone call. Asterisk itself needs this same information. As another example, if you
were building a call queue, as discussed in Chapter 13, Asterisk needs to know when
an agent is available so that another call can be delivered. This chapter discusses device
state concepts in Asterisk, as well as how devices and applications use and access this
information.
Device States
There are two types of devices that device states refer to: real devices and virtual devices.
Real devices are telephony endpoints that can make or receive calls, such as SIP phones.
Virtual devices include things that are inside of Asterisk, but provide useful state in-
formation. Table 14-1 lists the available virtual devices in Asterisk.
Table 14-1. Virtual devices in Asterisk
Virtual device Description
MeetMe:
<conference bridge>
The state of a MeetMe conference bridge. The state will reflect whether or not the conference
bridge currently has participants called in. More information on using MeetMe() for call
conferencing can be found in “Conferencing with MeetMe()” on page 218.
SLA:<shared line> Shared Line Appearance state information. This state is manipulated by the SLATrunk()
and SLAStation() applications. More detail can be found in “Shared Line Appearan-
ces” on page 318.
Custom:<custom name> Custom device states. These states have custom names and are modified using the
DEVICE_STATE() function. Example usage can be found in “Using Custom Device
States” on page 307.
301