System information

to install the package, open up some of the configuration files, and start looking at
examples.
From the basic beginnings of a PBX that Mark Spencer coded in 1999, the Asterisk
project, with the help of thousands of developers, has moved from simply connecting
phone calls and has matured into a platform that can handle voice, video, and text
across dozens of virtual and physical interface types. The creation and growth of
Asterisk were the inescapable results of the convergence of the four horsemen of the
proprietary hardware apocalypse: open source development ideas, the Internet,
Moore’s Law, and the plummeting costs of telecommunications. Even hardware ven-
dors who may be frightened of Asterisk from a competitive standpoint are using it in
their labs and core networks: almost all devices in the Voice-over-IP world are tested
with Asterisk, making it the most compatible system across vendors.
At a recent communications conference I attended, the question “Who uses Asterisk?”
was posed to the 1000-plus crowd. Nearly 75 percent raised their hands. Asterisk is a
mature, robust software platform that permeates nearly every area of the telecommu-
nications industry and has firmly cemented itself as one of the basic elements in any
open source service delivery system. I tell people that it’s reasonable for anyone deliv-
ering services both via phone and web to want to add an “A” for Asterisk to the LAMP
(Linux, Apache, MySQL, [Perl/Python/PHP]) acronym, making it LAAMP. (LAMA-P
was another option, but for some reason nobody seems to like that version…I don’t
know why.)
The expansion of this book to include more examples is something I’ve been looking
forward to for some time. Asterisk is accessible because of the ease with which a novice
can understand basic concepts. Then it continues to succeed as the novice becomes a
pro and starts tapping the “other ways to do it” with more sophisticated implementa-
tions, using AGI with Java, Perl, or Python (or one of the other dozen or so supported
languages), or even writing her own custom apps that work as compile-time options
in Asterisk. But the first step for anyone, no matter what his or her skill level, is to look
at examples of basic apps others have written. Leif, Jim, and Russell have not only put
together a fantastic compendium of Asterisk methods, but they have also provided an
excellent list of examples that will let the novice or expert quickly learn new techniques
and “more than one way to do it.”
Asterisk 1.x is fantastically powerful and can solve nearly any voice problem you might
have. For those of you building the most complex installations, there is even more
interesting work—which will be realized quite soon—in development. The currently-
in-development Asterisk SCF (Scalable Communications Framework) is being built as
an adjunct open source project to allow Asterisk 1.x systems to scale in even more
powerful ways—stay tuned, or better yet, get involved with the project as a developer.
xx | Foreword