Trixbox Ce 2.6 - Garrison Kerry - E-Book

Trixbox Ce 2.6 E-Book

Kerry Garrison

0,0
23,50 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

In Detail

The open source telephony platform trixbox CE is designed to implement a PBX system with features typically reserved for large enterprise businesses. trixBox allows an individual or organization to set up a telephone system with traditional telephone networks as well as internet-based telephony or VoIP. The task is time consuming and involves a lot of technical skills.

This book comes to your rescue to set up a VoIP system fast and easily using trixbox CE. It is the successor to the highly successful book; trixbox Made Easy, written by Kerry Garrison, the Community Director for trixbox CE.

If you are already familiar with Asterisk Open Source PBX, trixbox CE provides a comprehensive web-based GUI to make managing an Asterisk-based system much easier than dealing with confusing configuration files.

The book begins by introducing telephony concepts before detailing how to plan a telephone system and moving on to the installation, configuration, and management of a feature-packed PBX. This book is rich with practical examples and tools. It will give you all of the information and skills needed to implement your own trixbox CE PBX system for yourself or even to resell to potential clients.

Kerry's original book, trixbox Made Easy, made it possible for anyone to set up a trixbox-based telephony system. The emphasis of this book is to take an in-depth look at trixbox CE and expose all of the features to the typical user. By making the system easier to understand and use, trixbox CE users will have even more power available to them as they implement their own PBX solutions.

Learn from the creator of trixbox how to install, configure, and maintain a telephonic system with tips and tricks for every situation.

Approach

This book is a step-by-step tutorial with clear instructions and screenshots to guide you through the creation of a complete, cost-effective telephony system. With its "follow-along" style, you will start with installation, walk through the different features, see how to manage and maintain the system, and finally see how all the different pieces come together.

Who this book is for

If you want to learn how to install and configure either trixbox CE systems or Asterisk-based PBX systems, without struggling with confusing configuration files and cryptic scripts, this is "the" book for you. This book will also benefit readers who use trixbox CE and want to learn all its features, and how best to use them. It is ideal for any user wishing to set up a telephony system for small business usage. No previous knowledge of Trixbox or networking is required, although some basic knowledge of PBX and Linux would be an advantage.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 364

Veröffentlichungsjahr: 2009

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

