Index
A
- access control lists (ACLs), Other Risk Mitigation
- account scanning, Scanning for Valid Accounts
- ACD queues, Database Integration of ACD Queues
- Alembic, Initial Configuration
- analog telephony, Analog telephony, Devices External to the Asterisk Server
- Analog Terminal Adaptors (ATAs)
- Ansible playbooks, Dependencies
- application map groupings, Application Map Grouping
- applications
- AddQueueMember(), Controlling Queue Members with Dialplan Logic, Using Local Channels
- AGI(), Process-Based AGI
- Answer(), Extensions, The Answer(), Playback(), and Hangup() Applications
- Background(), The Goto(), Background(), and WaitExten() Applications
- ConfBridge(), Conferencing with ConfBridge(), Advanced Conferencing
- Congestion(), Using Local Channels
- Dial(), Using the Dial() Application, features.conf
- GoSub(), GoSub
- Goto(), The Goto(), Background(), and WaitExten() Applications
- GotoIf(), The GotoIf() Application-The GotoIf() Application
- GotoIfTime(), Time-Based Conditional Branching with GotoIfTime()
- Hangup(), Priorities, The Answer(), Playback(), and Hangup() Applications
- Page(), Paging (aka Public Address)
- PauseQueueMember(), Controlling Queue Members with Dialplan Logic
- Playback(), The Answer(), Playback(), and Hangup() Applications
- Progress(), The Answer(), Playback(), and Hangup() Applications
- Queue(), features.conf, Creating a Simple ACD Queue, Controlling timeouts, Storing Dialplan Parameters for a Queue in a Database
- Read(), Components of an IVR
- Record(), Using the dialplan to create recordings
- RemoveQueueMember(), Controlling Queue Members with Dialplan Logic
- SayDigits(), Using the ${EXTEN} channel variable
- Set(), Application Map Grouping
- Stasis(), Stasis
- UnpauseQueueMember(), Controlling Queue Members with Dialplan Logic
- VoiceMail(), The VoiceMail() Dialplan Application
- VoiceMailMain(), The VoiceMailMain() Dialplan Application
- WaitExten(), The Goto(), Background(), and WaitExten() Applications
- working with
- architecture
- Asterisk versus traditional PBXs, Asterisk Architecture, Outside Connectivity
- dialplan, The Dialplan
- file structure
- hardware, Hardware
- modules
- add-on modules, Add-on Modules
- applications, Applications
- bridging modules, Bridging Modules
- CDR modules, Call Detail Recording Modules
- channel drivers, Channel Drivers
- channel event logging (CEL), Channel Event Logging Modules
- codec translators, Codec Translators
- dialplan functions, Dialplan Functions
- format interpreters, Format Interpreters
- official list of support status for, Modules
- PBX modules, PBX Modules
- purpose of, Modules
- resource modules, Resource Modules
- test modules, Test Modules
- types of, Modules
- release methodology/versioning, Asterisk Versioning
- Asterisk
- Asterisk versus traditional PBXs, Asterisk Architecture, Outside Connectivity
- benefits of, Preface, A Telephony Revolution
- community support, The Asterisk Community, Resources
- development of, Massive Change Requires Flexible Technology
- drawbacks of, A Telephony Revolution
- future of, A Telephony Revolution, Asterisk: A Future for Telephony
- installation
- open-source roots of, Asterisk: The Hacker’s PBX
- release methodology/versioning, Asterisk Versioning
- versions covered, Software
- wide-spread use of, Asterisk: The Professional’s PBX
- Asterisk database (AstDB)
- Asterisk extensions
- Asterisk Gateway Interface (AGI)
- Asterisk Manager Interface (AMI)
- Asterisk packages, Installing Asterisk
- Asterisk Realtime Architecture (ARA)
- Asterisk REST Interface (ARI)
- asterisk shell command, The Asterisk Shell Command
- Asterisk Test Suite, Test Modules
- Asterisk-based projects
- Async AGI (AMI-Controlled AGI)
- authentication, Testing to
Ensure Your Devices Have Registered, Authentication and session handling, Authentication Weaknesses
- autocomplete, Download and Prerequisites
- automated attendant (AA)
- automatic call distribution (ACD)
- advanced queues
- creating simple ACD queues
- autofill option, Creating a Simple ACD Queue
- dialplan configuration, Creating a Simple ACD Queue
- leavewhenempty option, Creating a Simple ACD Queue
- members and agents in, Creating a Simple ACD Queue
- parameters, Creating a Simple ACD Queue
- queue placement, Creating a Simple ACD Queue
- queues.conf file, Creating a Simple ACD Queue
- ringinuse option, Creating a Simple ACD Queue
- saving/reloading queue configuration, Creating a Simple ACD Queue
- strategies, Creating a Simple ACD Queue
- importance of well-managed queues, Automatic Call Distribution Queues
- purpose of, Automatic Call Distribution Queues
- queue members
B
- B2BUA (Back to Back User Agents), Under the Hood: Your First Call
- baluns, PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
- BLF (Busy Lamp Field), Extension States Using the hint Directive, SIP Presence
- BNC connectors, PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
- Boolean operators, Operators
- bridging modules, Bridging Modules
- BT plug, PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
C
- calendar systems, Calendar integration
- Call Centers, Database Integration of ACD Queues
- call detail records (CDRs)
- alternatives to, Channel Event Logging
- backends, Backends-cdr_syslog
- CDR contents, CDR Contents
- cdr.conf file, cdr.conf
- dialplan applications, Dialplan Applications
- drawbacks of, Caveats
- example CDR records, Example Call Detail Records
- purpose of, Call Detail Recording Modules
- setting systemname for Globally Unique IDs, Storing Call Detail Records
- storing, Storing Call Detail Records-Storing Call Detail Records
- uses for, Call Detail Records
- call files, Call Files
- call limits, Other Risk Mitigation
- call parking, Call Parking
- call queuing (see automatic call distribution (ACD))
- caller ID, Caller ID
- CentOS installation
- Certbot, LetsEncrypt certificates
- certificate authorities, Purchasing certificates from a formal certificate
authority
- certificates for endpoint security
- channel configuration
- channel drivers, Channel Drivers
- channel event logging (CEL) modules
- channel variables, Channel variables
- chan_sip module, chan_pjsip
- code examples, obtaining and using, Installing Asterisk
- codec translators, Codec Translators
- comebacktoorigin option, Call Parking
- Comedian Mail, Voicemail
- comments and questions, How to Contact Us
- community.asterisk.org (Asterisk forum), Asterisk’s Discourse-Based Community Site
- conditional branching
- conditional syntax, The GotoIf() Application
- conference calls
- configuration (see user device configuration)
- configuration backends, Configuration backends
- configuration files
- contexts
- copy-paste operations, Installing Asterisk
- core show application Queue command, Storing Dialplan Parameters for a Queue in a Database
- Cyber Mega Phone, Cyber Mega Phone
D
- DAHDI drivers, DAHDI Drivers
- database integration
- device configuration (see user device configuration)
- device states
- dial by extension, Dial by Extension
- dialing 911, Emergency Dialing
- dialplan advanced features
- Asterisk database (AstDB)
- conditional branching
- conferencing with ConfBridge(), Conferencing with ConfBridge(), Advanced Conferencing
- dialplan best practices, Expressions and Variable Manipulation
- dialplan functions
- ARRAY(), Getting Funky with func_odbc: Hot-Desking
- CALLERID, CALLERID()
- CDR(), CDR Contents
- CHANNEL, CHANNEL()
- CURL (), CURL()
- CURL(), A Simple IVR Using CURL()
- CUT, CUT()
- examples of, Examples of Dialplan Functions
- FILTER(), Dialplan Vulnerabilities
- func_odbc, Powering Your Dialplan with func_odbc
- GROUP(), Other Risk Mitigation
- GROUP_COUNT(), Other Risk Mitigation
- IF (and STRFTIME), IF() and STRFTIME()
- LEN, LEN()
- ODBC_ANIBLOCK(), A Gentle Introduction to func_odbc
- ODBC_FETCH, Getting Funky with func_odbc: Hot-Desking
- purpose of, Dialplan Functions
- REGEX, REGEX()
- STRFTIME, STRFTIME()
- syntax, Syntax
- dynamic feature-map creation, The [applicationmap] Section
- expressions and variable manipulation
- GoSub() dialplan application
- local channels
- dialplan basics
- basic dialplan for device testing, A Basic Dialplan to Test Your Devices
- building interactive dialplans
- advanced digit manipulation, Using the ${EXTEN} channel variable
- Goto(), Background(), and WaitExten()
applications, The Goto(), Background(), and WaitExten() Applications
- handling invalid entries and timeouts, Handling Invalid Entries and Timeouts
- include statement, Includes
- NANP and toll fraud, North American Numbering Plan—pattern-matching examples
- pattern matching, Pattern Matching-Using the ${EXTEN} channel variable
- using Dial() Application, Using the Dial() Application
- using variables, Using Variables
- channel configuration, How Channel Configuration Works with the Dialplan
- dialplan functions, Dialplan Functions
- dialplan purpose, The Dialplan, Dialplan Basics
- dialplan syntax
- Answer(), Playback(), and Hangup() applications, The Answer(), Playback(), and Hangup() Applications
- applications, Applications
- basic dialplan prototype, A Basic Dialplan Prototype
- contexts, Contexts
- extensions, Extensions
- extensions.conf file, Dialplan Syntax
- hierarchical components, Dialplan Syntax
- priorities, Priorities
- Hello World example, Hello World
- popular dialplan applications, Applications
- security vulnerabilities, Dialplan Vulnerabilities
- digital signal processing (DSP), The Zapata Telephony Project
- DigitalOcean, Linux (OpenStack) Host
- Digium Asterisk Hardware Device Interface (DAHDI), Hardware, PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
- Dixon, Jim, The Zapata Telephony Project
- domain validation (DV) digital certificates, LetsEncrypt certificates
- DTMF-based features, features.conf
E
- EAGI (Enhanced AGI), EAGI
- Electronic Frontier Foundation (EFF), LetsEncrypt certificates
- email, Voicemail to Email
- emergency calls, Emergency Dialing
- endpoint security
- environment variables, Environment variables
- extended validation (EV), Purchasing certificates from a formal certificate
authority
- extension numbers, Telephone Naming Concepts
- extension states, Extension States Using the hint Directive
- extensions (see Asterisk extensions)
- Extra Sound Package, The Answer(), Playback(), and Hangup() Applications
F
- Fail2ban
- FastAGI (AGI over TCP)
- features.conf
- application map groupings, Application Map Grouping
- copying from installation directory, PBX Features, Including Parking, Paging, and Conferencing
- DTMF-based features, features.conf
- dynamic feature-map creation, The [applicationmap] Section
- purpose of, features.conf
- [applicationmap] section, The [applicationmap] Section
- [featuremap] section, The [featuremap] Section
- [general] section, The [general] Section
- file structure
- firewalls, Firewall Tweaks, Network Address Translation, Fail2ban
- Foreign eXchange Office (FXO), Analog telephony, Internationalization, Devices External to the Asterisk Server
- Foreign eXchange Station (FXS), Analog telephony
- format interpreters, Format Interpreters
- functions
- ARRAY(), Getting Funky with func_odbc: Hot-Desking
- CALLERID, CALLERID()
- CDR(), CDR Contents
- CHANNEL, CHANNEL()
- CURL (), CURL()
- CURL(), A Simple IVR Using CURL()
- CUT, CUT()
- DEVICE_STATE(), Checking Device States
- EXTENSION_STATE(), Checking Extension States
- FILTER(), Dialplan Vulnerabilities
- func_odbc, Powering Your Dialplan with func_odbc
- GROUP(), Other Risk Mitigation
- GROUP_COUNT(), Other Risk Mitigation
- IF (and STRFTIME), IF() and STRFTIME()
- LEN, LEN()
- ODBC_ANIBLOCK(), A Gentle Introduction to func_odbc
- ODBC_FETCH(), Getting Funky with func_odbc: Hot-Desking
- REGEX, REGEX()
- STRFTIME, STRFTIME()
- working with
- func_odbc dialplan function
H
- hardphones
- hardware
- Hello World, Hello World
- hint directive, Hints
- hot-desking feature
I
- include statement, Includes
- injection vulnerabilities, Dialplan Vulnerabilities
- installation
- Interactive Voice Response (IVR)
- components of, Components of an IVR
- design considerations, IVR Design Considerations
- example of, Components of an IVR
- IVR versus automated voice attendant, Introduction to Interactive Voice Response
- modules for building IVRs, Asterisk Modules for Building IVRs
- prompt-recording IVR function, A Prompt-Recording IVR Function
- purpose of, Introduction to Interactive Voice Response
- Read() application, Components of an IVR
- simple IVR using CURL, A Simple IVR Using CURL()
- speech recognition and text-to-speech, Speech Recognition and Text-to-Speech
- internationalization
- Internet Security Research Group (ISRG), LetsEncrypt certificates
- invalid entries, Handling Invalid Entries and Timeouts
- IRC channels, The IRC Channels
M
- MAC addresses, Telephone Naming Concepts
- mailing lists, The Asterisk Mailing Lists
- make samples command, Sample Configuration Files for Future Reference
- manager encoding, /manager (/amanager) encoding
- mathematical operators, Operators
- MD5 challenge-and-response mechanism, Authentication Weaknesses
- media streams
- modules
- add-on modules, Add-on Modules
- applications, Applications
- app_voicemail.so, Voicemail
- bridging modules, Bridging Modules
- CDR backends, Backends
- CDR modules, Call Detail Recording Modules
- channel drivers, Channel Drivers
- channel event logging (CEL), Channel Event Logging Modules
- codec translators, Codec Translators
- dialplan functions, Dialplan Functions
- file structure for, Modules
- format interpreters, Format Interpreters
- IVR building, Asterisk Modules for Building IVRs
- official list of support status for, Modules
- PBX modules, PBX Modules
- purpose of, Modules
- resource modules, Resource Modules
- test modules, Test Modules
- types of, Modules
- monitoring and logging
- MulticastRTP channel, Multicast paging via the MulticastRTP channel
- mxml encoding, /mxml (/amxml) encoding
- MySQL database
- MySQL Workbench, Managing Databases
N
- Navicat, Managing Databases
- network address translation (NAT)
- North American Numbering Plan (NANP)
P
- package-management systems, Installing Asterisk
- parking and paging
- passwords
- pattern matching
- peer-to-peer protocol, User Device Configuration
- permit and deny options, Other Risk Mitigation
- phpMyAdmin, Managing Databases
- PJSIP channel module, Final Tweaks, chan_pjsip-Adding an endpoint
- Primary Rate Interfaces (PRIs), PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
- priorities
- private branch exchanges (PBXs)
- advanced conferencing
- Asterisk versus traditional PBXs, Asterisk Architecture, Telephone Naming Concepts
- ensuring flexibility in, Telephone Naming Concepts
- features.conf
- application map groupings, Application Map Grouping
- copying from installation directory, PBX Features, Including Parking, Paging, and Conferencing
- DTMF-based features, features.conf
- dynamic feature-map creation, The [applicationmap] Section
- purpose of, features.conf
- [applicationmap] section, The [applicationmap] Section
- [featuremap] section, The [featuremap] Section
- [general] section, The [general] Section
- most successful, A Telephony Revolution
- parking and paging
- PBX modules, PBX Modules
- shortcomings of, Massive Change Requires Flexible Technology
- prompts
- public address system, Parking and Paging
- Public Safety Answering Points (PSAP), Emergency Dialing
- Public Switched Telephone Network (PSTN)
- public switched telephone network (PSTN)
R
- rawman encoding, /rawman (/arawman) encoding
- redirecting calls, Redirecting a Call
- registration
- regular expression operator, Operators
- resource library, The Resource Library
- resource modules, Resource Modules
- RJ45 connections, PSTN Connectivity, DAHDI, Digium Cards, and Analog Phones
- RTP (Real Time Protocol), Securing Media
S
- safe_asterisk script, safe_asterisk
- sample configuration files, Compiling and Installing, Sample Configuration Files for Future Reference, Dialplan Syntax
- security
- account scanning intrusion attempts, Scanning for Valid Accounts
- authentication weaknesses, Authentication Weaknesses
- certificates for endpoint security
- challenges of VoIP security, The Inconvenience of Security
- configuring call limits, Other Risk Mitigation
- dialplan vulnerabilities, Dialplan Vulnerabilities
- encrypted media, Encrypted Media
- Fail2ban
- need for diligence regarding, Conclusion—A Better Idiot
- non-numeric VoIP account names, Scanning for Valid Accounts
- permit and deny options, Other Risk Mitigation
- provided by contexts, Contexts
- securing Asterisk network APIs, Securing Asterisk Network APIs
- security advisory documents, Resources
- SIPVicious audit tool, Resources
- SQL injection attacks, SQL Injection
- strong passwords, Authentication Weaknesses
- validation of voicemail passwords, The [general] Section
- self-signed certificates, Self-signed certificates
- SELinux, SELinux Tweaks
- server-based provisioning, User Device Configuration
- session handling, Authentication and session handling
- set provisioning, User Device Configuration
- SIP (Session Initiation Protocol)
- certificates for endpoint security
- firewall tweaks during installation, Firewall Tweaks
- user device configuration
- SIPVicious audit tool, Resources
- softphones
- sound files, The Answer(), Playback(), and Hangup() Applications
- speech recognition, Speech Recognition and Text-to-Speech
- speech synthesis, Speech Recognition and Text-to-Speech
- spool, The Spool
- subroutines
- sudo make samples command, Sample Configuration Files for Future Reference
- Swagger (OpenAPI Specification), Working with Your ARI Environment Using Swagger
U
- unified messaging, IMAP
- user device configuration
- Asterisk extensions, Telephone Naming Concepts
- basic dialplan for device testing, A Basic Dialplan to Test Your Devices
- configuring Asterisk
- hardphones, softphones, and ATAs, Hardphones, Softphones, and ATAs
- overview of, User Device Configuration
- registering devices to Asterisk, A Basic Dialplan to Test Your Devices
- set provisioning and, User Device Configuration
- SIP and, User Device Configuration
- SIP dialogs occurring, Under the Hood: Your First Call
- SIP endpoints, User Device Configuration
- telephone naming concepts, Telephone Naming Concepts
- testing device registration, Testing to
Ensure Your Devices Have Registered
V
- validation
- variables
- video conferencing, Video Conferencing
- voicemail
- VoIP (Voice over Internet Protocol)
W
- WAV file format, Recording Prompts
- WebRTC
- additional resources, More About WebRTC
- configuring Asterisk for, Configuring Asterisk for WebRTC
- Cyber Mega Phone example, Cyber Mega Phone
- future uses for, A Telephony Revolution, Hardphones, Softphones, and ATAs, WebRTC
- purpose of, The Browser as a Telephone
- recommendations for using, Preliminary Knowledge
- wiki sites, Asterisk Wiki Sites
- wiki.asterisk.org (Asterisk wiki site), Asterisk Wiki Sites
- www.voip-info.org (Asterisk wiki site), Asterisk Wiki Sites
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.