Asterisk TM the definitive guide

Design a complete Voice over IP (VoIP) or traditional PBX system with Asterisk, even if you have only basic telecommunications knowledge. This bestselling guide makes it easy, with a detailed roadmap that shows you how to install and configure this open source software, whether you’re upgrading your...

Descripción completa

Detalles Bibliográficos
Autor principal: Bryant, Russell (-)
Otros Autores: Madsen, Leif, Meggelen, Jim Van
Formato: Libro electrónico
Idioma:Inglés
Publicado: Sebastopol : O'Reilly 2013.
Edición:Fourth edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628059506719
Tabla de Contenidos:
  • Intro
  • Copyright
  • Table of Contents
  • Foreword
  • Matt Jordan (Engineering Manager, Digium)
  • Alex Balashov (Principal, Evariste Systems)
  • Kevin McAllister (VP of Engineering, CoreDial, LLC)
  • Brian Capouch (Computer Science Department, Saint Joseph's College [Indiana])
  • Preface
  • Audience
  • Organization
  • Software
  • Conventions Used in This Book
  • Using Code Examples
  • Safari® Books Online
  • How to Contact Us
  • Acknowledgments
  • Leif Madsen
  • Jim Van Meggelen
  • Russell Bryant
  • Chapter 1. A Telephony Revolution
  • Asterisk and VoIP: Bridging the Gap Between Traditional and Network Telephony
  • The Zapata Telephony Project
  • Massive Change Requires Flexible Technology
  • Asterisk: The Hacker's PBX
  • Asterisk: The Professional's PBX
  • The Asterisk Community
  • The Asterisk Mailing Lists
  • Asterisk Wiki Sites
  • The IRC Channels
  • Asterisk User Groups
  • The Asterisk Documentation Project
  • The Business Case
  • Conclusion
  • Chapter 2. Asterisk Architecture
  • Modules
  • Applications
  • Bridging Modules
  • Call Detail Recording Modules
  • Channel Event Logging Modules
  • Channel Drivers
  • Codec Translators
  • Format Interpreters
  • Dialplan Functions
  • PBX Modules
  • Resource Modules
  • Add-on Modules
  • Test Modules
  • File Structure
  • Configuration Files
  • Modules
  • The Resource Library
  • The Spool
  • Logging
  • The Dialplan
  • Hardware
  • Asterisk Versioning
  • Previous Release Methodologies
  • The Current Release Methodology
  • Simplifying the Version Numbers
  • Conclusion
  • Chapter 3. Installing Asterisk
  • Installation Cheat Sheet
  • Distribution Installation
  • RHEL Server
  • Ubuntu Server
  • Software Dependencies
  • Downloading What You Need
  • Getting the Source via Subversion
  • Getting the Source via wget
  • How to Install It
  • DAHDI
  • LibPRI
  • Asterisk
  • Setting File Permissions.
  • Base Configuration
  • Initial Configuration
  • make menuselect
  • Updating Asterisk
  • Common Issues
  • -bash: wget: command not found
  • configure: error: no acceptable C compiler found in PATH
  • make: gcc: command not found
  • configure: error: C++ preprocessor "/lib/cpp" fails sanity check
  • configure: error: *** Please install GNU make. It is required to build Asterisk!
  • configure: *** XML documentation will not be available because the 'libxml2' development package is missing.
  • configure: error: *** termcap support not found
  • You do not appear to have the sources for the 2.6.18-164.6.1.el5 kernel installed.
  • E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
  • Upgrading Asterisk
  • Conclusion
  • Chapter 4. Initial Configuration Tasks
  • asterisk.conf
  • The [directories] Section
  • The [options] Section
  • The [files] Section
  • The [compat] Section
  • modules.conf
  • The [modules] Section
  • indications.conf
  • musiconhold.conf
  • Converting Music to a Format That Works Best with Asterisk
  • Default musiconhold.conf file
  • Additional Configuration Files
  • Conclusion
  • Chapter 5. User Device Configuration
  • Telephone Naming Concepts
  • Hardphones, Softphones, and ATAs
  • Configuring Asterisk
  • How Channel Configuration Files Work with the Dialplan
  • sip.conf
  • iax.conf
  • Modifying Your Channel Configuration Files for Your Environment
  • Digium Phones with Asterisk
  • Loading Your New Channel Configurations
  • The Asterisk CLI
  • Testing to Ensure Your Devices Have Registered
  • Analog Phones
  • A Basic Dialplan to Test Your Devices
  • Under the Hood: Your First Call
  • Conclusion
  • Chapter 6. Dialplan Basics
  • Dialplan Syntax
  • Contexts
  • Extensions
  • Priorities
  • Applications
  • The Answer(), Playback(), and Hangup() Applications
  • A Simple Dialplan.
  • Hello World
  • Building an Interactive Dialplan
  • The Goto(), Background(), and WaitExten() Applications
  • Handling Invalid Entries and Timeouts
  • Using the Dial() Application
  • Using Variables
  • Pattern Matching
  • Includes
  • Conclusion
  • Chapter 7. Outside Connectivity
  • The Basics of Trunking
  • Fundamental Dialplan for Outside Connectivity
  • PSTN Circuits
  • Traditional PSTN Trunks
  • Installing PSTN Trunks
  • VoIP
  • Coping with Network Address Translation
  • PSTN Termination
  • PSTN Origination
  • VoIP to VoIP
  • Configuring VoIP Trunks
  • Emergency Dialing
  • Conclusion
  • Chapter 8. Voicemail
  • Comedian Mail
  • The [general] Section
  • The [zonemessages] Section
  • The Contexts Section
  • An Initial voicemail.conf File
  • Standard Voicemail KeyMap
  • Dialplan Integration
  • The VoiceMail() Dialplan Application
  • The VoiceMailMain() Dialplan Application
  • Creating a Dial-by-Name Directory
  • Using a Jitterbuffer
  • Storage Backends
  • Linux Filesystem
  • ODBC
  • IMAP
  • Using Asterisk as a Standalone Voicemail Server
  • Integrating Asterisk into a SIP Environment as a Standalone Voicemail Server
  • SMDI (Simplified Message Desk Interface)
  • Database Integration
  • Conclusion
  • Chapter 9. Internationalization
  • Devices External to the Asterisk Server
  • PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
  • DAHDI Drivers
  • Asterisk
  • Caller ID
  • Language and/or Accent of Prompts
  • Time/Date Stamps and Pronunciation
  • Conclusion-Easy Reference Cheat Sheet
  • Chapter 10. Deeper into the Dialplan
  • Expressions and Variable Manipulation
  • Basic Expressions
  • Operators
  • Dialplan Functions
  • Syntax
  • Examples of Dialplan Functions
  • Conditional Branching
  • The GotoIf() Application
  • Time-Based Conditional Branching with GotoIfTime()
  • Macros
  • Defining Macros
  • Calling Macros from the Dialplan.
  • Using Arguments in Macros
  • GoSub
  • Defining Subroutines
  • Calling Subroutines from the Dialplan
  • Using Arguments in Subroutines
  • Returning from a Subroutine
  • Local Channels
  • Using the Asterisk Database (AstDB)
  • Storing Data in the AstDB
  • Retrieving Data from the AstDB
  • Deleting Data from the AstDB
  • Using the AstDB in the Dialplan
  • Creating a Hot-Desking Application with AstDB
  • Handy Asterisk Features
  • Zapateller()
  • Call Parking
  • Conferencing with MeetMe()
  • Conferencing with ConfBridge()
  • Conclusion
  • Chapter 11. Parking, Paging, and Conferencing
  • features.conf
  • The [general] section
  • The [featuremap] Section
  • The [applicationmap] Section
  • Application Map Grouping
  • Parking Lots
  • Overhead and "Underchin" Paging (a.k.a. Public Address)
  • Places to Send Your Pages
  • Zone Paging
  • Advanced Conferencing
  • The [general] Section
  • Options for User Profiles
  • Options for Bridge Profiles
  • ConfBridge Menu Options
  • Enabling a PIN
  • Waiting for the Marked User to Join
  • Using ConfBridge() Menus
  • Enabling Videoconferencing
  • Conclusion
  • Chapter 12. Internet Call Routing
  • DNS and SIP URIs
  • The SIP URI
  • SRV Records
  • Accepting Calls to Your System
  • Dialing SIP URIs from Asterisk
  • ENUM and E.164
  • E.164 and the ITU
  • ENUM
  • Asterisk and ENUM
  • ISN, ITAD, and freenum.org
  • Got ISN?
  • ITAD Subscriber Numbers (ISNs)
  • Management of Internet Numbering
  • IP Telephony Administrative Domains (ITADs)
  • Create a DNS Entry for Your ITAD
  • Testing Your ITAD
  • Using ISNs in Your Asterisk System
  • Security and Identity
  • Toll Fraud
  • Spam over Internet Telephony (SPIT)
  • Distributed Denial of Service Attacks
  • Phishing
  • Security Is an Ongoing Process
  • Conclusion
  • Chapter 13. Automatic Call Distribution (ACD) Queues
  • Creating a Simple ACD Queue
  • Queue Members.
  • Controlling Queue Members via the CLI
  • Defining Queue Members in the queues.conf File
  • Controlling Queue Members with Dialplan Logic
  • Automatically Logging Into and Out of Multiple Queues
  • An Introduction to Device State
  • The queues.conf File
  • The agents.conf File
  • Advanced Queues
  • Priority Queue (Queue Weighting)
  • Queue Member Priority
  • Changing Penalties Dynamically (queuerules.conf)
  • Announcement Control
  • Overflow
  • Using Local Channels
  • Queue Statistics: The queue_log File
  • Conclusion
  • Chapter 14. Device States
  • Device States
  • Checking Device States
  • Extension States
  • Hints
  • Checking Extension States
  • SIP Presence
  • Asterisk Configuration
  • Using Custom Device States
  • An Example
  • Distributed Device States
  • Using Corosync
  • Using XMPP
  • Shared Line Appearances
  • Installing the SLA Applications
  • Configuration Overview
  • Key System Example with Analog Trunks
  • Key System Example with SIP Trunks
  • Alternate Key System Example with SIP Trunks
  • Shared Extension Example
  • Additional Configuration
  • Limitations
  • Creating a Callback Service
  • Conclusion
  • Chapter 15. The Automated Attendant
  • An Auto Attendant Is Not an IVR
  • Designing Your Auto Attendant
  • The Greeting
  • The Main Menu
  • Timeout
  • Invalid
  • Dial by Extension
  • Building Your Auto Attendant
  • Recording Prompts
  • The Dialplan
  • Delivering Incoming Calls to the Auto Attendant
  • IVR
  • Conclusion
  • Chapter 16. Relational Database Integration
  • Installing and Configuring PostgreSQL and MySQL
  • Installing PostgreSQL for RHEL
  • Installing PostgreSQL for Ubuntu
  • Installing MySQL for RHEL
  • Installing MySQL for Ubuntu
  • Configuring PostgreSQL
  • Configuring MySQL
  • Installing and Configuring ODBC
  • Configuring ODBC for PostgreSQL
  • Configuring ODBC for MySQL
  • Configuring ODBC for Microsoft SQL.
  • Validating the ODBC Connector.