trixbox CE 2.6
Credits
About the author
About the reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Introduction to open source PBX systems
What is a PBX?
Traditional PBX
Hybrid PBX
Open telephony projects
The open source dilemma
The PSTN
Voice over IP
Asterisk—the brain of the PBX
What Asterisk isn't
Config files—the barrier to entry
Additional Asterisk information
The history of Asterisk
Summary
2. What is trixbox?
Asterisk@Home to trixbox—the name change
trixbox, trixbox CE, Pro, SE, EE, CCE?
Prerequisite skills
trixbox components
What is trixbox CE all about?
Difference between Asterisk and trixbox
The limitations of trixbox
Fonality support of trixbox CE
trixbox CE features
User functions
FOP (Flash Operator Panel)
MeetMe
ARI
Admin mode
System Status
Package Manager
PBX menu
System menu
Settings menu
The history of trixbox
Is trixbox CE for me?
The future of trixbox CE
Hardware we will need to have
Connecting a phone
Hard phones
ATAs
Softphones
Connecting to an analog phone line
FXO versus FXS ports
FXO (Foreign Exchange Office)
FXS (Foreign Exchange Station)
Add-In cards
SIP gateways
VoIP providers
Where to get more information
Where to buy
Summary
3. Installing trixbox
Download the ISO image
Burning the CD
Preparing for installation
Installing trixbox CE
Basic system configuration
Updating trixbox CE from the command line
Getting all yummy with it
trixbox CE command-line tools
Using the web interface
User mode
Asterisk Recording Interface (ARI)
Web MeetMe (MeetMe)
Flash Operator Panel (FOP)
Admin mode
System Status
Package Manager
PBX menu
PBX Configuration
Config File Editor
PBX Status
Endpoint Manager
CDR Reports
System menu
System Info
System Maint
Network
Settings menu
Summary
4. Configuring trixbox CE
PBX Settings tool
Installing PBX Configuration tool modules
Setting up an extension
Setting up a softphone
Basic troubleshooting
Trunks
Setting up a VoIP account
Creating the trunk
General Settings
Outgoing Dial Rules
Outgoing Settings
Registration string
Basic troubleshooting
Setting up an outbound route
Route options
Pattern matching
Examples
Setting up a ring group
Ring group options
Setting up an IVR
Recording messages
Designing the IVR menu
Setting up an inbound route
Summary
5. Planning your trixbox deployment
The design plan
Planning your extensions
How many users?
Departmental considerations
Location considerations
Planning exercise
Ring groups
Call queues
Agents
Connectivity
PSTN
VoIP
ITSP connectivity
Primary circuit?
DID numbers (Direct Inward Dial)
Telephones
Hard phones
Softphones
Counterpath X-Lite
Zoiper
IVR menu
Fax requirements
Case studies
American Widgets Consulting Services
Acme Collections Company
Summary
6. Hardware configurations
TDM cards
Digium cards
Rhino Equipment cards / channel banks
Rhino PCI cards
Rhino channel banks
Sangoma cards
Manual configurations for TDM cards
Zaptel.conf
Analog line settings
Digital line settings
Zapata.conf
Channel configuration
Analog card configuration
Digital card configuration
Configuring endpoints
Aastra phones
Polycom phones
Identification
Server information
Message Center
Other devices
Summary
7. Network considerations
Combined or segmented network
Combined network
Pros
Cons
Segmented network
Pros
Cons
Network services
Remote users / VoIP services
Port forwarding
QoS
Summary
8. Advanced trunking
ENUM
Connecting two trixbox CE systems together
DUNDi
Handling emergency calls
Third-party services
Summary
9. PBX functions and features
Standard features
Call forwarding
Call waiting
Core features
Active call codes
Agent features
Blacklisting
Day / Night mode
Do not disturb
Info services
Intercom
Voicemail
Adding new features
Voicemail features
Voicemail main menu options
Listen to messages
Change folders
Mailbox options
User area
User portal
MeetMe
FOP (Flash Operator Panel)
Summary
10. PBX settings in detail
Basic settings
Extensions
Edit Extension
Extension Options
Assigned DID/CID
Device Options
Dictation Services
Call Recording Options
Voicemail and Directory
VmX Locater
Feature Codes
General Settings
Dialing Options
Call Recording options
Voicemail options
Voicemail VmX Locater options
Company Directory options
Fax Machine options
International Settings
Security Settings
Online Updates
Outbound Routes
Trunks
Administrators
Inbound Call Control
Inbound Routes
Add Incoming Route
Options
Privacy
Fax Handling
CID lookup source
Set Destination
Zap channel DIDs
Announcements
Blacklist
Caller ID lookup sources
Day/Night Mode Control
Follow Me
IVR (Digital Receptionist)
IVR Options
Keypress Options
Queue Priorities
Queues
Queue Settings
Queue Options
Call Announcements
Caller Position Announcements
Periodic Announcements
Fail Over Destination
Ring groups
Time conditions
Creating a time schedule
Internal options and configuration
Callback
Conferences
DISA
Languages
Misc Application
Misc Destinations
Music On Hold
PIN Sets
Paging and intercom
Parking Lot
System Recordings
Voicemail blasting
Summary
11. Maintenance and reporting
System updates
Should you install updates all the time?
Checking system health
Server Status
Network usage
Memory usage
Mounted filesystems
trixbox status
Reporting tools
Summary
12. Troubleshooting
Getting to know Asterisk
Stopping, restarting, and reloading Asterisk
General channel information
Troubleshooting SIP extensions and trunks
Troubleshooting IAX2 extensions and trunks
Troubleshooting zap channels
Troubleshooting VoIP problems
Troubleshooting echo problems
Hardware troubleshooting
Clean up the BIOS
Checking for conflicts
Whose your Dahdi?
Summary
13. trixbox utilities
PBX menu
Gizmo5 module
Config File Editor
PBX Status
Endpoint Manager
Bulk Extensions
CDR Reports
System menu
System Info
System Maint
Network module
DHCP module
Backup module
Settings menu
Repositories
General Settings
Command-line tools
Summary
14. Designing a good call flow
Call-flow feature review
Flowcharting your call flow
Design guidelines
Design scenarios
Summary
15. Securing your trixbox server
Start with a good firewall
Stopping unneeded services
Securing SSH
Create a remote login account
Change the SSH port
Extension security
Additional security
APF
APF additional tweaks
BFD
Summary
16. HUD
Desktop convergence / improved productivity
HUD features
Managing HUD users
Managing permissions
Summary
17. Introduction to trixbox Pro
trixbox Pro versus trixbox CE
trixbox Pro Editions
trixbox Pro Standard Edition
Enterprise Edition
Call Center Edition
Feature Matrix
Managing trixbox Pro
Devices and users
Phone numbers
Groups and permissions
trixbox Pro permissions
Group permissions
AutoAnswer
Scheduler
Managing extensions
Groups and permissions
A.C.D. (Call Center Edition)
A.C.D. reports
Additional admin features
User features
Voicemail
Find-Me
Summary
A. Glossary of VoIP terms
Index

