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...
Autor principal: | |
---|---|
Otros Autores: | , |
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.