Free sample of the first three chapters
The entire eBook can be bought at www.asteriskguide.com

How to build and configure a PBX with Open Source Software
Featuring release 1.4
Flavio E. Gonçalves
Third Generation
2nd Edition/April/2007
rev. 8.7
By Flavio E. Goncalves
Asterisk PBX Configuration Guide
Flavio E. Gonçalves
Revision: Luis F. Gonçalves
Copyright © 2006 V.Office Networks Ltda., All rights reserved
Printing History
First Edition: November 2006,
File Date: Friday, January 25, 2008
ISBN: 978-85-906904-2-9
Some manufacturers claim trademarks for several designations that distinguish their products. Wherever those designations appear in this book and we are aware of them, the designation is printed in CAPS or the initials are capitalized.
Although a great degree of care was used in writing this book, the author assumes no responsibility for errors and omissions, or damages resulting from the use of the information contained in this book.
Asterisk, Digium, IAX and DUNDI trademarks are property of Digium Inc.
This book is for anyone who wants to learn how to install and configure a PBX (Private Branch eXchange) based on Asterisk PBX. Asterisk is an open source telephony platform capable to use VoIP and TDM channels.
This is the third generation of the book Asterisk Configuration Guide. The book is also available in Spanish and Portuguese. The material that I present in this book helped to prepare for the dCAP certification from Digium last May 2006 and to pass it in the first try. Originally, this e-Book was written for version 1.0. The second generation was updated to version 1.2 and this one is based on version 1.4. However, you may still find examples that were based in the older version. Wherever possible, those examples have been suppressed or changed.
The Asterisk Open Source PBX is revolutionary. Telephony will never be the same after this program. For many years, telephony has been dominated by huge companies with proprietary systems. Finally, users can recover their buying power by having access to an open telephony platform. Thus, things that were not possible before because they were not economically viable are likely to start happening. Examples include resources like CTI (computer telephony integration, IVR (interactive voice response), ACD (automatic call distribution), and voicemail, that are now available to everybody.
This book was not designed to teach every single detail of Asterisk. In fact, you will probably not become a guru simply by reading this e-Book. However, you will be able to build and configure a PBX with advanced features like voicemail, IVR an ACD by the end of reading. I hope you enjoy as much learning about Asterisk as I have enjoyed writing about it.
Flavio E. Gonçalves
CEO
V.Office Networks
flavio@asteriskguide.com
This book is intended for those who are new to Asterisk. We assume your are familiar with Linux, Linux shell commands and Linux text editors. You could test Asterisk using a Linux system with a graphical interface which may be easier for Linux newbies. Some users will try to execute Asterisk using VMWare and this is really not a problem, except for poorer voice quality. For production systems we do not encourage VMware or Linux with a graphical user interface.
It is also desirable that the reader has some knowledge of IP networks, voice over IP (VoIP) and telephony concepts.
I have to thank my family for the patience to see me work at late hours and during the weekends for several months. A special thanks to Ana Cristina Gama, Luis F. Goncalves, Karla Braga and Anna Leticia Loch for their help in the revision and publishing tasks.
We always try to find and eliminate errors and mistakes. Please, if you find something wrong, give us feedback and we will act on it immediately.
E-mail address for feedback: oops@voffice.com.br
We use this book for Asterisk training. If you are interested to use it in your training center, please send an e-mail to flavio@asteriskguide.com. We have additional materials such as presentations and lab guides.
1.6 Differences between the old and the new world.
1.9 Finding information and help
Downloading and installing Asterisk
2.4 Choosing an operating system
2.5 Installing Linux prepared for Asterisk.
2.6 Preparing the Debian system for Asterisk
2.7 Obtaining and compiling Asterisk
2.8 Starting and stopping Asterisk
2.10 Log files and log rotation
2.11 Starting Asterisk with a non-root user.
2.12 Asterisk installation notes
3.2 Understanding the configuration files.
3.4 Configuring a PSTN interface
3.5 SIP IP phones configuration
3.7 Creating a basic dial plan
4.4 Analog FXS, FXO and E&M interfaces
4.6. Asterisk telephony channels setup
4.7 Zapata.conf configuration options
5.4 Asterisk VoIP architecture
5.5 VoIP protocols and the OSI (ISO Open Systems Interconnect) model
5.8 Codecs and codec translation
5.10 Overhead caused by protocol headers
5.12 Reducing the bandwidth required for VoIP
6.8 The iax.conf file configuration
8.2 Extensions.conf file structure
8.10 Building a simple Dial Plan
8.11 Adding some logic to your dial plan
9.2 Receiving calls using an IVR menu.
9.4 Using the switch statement
9.5 Dial plan processing order
9.8 Implementing Call Forward, Black Lists and DND
9.11 To get a new dial tone use DISA
9.13 LAB - Putting it all together
ACD Automatic Call Distribution
12.4 Sending voicemail to e-mail
12.7 Using the directory application
13.4 Account codes and automated message accounting
13.7 Applications and functions
13.9 Using passwords from voicemail.
Extending Asterisk with AMI and AGI
14.3 Major ways to extend Asterisk
14.4 Extending Asterisk with console CLI
14.5 Extending Asterisk using the System() application
14.7 Configuring users and permissions
14.9 Asterisk Gateway Interface
14.10 Changing the source code
15.3 How does Asterisk Real Time work?
15.4 LAB 1 Installing Asterisk Real/Time
15.5 Configuring Asterisk Real Time
15.7 Lab 2 – Installing and creating the database tables
15.8 Lab 3 – Configuring and testing ARA