trixbox CE 2.6

Kerry Garrison

trixbox CE 2.6

Copyright © 2009 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: February 2009

Production Reference: 1190209

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-847192-99-8

www.packtpub.com

Cover Image by Damian Carvill <[email protected]>

Credits

Author

Kerry Garrison

Reviewers

Alan H Miller

Bruce Letterle

David Merel

Jan Bjorkhaug

Kristian Kielhofner

Michael D Mosier

Acquisition Editor

Rashmi Phadnis

Development Editor

Dhiraj Chandiramani

Technical Editor

Mithun Sehgal

Editorial Team Leader

Akshara Aware

Project Manager

Abhijeet Deobhakta

Project Coordinator

Lata Basantani

Indexer

Monica Ajmera

Proofreader

Chris Smith

Production Coordinator

Aparna Bhagat

Cover Work

Aparna Bhagat

About the author

Kerry Garrison has spent over 20 years in the IT industry and was introduced to Asterisk by a long-time friend. After getting Asterisk running at home and finding the Asterisk@Home project to make doing installations even easier, Kerry began writing technical articles about using the system to run a business-grade phone system. After seeing the response to his talk about Asterisk@Home at Astricon in 2005, Kerry decided to write the first book about the system. Before the book went to print, the project was renamed to trixbox. After many rewrites to try to stay current, the first Trixbox Made Easy book was finally published with some additional help from Barry Dempster.

