- •Table of Contents
- •Introduction
- •What This Book Covers
- •Conventions
- •Reader Feedback
- •Customer Support
- •Errata
- •Questions
- •What is Asterisk?
- •Asterisk is a PBX
- •Station-To-Station Calls
- •Line Trunking
- •Telco Features
- •Advanced Call Distribution
- •Call Detail Records
- •Call Recording
- •Asterisk is an IVR System
- •Asterisk is a Voicemail System
- •Asterisk is a Voice over IP (VoIP) System
- •What Asterisk Isn't
- •Asterisk is Not an Off-the-Shelf Phone System
- •Asterisk is Not a SIP Proxy
- •Asterisk Does Not Run on Windows
- •Is Asterisk a Good Fit for Me?
- •Trade-Offs
- •Flexibility versus Ease of Use
- •Graphical versus Configuration File Management
- •Calculating Total Cost of Ownership
- •Return on Investment
- •Summary
- •The Public Switched Telephony Network (PSTN)
- •Connection Methods
- •Plain Old Telephone Service (POTS) Line
- •Integrated Services Digital Network (ISDN)
- •Voice over IP Connections
- •Determining Our Needs
- •Terminal Equipment
- •Types of Terminal Devices
- •Hard Phones
- •Soft Phones
- •Communications Devices
- •Another PBX
- •Choosing a Device
- •Features, Features, and More Features…
- •Determining True Cost
- •Compatibility with Asterisk
- •Sound Quality Analysis
- •Usability Issues
- •Recording Decisions
- •How Much Hardware do I Need?
- •Choosing the Extension Length
- •Summary
- •Preparing to Install Asterisk
- •Obtaining the Source Files
- •Installing Zaptel
- •Installing libpri
- •Installing Asterisk
- •Getting to Know Asterisk
- •Summary
- •Zaptel Interfaces
- •zaptel.conf
- •Lines
- •Terminals
- •zapata.conf
- •Lines
- •Terminals
- •SIP Interfaces
- •IAX Interfaces
- •Voicemail
- •Music On Hold
- •Queues
- •Conference Rooms
- •Summary
- •Creating a Context
- •Creating an Extension
- •Creating Outgoing Extensions
- •Advanced Call Distribution
- •Call Queues
- •Call Parking
- •Direct Inward Dialing (DID)
- •Automated Attendants
- •System Services
- •Summary
- •Call Detail Records
- •Flat-File CDR Logging
- •Database CDR Logging
- •Monitoring Calls
- •Recording Calls
- •Legal Concerns
- •Summary
- •CentOS
- •Preparation and Installation
- •The Asterisk Management Portal (AMP)
- •Maintenance
- •Setup
- •Flash Operator Panel (FOP)
- •Flash Operator Configuration Files
- •Web MeetMe
- •Flexibility When Needed
- •A Simple One-to-One PBX
- •Extensions
- •Trunks
- •Routes
- •Customer Relationship Management/SugarCRM
- •Adding Contacts
- •Call Scheduling
- •Administration of SugarCRM
- •Configure Settings
- •User Management
- •User Roles
- •Summary
- •Small Office/Home Office
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •voicemail.conf
- •modules.conf
- •extensions.conf
- •Conclusions
- •Small Business
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •agents.conf
- •queues.conf
- •sip.conf
- •meetme.conf
- •voicemail.conf
- •extensions.conf
- •Conclusions
- •Hosted PBX
- •The Scenario
- •The Discussion
- •The Configuration
- •zaptel.conf
- •zapata.conf
- •musiconhold.conf
- •sip.conf
- •voicemail.conf
- •extensions.conf
- •Conclusions
- •Summary
- •Backup and System Maintenance
- •Backing Up Configurations
- •Backing Up Log Files
- •Backup Scripts
- •Time Synchronization
- •Adding It All to cron
- •Rebuilding and Restoring the Asterisk Server
- •Disaster Recovery Plan (DRP)
- •Asterisk Server Security
- •Internal Access Control
- •Host Security Hardening for Asterisk
- •Integrity Checker
- •Root-Kit Detection
- •Automated Hardening
- •Role Based Access Control (RBAC)
- •Network Security for Asterisk
- •Firewalling the Asterisk Protocols
- •SIP (Session Initiation Protocol)
- •RTP—The Real-Time Transport Protocol
- •Controlling Administration of Asterisk
- •Asterisk Scalability
- •Load Balancing with DNS
- •Support Channels for Asterisk
- •Mailing Lists
- •Forums
- •IRC (Internet Relay Chat)
- •Digium
- •Summary
- •Index
Chapter 3
We restart Asterisk thus:
CLI> restart <choice>
For instance, if we wanted to restart now, we would type:
CLI> restart now
Now is a good time to play around with the console interface. Get comfortable with it. Experiment with the Tab key to auto-complete commands, and try different verbosity levels to see what information is displayed for each.
I cannot stress enough that now is the time to play with the server. If it is going to be broken by a mistake, it is better that the mistake be made before calls are going through it. If Asterisk stops working, we can go back to the beginning of this chapter and reinstall with minimal time.
Summary
In this chapter, we installed Asterisk and two packages that it requires, Zaptel and libpri. The configuration files that we use to set up various aspects of our PBX system have been introduced, as has the Asterisk console. Before our system is ready for use, we need to configure Asterisk for our hardware and other operational requirements, which we'll do in the next chapter.
41
4
Configuring Asterisk
So far, we have decided to use Asterisk to meet our needs, created a plan, prepared a server, and installed Asterisk and its supporting libraries. Now we have come to the more artistic part of any open-source solution: configuration. We get to choose how to use Asterisk's power and flexibility to meet our real-world needs.
While the order in which we proceed makes sense, it is not necessary that we follow it precisely. We can configure the pieces in any order we want. The only issue we may encounter is that if we have not completely configured one part of Asterisk, the PBX may not start, or may start without full capabilities. This is not a real problem, as we are still configuring and will be testing our PBX later.
Thus, if we become unsure about how to proceed in one section, it may be best to move on, and configure the next part. Then, we can go back to where we left off. Often we need a little bit of time to digest some information.
What we will now do is step through the different technologies we're going to use, and the configuration files that we need to modify to follow the plan that we laid out in Chapter 2. Be sure to have the planning worksheets handy so that we are sure what we need to do.
Before modifying the configuration files, we should make a backup copy of each.
We can create a backup copy of the stock configuration files by changing to the /etc/asterisk directory and making a copy of the files. For instance, if we wanted to make a copy of the zapata.conf file and call the copy default-zapata.conf, we would type:
$ cp zapata.conf default-zapata.conf