MySQL for Python

I am always for using the right tool for the right job. A lot of time, that tool is Python. I have always had trouble finding solid documentation on using MySQL with Python. There was generally enough to get by, but the more the merrier. Enter MySQL for Python by Albert Lukaszewski. Read the rest of this entry »

Mod-Security 2.5 by Magnus Mischel

Being a SysAdmin (as most of you who read this blog regularly know), I love to look at logs to solve problems. If there is an issue, the first thing I always do is look at the logs to see what went wrong. Even when I am writing programs, I build debugging in from the beginning to make sure I know what’s going on at all times (especially when something goes wrong). Read the rest of this entry »

Modsecurity 2.5 Review Coming

The folks over at Packt Publishing are kind enough to send me out an advance copy of the upcoming Modsecurity book by Magnus Mischel. I have written about mod security before, but really haven’t had a chance to look into it recently. I am anxious to see where its advanced to in version 2.5.

If you don’t know anything about mod_security, I encourage you to read up on it in the interim.

Stay tuned for the review.

Building Telephony Systems With Asterisk

Date: 12 Mar 2007
The next generation in telephony in combination with FOSS (Free and Open Source Software) is Asterisk. With the Open Source community revolutionizing telephony, Askterisk is the forging the way ahead. If you don’t know what Asterisk is, then you are going to be left behind.

Vitals:
Title Building Telephony Systems With Asterisk
Author David Gomillion & Barrie Dempster
Pages 176
ISBN 1904811159
Publisher Packt Publishing
Edition 1st Edition
Purchase Amazon

Audience:
If you are looking for a way to save money on a phone system, how to deploy Asterisk either in a business or a personal environment, then this is the book for you. Even if you are just looking for find out more about VoIP, Voicemail systems, or a foundation of how telephony works, then this is a must read. If you have an existing Asterisk system and are looking for ways to tweak it or make it more efficient, then you need this book to take you through the first steps. This book caters more to those with less experience with Asterisk.

Summary:
As with any introduction to a new system, the most vital questions are; What is it? and Is it for me? The authors of this book discuss the background for what it (Asterisk) is in great detail in the first chapter. Then they answer the second question by discussing both the pros and the cons from many perspectives. Assuming that you have decided that Asterisk is the solution for you (based on the information in chapter 1), it’s time to look into deploying an Asterisk. First it is necessary to take stock of what you have to work with and what your capabilities are. The authors discuss the various telephony capabilities ranging from POTS, Ts (and frame relay), and ISDNs for the medium and then move on to SIP, IAX, H.323, and others for the software protocols. The last part of the planning stage is determining what you need and how to make it scalable. Given various scenarios of initial stages and growth, the authors begin alluding to dial plans, extensions, and some of the other aspects that make Asterisk so versatile.

Chapter 3 starts right from the basic installation of Asterisk and familiarization with the configuration files. So as not to waste too much time on building programs from source, the authors move right into the actual configuration. This is one of the places where the book excels. Since Asterisk is a very configurable program, it has many configuration files and configuration items. The authors take the time to go through, at least basically, each one of the major configuration files. First they start with the zaptel.conf and the zapata.conf for the hardware. Then its time to move onto the software configuration where we configure sip.conf and iax.conf. Now its on to one of the most important aspects of our Asterisk configuration, voicemail.conf. The chapter is then finished up with some of the more interesting aspects of Asterisk like queues, conference rooms, and music on hold.

Now that the Asterisk base has been installed, the authors walk you through configuring the dialplan. This is where Asterisk’s power really shows through. There are many advanced features covered here like call parking, direct inward dialing, automated attendents, and other advanced call distribution mechanisms. The author’s then discuss different methods of logging (CDR – Call Detail Records). Also covered were the ability to record and monitor calls (and even have a legal issues note).

Since one of the best features of Asterisk is versatility. Asterisk @Home is decieving by name. Housed by CentOS Linux, Asterisk @Home provides for a more graphic based and user friendly configuration mechanism called AMP, the Asterisk Management Portal. This chapter covers the way to configure Asterisk @Home through AMP and how each configuration aspect is matched to the concepts covered in Chapter 4. They even show integration of Asterisk and SugarCRM, a widely used FOSS customer relationship management software.

The authors now come to my favorite way of teaching, real life application. They use multiple case studies as is a staple of authors for Packt publishing. There are explanations of a SOHO (Small Office/Home Office) setup, small business setup, and a hosted PBX setup. The book is then rounded up by explanations of maintainance, backup (and restore), and security. Many of the topics discussed with regards to security are general security topics such as host based security, rule based access control, and firewalling. The final notes discuss scalability and various support mechanisms for Asterisk.

Opinion:
Although I found this book slightly difficult to get through, it was jam packed with information. I was especially impressed with the way in which the authors covered the configuration files and the way in which they were explained. As always, I thoroughly enjoy the case studies and real life examples that are provided by the authors.

The one item which I feel wasn’t well covered in this book is call quality. It is generally well known that call quality with VoIP has a tendency to be a problem. Since Asterisk is a transport medium with the flexibility for many configuration tweaks, I think there should have been more discussion about call quality and its enhancement.

Overall, I found this book to be extremely helpful, although dry at times. There is a lot of material to be conveyed and the authors did their best under the circumstances. This book is an excellent starting point for anyone who needs to bring Asterisk into their world and needs to start from square one.