You are previewing Building Telephony Systems with Asterisk.
O'Reilly logo
Building Telephony Systems with Asterisk

Book Description

This book shows how to build a telephony system for your home or business using the free and open source application, Asterisk. 'Building a Telephony System with Asterisk' takes you step-by-step through the process of installing and configuring Asterisk. It shows you how to make a deployment plan, and how to create a dial plan.

The book also presents example configurations for using Asterisk in three different scenarios: for small and home offices, small businesses, and Hosted PBX.

With an engaging style and excellent way of presenting information, this book makes a complicated subject very easy to understand.

Table of Contents

  1. Copyright
  2. Credits
  3. About the Reviewers
  4. About the Authors
  5. Introduction
    1. What This Book Covers
    2. Conventions
    3. Reader Feedback
    4. Customer Support
      1. Errata
      2. Questions
  6. 1. Introduction to Asterisk
    1. What is Asterisk?
      1. Asterisk is a PBX
        1. Station-To-Station Calls
        2. Line Trunking
        3. Telco Features
        4. Advanced Call Distribution
        5. Call Detail Records
        6. Call Recording
      2. Asterisk is an IVR System
      3. Asterisk is a Voicemail System
      4. Asterisk is a Voice over IP (VoIP) System
    2. What Asterisk Isn't
      1. Asterisk is Not an Off-the-Shelf Phone System
      2. Asterisk is Not a SIP Proxy
      3. Asterisk Does Not Run on Windows
    3. Is Asterisk a Good Fit for Me?
      1. Trade-Offs
        1. Flexibility versus Ease of Use
        2. Graphical versus Configuration File Management
      2. Calculating Total Cost of Ownership
      3. Return on Investment
    4. Summary
  7. 2. Making a Plan for Deployment
    1. The Public Switched Telephony Network (PSTN)
      1. Connection Methods
        1. Plain Old Telephone Service (POTS) Line
        2. Integrated Services Digital Network (ISDN)
        3. T1 or E1
        4. Voice over IP Connections
      2. Determining Our Needs
    2. Terminal Equipment
      1. Types of Terminal Devices
        1. Hard Phones
        2. H.323
        3. SIP
        4. IAX
        5. Soft Phones
        6. Communications Devices
        7. Another PBX
      2. Choosing a Device
        1. Features, Features, and More Features...
        2. Requirement Elicitation
        3. Requirement Prioritization
        4. Requirement Documentation
        5. Phone Testing
        6. Determining True Cost
        7. Compatibility with Asterisk
        8. Sound Quality Analysis
        9. Usability Issues
      3. Recording Decisions
    3. How Much Hardware do I Need?
    4. Choosing the Extension Length
    5. Summary
  8. 3. Installing Asterisk
    1. Preparing to Install Asterisk
    2. Obtaining the Source Files
    3. Installing Zaptel
    4. Installing libpri
    5. Installing Asterisk
    6. Getting to Know Asterisk
    7. Summary
  9. 4. Configuring Asterisk
    1. Zaptel Interfaces
      1. zaptel.conf
        1. Lines
        2. Terminals
      2. zapata.conf
        1. Lines
        2. Terminals
    2. SIP Interfaces
    3. IAX Interfaces
    4. Voicemail
    5. Music On Hold
    6. Queues
    7. Conference Rooms
    8. Summary
  10. 5. Creating a Dialplan
    1. Creating a Context
    2. Creating an Extension
    3. Creating Outgoing Extensions
    4. Advanced Call Distribution
      1. Call Queues
      2. Call Parking
      3. Direct Inward Dialing (DID)
    5. Automated Attendants
    6. System Services
    7. Summary
  11. 6. Quality Assurance
    1. Call Detail Records
      1. Flat-File CDR Logging
      2. Database CDR Logging
    2. Monitoring Calls
    3. Recording Calls
    4. Legal Concerns
    5. Summary
  12. 7. Asterisk@Home
    1. CentOS
    2. Preparation and Installation
      1. The Asterisk Management Portal (AMP)
        1. Maintenance
        2. Setup
        3. Flash Operator Panel (FOP)
        4. Flash Operator Configuration Files
      2. Web MeetMe
      3. Flexibility When Needed
    3. A Simple One-to-One PBX
      1. Extensions
      2. Trunks
      3. Routes
    4. Customer Relationship Management/SugarCRM
      1. Adding Contacts
      2. Call Scheduling
      3. Administration of SugarCRM
        1. Configure Settings
        2. User Management
      4. User Roles
    5. Summary
  13. 8. Case Studies
    1. Small Office/Home Office
      1. The Scenario
      2. The Discussion
      3. The Configuration
        1. zaptel.conf
        2. zapata.conf
        3. musiconhold.conf
        4. voicemail.conf
        5. modules.conf
        6. extensions.conf
      4. Conclusions
    2. Small Business
      1. The Scenario
      2. The Discussion
      3. The Configuration
        1. zaptel.conf
        2. zapata.conf
        3. musiconhold.conf
        4. agents.conf
        5. queues.conf
        6. sip.conf
        7. meetme.conf
        8. voicemail.conf
        9. extensions.conf
      4. Conclusions
    3. Hosted PBX
      1. The Scenario
      2. The Discussion
      3. The Configuration
        1. zaptel.conf
        2. zapata.conf
        3. musiconhold.conf
        4. sip.conf
        5. voicemail.conf
        6. extensions.conf
      4. Conclusions
    4. Summary
  14. 9. Maintenance and Security
    1. Backup and System Maintenance
      1. Backing Up Configurations
      2. Backing Up Voice Data
      3. Backing Up Log Files
        1. Backup Scripts
      4. Time Synchronization
        1. Adding It All to cron
      5. Rebuilding and Restoring the Asterisk Server
      6. Disaster Recovery Plan (DRP)
    2. Asterisk Server Security
      1. Internal Access Control
    3. Host Security Hardening for Asterisk
      1. Integrity Checker
      2. Root-Kit Detection
      3. Automated Hardening
      4. Role Based Access Control (RBAC)
    4. Network Security for Asterisk
      1. Firewalling the Asterisk Protocols
        1. SIP (Session Initiation Protocol)
        2. H.323
        3. IAX
        4. RTP—The Real-Time Transport Protocol
      2. Controlling Administration of Asterisk
    5. Asterisk Scalability
      1. Load Balancing with DNS
    6. Support Channels for Asterisk
      1. Mailing Lists
      2. Forums
      3. IRC (Internet Relay Chat)
      4. Digium
    7. Summary