Page 274 - Asterisk™: The Future of Telephony
P. 274
In order for a GUI to be the Asterisk GUI, it would have to leave intact the manually
scripted configuration files that have been the lingua franca of Asterisk since the dawn
of time. It would have to provide a simple, graphical means of configuration without
compromising the underlying Asterisk software or irrevocably fixing decisions that
should be left open to the end user. It would also have to provide advanced functionality
without taxing the computer or stealing valuable resources from the core goal of pro-
cessing calls.
Coinciding with the release of Asterisk 1.4, Digium launched the Asterisk GUI project.
The GUI was originally conceived as a component of Digium’s Asterisk embedded
appliance. The appliance, sold as the Asterisk Appliance Developers Kit (AADK) as
well as in a standalone configuration, is a small, solid-state Linux computer with op-
tional analog (and potentially digital) interfaces. The GUI was built using a flexible and
expandable framework that placed as much of the display and validation logic as pos-
sible on the client computer. It also took into consideration the need to preserve
handwritten config files while providing an automated means of editing them. The
resulting framework is known as AJAM (a play on the popular “Web 2.0” technology
known as Ajax), which means Asynchronous JavaScript and Asterisk Manager. The
core AJAM code, a series of AJAM-enabled web pages, and an extension to the Asterisk
manager work together to form the Asterisk GUI framework.
What Is the GUI?
The Asterisk GUI is the interface that comes with the AsteriskNOW distribution or
can be added to an existing Asterisk installation. The default interface is geared toward
the user who wants to use Asterisk as a PBX for a small business with fairly typical
telecom needs. It can best be thought of as a sample of what can be done using AJAM;
think of it as a beta interface that can be expected to evolve according to the desires of
the community. This has caused a lot of excitement in the Asterisk community, because
the underlying technologies behind the GUI raise the bar on what a PBX interface can
become. It also enables you to build your own interfaces that are tuned to your unique
requirements.
Mark Spencer Talks About the GUI
Asterisk is a powerful telephony platform. However, that power is only as valuable as its
ability to be used by a particular target user. There is a lot of value to having graphical
interfaces (GUIs) for Asterisk. Most GUIs are specifically designed to support a particular
task. For example, some GUIs are designed specifically for voicemail systems. Others are
specifically targeted to the hospitality industry. There is some demand to have a GUI that
targets Asterisk generally, but there is a natural trade-off between the ease of use and
simplicity of a GUI, versus the number of available features. For example, the GUI that
a seasoned systems administrator might require would likely be different than that of an
office administrator who is only responsible for simple moves, adds, and changes to the
system. Given this wide ranging demand, Digium developed a GUI framework called
246 | Chapter 11: The Asterisk GUI Framework