Shortly after the first book was published, Fonality, the sponsor of the trixbox project, hired Kerry as the trixbox project manager to work alongside Andrew Gillis to keep the project moving forward, and he worked as the Community Director at Fonality until January of 2009. Today, Kerry is doing consulting work again, and working on his new project (http://pbxtutorials.com).

The following people have contributed code, their writing, and/or their inspiration to help make this new book possible:

My Family

Without the support of my wife and family putting up with my rants about "I swore I would never write another book", this new book would never have happened. Credits to the family would not be complete without mentioning my dog Lola, who sat by my side during the entire writing of the book and provided a nice break whenever she needed to go for a walk.

Andrew Gillis

While not his intention to help create a revolution in the telephony market, Andrew's little basement project made it simple for millions of users to learn how to use these powerful tools.

Tim Yardley

Known to the world as "Engineer Tim", Tim worked on the trixbox CE project during 2008 as the build engineer. His contribution of information on how to secure a trixbox system was a huge contribution to this book.

About the reviewers

Alan H Miller earned a Bachelor's degree in Chemistry from Northwestern University, Evanston, IL. He worked briefly in the materials science research field before moving into the area of computer application design, development, and product management. The telecommunications industry has provided him with stimulating and rewarding opportunities for the majority of his professional career.

The following is the Alan's list of employers:

Tel Aviv University, Ramat Aviv, IsraelNorthwestern University, Chicago, IL, USScientific Information Retrieval, Inc., Evanston, IL, USROLM Corporation, Chicago, ILIBM Corporation, Chicago, ILSiemens, Chicago, IL; San Jose, CA; Munich, Germany

Bruce Letterle has worked in the technology industry since 1979 with a variety of system integration firms. He founded Creative Web Technologies in 1996, a software integration firm that specializes in open source products.

David Merel is the founder and CEO of ThinkBright LLC (www.thinkbright.net), a cutting-edge Voice over IP carrier providing businesses of all sizes with sophisticated and low cost VoIP solutions.

David started ThinkBright in 2005 and continues to manage the company and its employees, all of whom are dedicated IT professionals. He acts as the company's chief architect, designing new technologies that have added significant revenues to the company's operations. During his years at ThinkBright, David has worked with the latest Voice over IP technology, including all VoIP equipment from major manufacturers such as Cisco, Polycom, Grandstream, and Aastra. He also works with customers ranging from small businesses to Fortune 500 companies, and interacts with system integrators and IT consultants who call ThinkBright on a daily basis for assistance with all of the VoIP solutions that Thinkbright offers. ThinkBright manages hundreds of PBX systems, providing customers with PBX features such as Auto Attendants, Waiting Rooms, and Ring Groups, and also provides SIP or IAX services for customers managing their own PBX system.

David has many years of experience with trixbox and Asterisk, and has installed countless custom configurations and deployments using those solutions.

David earned a Bachelor of Arts triple majoring in philosophy, politics, and law from SUNY Binghamton. David holds a CCNA (Cisco Certified Network Associate) certificate and is proficient in over 10 programming languages and databases, various operating systems, VoIP and related communication solutions, and other open-source business applications.

Jan Bjorkhaug was born in Bergen on the west coast of Norway, 49 years ago. He is happily married with four children ranging from 17 months to 25 years of age. He is the CEO of Omnipro, Netsecur, and VoIPtel.

During the last 15 years, Jan has established five IT ventures located in Norway, the Philippines, and most recently the VoIPtel Distribution Central located in Breda, the Netherlands.

He, Bruce, and Adelina, they are currently responsible for the VoIPtel CE and SE firmware used by the embedded open-source series of IP PBXs manufactured by Atcom Technology Co. Ltd. These small but powerful PBXs are made available through their webshop as well their network of international retailers.

For more information, please visit http://voiptel.no or http://blog.voiptel.no.

I would like to thank my son Bruce for his invaluable input during my review of this book, as well as my wife Aileen Joy and the rest of my family for their enormous patience and understanding when my work kept me away from them.

Kristian Kielhofner is VP, Systems Engineering for Star2Star Communications, developer of an end-to-end VoIP architecture. Kristian is responsible for the design and implementation of Star2Star's VoIP services. When he's not consulting or working for Star2Star, he enjoys tinkering with one of his FOSS projects—AstLinux, Runnix, or Recqual. You can find out what else Kristian is up to on his blog at http://blog.krisk.org.

Michael D Mosier started messing around with computers when he was 8 years old, on a TRS 80. He has a BFA in both Drawing/Painting and Graphic Arts and a minor in Computer Science. He has been in the IT business for over 20 years, working with setting up the first networks in several Graphic Design firms and Printing companies.

He started learning Asterisk and trixbox about four years ago as a way to teach himself IP-based phone systems. Knowing that technology was moving toward all IP-based systems, he thought it would be a great way to get his company and himself a jump on the new technology.

He is one of the Principals at Select Phone Solutions in Houston, Texas. They have trixbox work all over the states of Texas and Louisiana. They have been successfully installing trixbox CE for over two years. He also holds the technician FtoCC.

Preface

trixbox CE is an open-source IP PBX system based on the Asterisk Open Source PBX (Private Branch eXchange) software. Using trixbox CE, you can set up a PBX system to run your business that will have features previously only available to companies with huge budgets. With the flexibility of VoIP (Voice over Internet Protocol), a trixbox CE system can be extremely versatile and provide features such as remote users and branch office support.

This book will show you all of the features of trixbox CE with information about how to best utilize those features to create a system that will serve your needs as well as keep your incoming callers from being annoyed.

This book starts with the basics and works up through all the features, building on what you are learning, to enable you to build a feature-rich and well-laid-out phone system.

What this book covers

Chapter 1 introduces you to the basics of open source PBX systems, describes how they handle calls, how they connect to the existing telephone networks, and what the software is like under the hood.

Chapter 2 delves specifically into what trixbox CE is and how it is different from Asterisk or other open source PBX platforms.

Chapter 3 shows you how to install trixbox CE and goes through all of the main sections of the user interface that we will be using to configure the system.

Chapter 4 gets into the configuration of all of the primary features of trixbox CE including setting up of phones, extensions, and IVR menus.

Chapter 5 takes you through the planning of a successful deployment and how to properly structure a system for best results.

Chapter 6 takes you through hardware configurations such as TDM cards and hard phones.

Chapter 7 covers the different aspects of network issues that you need to take into account and how different network designs can affect the performance of your system.

Chapter 8 talks about advanced trunking methods for connecting multiple systems together for connecting business units, branch offices, and so on.

Chapter 9 is a complete overview of the PBX functions that are built into the system and shows how to add your own functions if you need to.

Chapter 10 covers the PBX features in detail with best practices on using the features for best results.

Chapter 11 covers general maintenance tasks and reporting functions.

Chapter 12 takes you through the steps of troubleshooting your system when things are not working the way they should.

Chapter 13 goes through some of the utilities that are included with trixbox CE to make using your system easier.

Chapter 14 will help you design a good call flow that accomplishes the needs of the company and keeps callers from hanging up.

Chapter 15 explains how to secure your trixbox CE system and keep unwanted people out of the system.

Chapter 16 shows you some of the features of the upcoming HUD (Version 3) that is coming to trixbox CE soon.

Chapter 17 introduces you to trixbox Pro, the big brother to trixbox CE that is a commercial PBX package.

What you need for this book

Anyone with enough technical knowledge to figure out how to burn a CD can install and configure a basic trixbox system; however, to properly manage and maintain a system, you will need a base level of Linux skills. Throughout this book, we will look at many of the Linux commands you will need to get started.

Who this book is for

If you want to learn how to install and configure either trixbox CE systems or Asterisk-based PBX systems, without struggling with confusing configuration files and cryptic scripts, this is "the" book for you. This book will also benefit readers who use trixbox CE and want to learn all its features, and how best to use them. It's ideal for any user wishing to set up a telephony system for small business usage.

No previous knowledge of trixbox or networking is required, although some basic knowledge of PBX and Linux would be an advantage.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to <[email protected]>, making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email to <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide the location address or web site name immediately so we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at <[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.

Chapter 1. Introduction to open source PBX systems

In this chapter we will look at:

What a PBX isWhat types of PBX systems are availableThe role of open source in today's PBX systems

What is a PBX?

Private Branch Exchange: A Private Branch eXchange (also called PBX, Private Business eXchange, or PABX for Private Automatic Branch eXchange) is a telephone exchange that serves a particular business or office, as opposed to one that a common carrier or telephone company operates for many businesses or for the general public.—Wikipedia

A PBX is the middleman between the phone company and/or Internet Telephone Service Provider (ITSP) and the extensions within your office. The PBX system provides all of the telephony features for your organization such as extensions, voicemail, music on hold, call transfers, call parking, and many other functions. Early on, the routing of calls was done by banks of workers (usually female) that would connect calls by plugging and unplugging wires to connect a caller to a phone that was connected to the system. Eventually technology improved and moved to automated systems to handle the call routing and extension management.

As the telephone network evolved and companies became more reliant on their telephone connections, the routing functions moved from the phone company to being inside the individual companies, first using the same switchboard technology, and eventually moving into large rooms full of switches and relays.

Traditional PBX

It isn't hard to spot a traditional PBX system; it's usually a large box full of mechanical switches and relays mounted on a wall in 'the phone room'. When a company needs additions, moves, and changes, they need to call out 'the phone guy' to make changes to the system.

With a traditional PBX system you would purchase your phone system and be locked into a very small number of telephone sets, always from the same manufacturer of the PBX system, and usually only a very small number of devices to choose from. Adding features like voicemail is usually an expensive add-on to the base system. Although some legacy PBXs now have options for network access and VoIP functionality, these options are often very expensive upgrades.

Hybrid PBX

A hybrid PBX combines the features of a traditional PBX system with VoIP (Voice over IP) functionality. In some cases the VoIP functionality may just be the way the PBX communicates with the phones, other VoIP functions may include the ability to have remote extensions or softphones, and still other VoIP functionality may include being able to use internet telephone service providers and not just the traditional public telephone network.

The Asterisk PBX system is a full hybrid system combining numerous types of connections to the public telephone network as well as VoIP functionality including:

Use of industry-standard SIP-compliant phonesRemote extensions using either SIP-compliant phones, or SoftPhonesUse of Internet Telephone Service ProvidersBridging of remote Asterisk systems together to act as a single system

Every business, large or small, needs some kind of phone system but many small businesses have never been able to afford all of the features and functions that a good PBX can provide.

With the advent of IP PBX systems based on open source software, the cost of creating a business-class PBX system has plummeted over the last few years. Since an IP PBX such as Asterisk or SIPx incurs only the cost of the PC hardware and the labor to install it, virtually any small business can now afford a PBX system with all of the features and functionality that only Fortune 500 companies could afford before.

Open telephony projects

There are a number of open source telephony projects available these days besides trixbox/Asterisk. A few examples of other open source projects are the following:

SIPx: (http://www.sipfoundry.org) SIPx is a pretty complete SIP-based PBX system with its own web interface for configuration. While SIPx is pretty powerful, it doesn't have the following that Asterisk-based systems have.Call Weaver: (http://www.callweaver.org) Call Weaver started as a fork of Asterisk 1.0.9 and is working on replacing all of the problems that developers feel were wrong with Asterisk. Some of these items include the SIP stack, voicemail, queues, and other primary components. The Call Weaver core is very streamlined and works very efficiently.FreeSwitch: (http://www.freeswitch.org) FreeSwitch is more of a complete softswitch solution that is currently geared towards high-end switching versus being a PBX platform although people are working on adding the applications that are needed for full PBX capability.

The open source dilemma

Using open source software is not for everyone; there are exceptionally good open source packages available and there are some really bad ones as well. Two of the biggest problems with open source software are a lack of commercial support and the project going stale because of lack of interest or lack of funding.

When looking at an open source package for use in your business, you should always look for a commercial support option as well as a means by which the project is funded. With trixbox, you have commercial support from not only Fonality but from many third-party support organizations. Secondly, since the project is funded by Fonality, the project has a dedicated development team that works on the project full time to create new features, fix bugs, and ensure system reliability.

While I am a big proponent of using open source software whenever I can, there is a time and a place for it. You have to use the right tool for the job. Unfortunately, projects like OpenOffice.org don't have enough compatibility with Microsoft Office products to really be a true alternative, while the GIMP, which is an image processing tool, is more than sufficient for most people who can't afford Adobe Photoshop.

Asterisk and trixbox are specific tools that interface very nicely with traditional phone circuits taking compatibility out of the loop. With the features it offers and the substantial cost savings, a trixbox telephony solution is a viable alternative to a traditional PBX system.

The PSTN

The Public Switched Telephone Network is the backbone of the world's communication infrastructure. This is the network that is controlled by the traditional telephone companies. This remains the primary network for calls placed and received around the globe and there are numerous interfaces into this network.

POTS: POTS stands for Plain Old Telephone Service; this is the standard analog lines that we all have grown up with in our homes and businesses. POTS is an analog system that is controlled by electrical loops. It is delivered to the client over copper wires running in the homes and offices and is one of the easiest and cheapest forms of telephone service available.ISDN: Integrated Services Digital Network is a faster and more robust connection that is quite a bit more expensive. This type of service gained popularity within small to medium-sized businesses as a cost-effective way of connection to the PSTN and getting some advanced services, like multiple lines to one office or being able to combine voice and data on one circuit. ISDN is a digital service and offers more features over POTS lines.T1/E1 PRI: Primary Rate Interface circuits offer large numbers of voice channels delivered over a digital T1 or E1 circuit; since these lines are fairly expensive, they are usually only used in companies requiring 15-20 lines or more.

The trouble with the PSTN is that it is very static and in most countries it is strictly controlled by the telecommunications companies and even governments. If a business wants to make a lot of internal calls using the PSTN, it is by no means a cheap way to communicate. ISDN/T1/E1 circuits are most commonly found at the external interface of a company's communication network, with all the internal communications going through internal lines that are controlled by an internal telephone system.

Voice over IP

Now that we understand the basics of a PBX system it's time to look at how VoIP fits into the equation. In a modern IP-PBX system, VoIP can be used in the following areas:

Connecting phones to the PBX system:

This is usually done over the existing data network that the computers are using. This can be with either local phones or telecommuters.

Connecting to a VoIP service provider:

This provides the ability to get 'dialtone' provided over the Internet to your PBX system. The VoIP service provider then terminates your calls to the PSTN network off of their network.

Connecting PBX systems together:

This is used for connecting branch offices together to allow interoffice communications without the cost of running phone lines between the offices.

It is important to note that VoIP connections for telephone service are not yet a complete replacement for traditional PSTN lines. A VoIP service is certainly an alternative way to connect to the PSTN as you can make and receive calls to the PSTN network through your VoIP service provider.

As the Internet grew, became faster and more reliable, it became apparent that it was possible, and in many cases, preferable to use the Internet for carrying voice as well as data. There were more than a few problems in making voice communication a viable alternative over the Internet. For example, data connections can tolerate a certain amounts of lag, packet loss, and jitter while voice communication will suffer severe quality issues under the same conditions. Network lag and jitter can result in symptoms such as echo, jitter, and garbled communication. If you have ever watched a news broadcast with an overseas reporter using a sat-phone and heard the drop-outs and choppiness, while this may be acceptable for a brief news report, having that same quality on your business-to-business phone calls is simply not going to be acceptable.

While we think of VoIP as being a new technology, we have been using VoIP communication over the Internet for well over two decades. The reason for the increased popularity is that being able to have remote workers with phones tied directly to the PBX system is now possible; the ability to connect remote offices is relatively painless, and being able to use VoIP service providers for call origination and termination is now a viable alternative.

The biggest problem with VoIP service over the Internet is that Internet Service Providers do not allow Quality of Service (QoS) packets to prioritize voice traffic over other data traffic. Due to this, VoIP over the Internet is very prone to problems that are outside of the control of yourself or your VoIP provider.

On the plus side, VoIP circuits can be very cost-effective, especially for long distance calls through large providers, which may mean your calls can be routed over the Internet to a termination point physically close to the location you are trying to call. Because of these kinds of network reach, very often long distance rates from VoIP service provides can be substantially less than when using PSTN circuits.

Asterisk—the brain of the PBX

Asterisk is the core piece of software that handles the call flow and PBX functions within the system. In essence, Asterisk is a toolkit that can be used to create different types of telephony-based applications such as a security system, conference room system, PSTN termination system, as well as the obvious PBX and IVR (interactive voice response) system that we will build with trixbox. With currently available PCI cards and external devices it is possible to create an enterprise-class PBX system using Asterisk, commodity PC components, and a few pieces of extra gear. Because most of the components are off-the-shelf computer parts and open source software, the cost of building an extremely powerful business phone system is only a fraction of what a traditional phone system would cost.

Asterisk is, simply put, 'just software'. Instead of using banks of dedicated processors, all of the call-flow and routing is done via software. This is really what makes Asterisk so popular; what used to take a wall full of mechanical switches and relays is all done on a regular PC using a piece of open source software. Since traditional systems are closed and proprietary, finding someone to manage and maintain a legacy system can be quite expensive.

Implementing the phone system functions entirely through software opens up countless possibilities for even more advanced features such as predictive dialing, database integration, and virtually anything we can imagine interfacing with or even controlling with a phone system. All of this and much more can be accomplished with a little ingenuity and a little bit of programming. We don't have to be a programmer to use an Asterisk-based PBX system, but being able to do programming and create custom dialplans can greatly increase the types of features you can create and implement. If you are looking for a very specific feature that hasn't been created yet, you can post bounties to the message boards to find someone who can create that functionality for you. Being able to easily find developers and coders to help add functionality is one of the key advantages of the open source model. This type of flexibility is basically unheard of with traditional systems. Developing new functions and features and giving them back to the community is a great way of contributing to the project and helping other people to share in what you have created. This is one of the core philosophies of the open source model. Not everyone will contribute their code that they develop back, nor is it a requirement (more on this later), and many companies have developed closed source software around the open source Asterisk code. Some VoIP service providers use Asterisk for their infrastructure and switching, and companies like Fonality and Digium have closed source commercial packages that use the Asterisk Open Source engine under the hood.

With so many companies using Asterisk to run their businesses on, a wide range of common functions and external features have already been developed and are available for everyone to use.

What Asterisk isn't

Asterisk by itself is not an easy system to set up and configure. Just getting basic services up and running requires an in-depth knowledge of Asterisk configuration files that need to be edited and maintained. By default, there is no built-in interface available to set up and configure Asterisk. Moreover, the few available management tools typically have to be manually installed and configured separately. However, the benefit of trixbox is that much of this is hidden away from the user, and with the aid of this book, it should be very easy to get a system up and running with a very little effort. Asterisk on its own is not:

A plug-and-play telephone or IVR systemEasy to configure without training and/or adequate documentationA full hardware solutionThe complete solution to every business's communication needsUseful without telephony experience or knowledge

While Digium does offer a Business Edition of Asterisk, the open source version does not come with any technical support. Being an open source project, we need either to be able to troubleshoot ourselves, turn to community forums for support, or hire a consultant to help us out.

If we are fairly proficient with Linux, we are well ahead of the crowd that typically looks at the trixbox system. While Asterisk is just another software package that runs on almost every Linux distribution, trixbox is a distribution of its own, which abstracts some of these often complicated layers from us. So at some point, Linux skills may be helpful for optimizing the system or troubleshooting; certainly many people with no previous Linux experience have been very successful in rolling out trixbox systems. As we will see, trixbox can make many of the potential issues much less of a concern and more straightforward.

You can't install Asterisk on your standard PC and then plug into any PSTN interface you choose without the correct hardware. If we want to access the PSTN (which is not a requirement if you want a VoIP-only system), we may want to get services from an ITSP (Internet Telephone Service Provider) or install hardware in our server in order to provide access to our POTS, ISDN, or other line types.

Config files—the barrier to entry

One of the biggest hurdles that Asterisk faced in getting massive deployment was that you have to learn how to set up all of the different configuration files. It is true that if you are a config file master, you can make Asterisk do things that are

simply not possible in the trixbox GUI as trixbox is limited to only those features it has been programmed to configure for you. The good news is that very few companies ever need features that aren't included in trixbox.

The following example shows the screen used in trixbox to create a simple extension and the corresponding configuration file.

[500]

type=friend

secret=500

record_out=Adhoc

record_in=Adhoc

qualify=yes

port=5060

nat=yes

mailbox=500@device

host=dynamic

dtmfmode=rfc2833

dial=SIP/500

context=from-internal

canreinvite=no

callerid=device <500>

call-limit=50

While trixbox CE does make using Asterisk dramatically easier, it is certainly a good idea to really get in and learn all you can about the Asterisk configuration files. The more you know about how the system works under the hood the easier it will be for you to troubleshoot problems and even add features to your systems that aren't available in trixbox CE.

Additional Asterisk information

Without a doubt, the most complete source of information on using and configuring Asterisk is the book Asterisk: The Future of Telephony written by Jim Van Meggelen, Leif Madsen, and Jared Smith. The printed version of the book weighs in at a hefty 444 pages and covers everything you would need to know to configure an Asterisk system from scratch using manually-coded configuration files.

As a bonus, the book is also available as a free PDF download which can be found at http://asteriskdocs.org.

The history of Asterisk

Asterisk is the brain child of Mark Spencer and began life as a simple project to use traditional PC hardware to interface to regular phone lines. A few years and countless lines of code later, Asterisk is currently the leading open source PBX software.

Asterisk is written in C for Linux-based systems and has a wealth of features that any business owner would love to have. The following is a very incomplete list of some of the Asterisk's many features.

Automated Attendant: An automated system for answering incoming calls and routing them based on the caller's responses to voice prompts.Blacklists: The ability to easily add numbers into a central database that will prevent calls from the blacklisted phone number from being processed by the system.Call Detail Records: Detailed call reports and usage statistics to show an administrator the activity of the phone system.Call Forward on Busy: Automatically forward a call to another extension if the called extension is busy.Call Forward on No Answer: Automatically forward a call to another extension if the called extension does not answer.Call Parking: Placing a call into a holding state so that it can be picked up at another extension.Call Queuing: A system that allows inbound callers to sit in a holding room listening to music on hold until the next available agent is available to speak to them.Call Recording: The ability to record inbound or outbound calls to .wav files.Call Routing: Based on the phone number that was dialed (DID), or the number that was called from (ANI), a call can be routed to a specified extension, group, queue, and so on.Call Transfer: The ability to transfer an existing call to another extension.Caller ID: Caller ID is used to display the phone number and other available information of the user that is calling into the system.Conference Bridging: Asterisk has the ability to create conference rooms that multiple people can attend at one time for group meetings.Interactive Directory Listing: A company directory system that can look up users by first or last name.Interactive Voice Response (IVR) : This system used pre-recorded voice menus to prompt callers to make selections via their phone such as 'press 1 for sales, 2 for support'.Music On Hold: Asterisk can play MP3 files to callers that are on hold or waiting in a queue.Remote Office Support: Because Asterisk uses Internet Protocols for communication, users can be at remote locations and have access to the system over broadband internet access.VoIP Gateways: Using new Internet Telephone Service Providers allows an Asterisk system to receive telephone network access without having to use access from a normal analog service provider.Voicemail: Each user in an Asterisk system can have their personal extension and voicemail account. Using trixbox, the voicemail can be retrieved via their phone, from a remote location, sent via email, or accessed via a web browser.

Current versions of Asterisk support some very interesting technologies such as storing voicemail in IMAP folders or ODBC connections, Dictation and Follow-Me applications, and much improved jitter buffers and many other new things being added all the time.

The problem is that Asterisk is not easy to install and get running and many people got turned off early on by the complexity of the config files. It was only a matter of time before people started putting together graphical user interfaces to create the complex dialplans. The first of these was the Asterisk Management Portal (AMP) , which later became FreePBX. Digium and many Asterisk purists always believed that the right way to build a system was using config