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
   269   270   271   272   273   274   275   276   277   278   279