30 October 2005

Asterisk, IMHO by Gary Allen Vollink

A review of "Asterisk: The Future of Telephony" (O'Reilly Media, Inc.)

While the book is titled after Asterisk, it turns out to be a must read for anyone planning a telephony project, regardless of the eventual technology used.  Asterisk: The Future of Telephony is not only a valuable introduction to the Asterisk application, but also offers insight to many of the technologies and issues that go into planning and executing a successful telephony project. 

With six years of telephone industry experience, I opened Asterisk: The Future of Telephony, expecting to only learn about how to configure Asterisk.  By the end, I was surprised by the breadth of this book.  Besides Asterisk, it covers programming concepts, server latency and sizing issues, and a broad introduction to telephony, including Voice over IP. 

The book starts by describing Asterisk in terms of what it does, why the Asterisk project was started, and how it's matured to where it is now.  Despite the relative simplicity of using a telephone, the book shows that the Asterisk package is an infinitely flexible communications platform, where the servicing of a telephone is but a small part of what is offered. 

Chapter two starts the technical discussion with the basics, server and environmental requirements.  This offers a frank discussion of the realities of server sizing.  The information in this chapter considers the Asterisk application and related hardware, but the chapter is relevant to any major server based technology deployment. 

The next two chapters cover Asterisk installation and basic configuration options.  There are a large number of references to information within the Asterisk source package, the Asterisk and (related) Digium web sites.  I have mixed feelings about this, but it seems that by referring the reader to the online and package sources, the book will be able to remain relevant beyond just the current release.  Yet, I'm disappointed that more of the many options are not directly addressed in the book. 

Chapters five and six finally bring us to the dial plan, the heart of Asterisk.  Specifically the latter parts of these chapters offer a beginners course on programming concepts, while growing a functional dial-plan.  This is a great chance to compare notes between basic Asterisk functionality and the limited functions that typical corporate telephone systems offer. 

From here, the book drastically shifts gears, offering an introduction to the technology (old and new) that the public switched telephone network is made of.  I note that while the book was written with U.S. standards in mind, I was impressed by ample side notes where International standards differ (and again, external pointers to where more detailed information can be found).  The discussion then flows into Voice over IP, with brief discussions of the underlying standards and protocols.

The last two chapters take us back into Asterisk, with an introduction to creating external programs that can be called from, and interact with, the Asterisk dial-plan.  This introduction includes examples in Perl, PHP and Python.  The text of the book ends by touching on a sampling of technologies that are useful to add into an Asterisk solution.  This book also manages to dedicate 150 pages to Appendices.

Asterisk: The Future of Telephony is a great introduction to the possibilities.  For as many topics as this book covers, I was very impressed by the flow of the text.  This book should satisfy beginner to intermediate Asterisk users.

Valid CSS!