Asterisk 1.4 : The Professional’s Guide
()
About this ebook
Related to Asterisk 1.4
Related ebooks
VLAN A Complete Guide Rating: 0 out of 5 stars0 ratingsApache Spark Machine Learning Blueprints Rating: 0 out of 5 stars0 ratingsRemote Desktop Services Second Edition Rating: 0 out of 5 stars0 ratingsMastering Microsoft Exchange Server 2016 Rating: 0 out of 5 stars0 ratingsWi-Fi Integration to the 4G Mobile Network Rating: 0 out of 5 stars0 ratingsMastering FreeSWITCH Rating: 0 out of 5 stars0 ratingsMobile Learning Smartphones A Complete Guide Rating: 0 out of 5 stars0 ratingsIBM RPG A Complete Guide Rating: 0 out of 5 stars0 ratingsMicrosoft System Center Orchestrator 2012 R2 Essentials Rating: 0 out of 5 stars0 ratingsAccess 2013 All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsOpenFlow Cookbook Rating: 5 out of 5 stars5/5Voice and Video Over IP Rating: 5 out of 5 stars5/5Wireshark Second Edition Rating: 0 out of 5 stars0 ratingsThe iSeries and AS/400 Programmer's Guide to Cool Things Rating: 3 out of 5 stars3/5Asterisk 1.4 - The Professional's Guide: Implementing, Administering, and Consulting on Commercial IP Telephony Solutions Rating: 0 out of 5 stars0 ratingsAsteriskNOW Rating: 0 out of 5 stars0 ratingsAsterisk 1.6 Rating: 0 out of 5 stars0 ratingsTrixbox Ce 2.6 Rating: 0 out of 5 stars0 ratingsConfiguring IPCop Firewalls: Closing Borders with Open Source Rating: 0 out of 5 stars0 ratingsFreePBX 2.5 Powerful Telephony Solutions Rating: 0 out of 5 stars0 ratingsSix Minute Guide to IPv6 Rating: 5 out of 5 stars5/5(No) Value in Unified Communications: There is no value in Unified Communications without a lean approach Rating: 0 out of 5 stars0 ratingsBuilding Telephony Systems with OpenSER Rating: 0 out of 5 stars0 ratingsSystems Programming with C# and .NET: Building robust system solutions with C# 12 and .NET 8 Rating: 0 out of 5 stars0 ratingsComputer Jargon: The Illustrated Glossary of Basic Computer Terminology Rating: 0 out of 5 stars0 ratingsTrixBox Made Easy: A step-by-step guide to installing and running your home and office VoIP system Rating: 0 out of 5 stars0 ratings
Information Technology For You
Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Data Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5Summary of Super-Intelligence From Nick Bostrom Rating: 4 out of 5 stars4/5Algorithms to Live By: The Computer Science of Human Decisions Rating: 4 out of 5 stars4/5ISO 21500 Guidance on project management - A Pocket Guide Rating: 0 out of 5 stars0 ratingsSolution Architecture Foundations Rating: 3 out of 5 stars3/5Excel VBA: A Step-By-Step Tutorial For Beginners To Learn Excel VBA Programming From Scratch: 1 Rating: 4 out of 5 stars4/5Introduction to Business Analysis Rating: 0 out of 5 stars0 ratingsPersonal Knowledge Graphs: Connected thinking to boost productivity, creativity and discovery Rating: 0 out of 5 stars0 ratingsDesign and Build Modern Datacentres, A to Z practical guide Rating: 3 out of 5 stars3/5The Tetris Effect: The Cold War Battle for the World's Most Addictive Game Rating: 3 out of 5 stars3/5Inkscape Beginner’s Guide Rating: 5 out of 5 stars5/5CompTIA ITF+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam FC0-U61 Rating: 5 out of 5 stars5/5AI Ethics Unleashed Rating: 0 out of 5 stars0 ratingsAgile for Non-Software Teams Rating: 5 out of 5 stars5/5Big Data (Review and Analysis of Mayer-Schonberger and Cukier's Book) Rating: 0 out of 5 stars0 ratingsLearn Algorithmic Trading: Build and deploy algorithmic trading systems and strategies using Python and advanced data analysis Rating: 0 out of 5 stars0 ratingsSpreadsheets To Cubes (Advanced Data Analytics for Small Medium Business): Data Science Rating: 0 out of 5 stars0 ratingsQuantum Computing for Programmers and Investors: with full implementation of algorithms in C Rating: 5 out of 5 stars5/5Unity Game Development Essentials Rating: 5 out of 5 stars5/5AWS Certified Cloud Practitioner: Study Guide with Practice Questions and Labs Rating: 5 out of 5 stars5/5IT GOVERNANCE APPROACHES FOR AGILE SOFTWARE DEVELOPMENT INVESTMENTS Rating: 4 out of 5 stars4/5AWS FinOps Simplified: Eliminate cloud waste through practical FinOps Rating: 0 out of 5 stars0 ratingsGetting started with Audacity 1.3 Rating: 5 out of 5 stars5/5PMO Evaluations Rating: 4 out of 5 stars4/5
Reviews for Asterisk 1.4
0 ratings0 reviews
Book preview
Asterisk 1.4 - Colman Carpenter
Table of Contents
Asterisk 1.4
Credits
Foreword
About the Authors
About the Reviewers
Preface
Reviewing the basics
No compromise
What this book covers
Onwards
Conventions
Reader feedback
Customer support
Downloading the example code for the book
Errata
Piracy
Questions
1. The Dialplan
Dialplan location
Extensions and contexts
Pattern matching
Why use contexts?
Call barring made simple
Time and day call routing
Variables
Inheritance of channel variables through the dialplan
Using the AstDB
Dialplan features and additions
func_devstate
What can we use the DEVSTATE() function for?
Outgoing trunk selection
Calling extensions
Setting lights
Boosting outgoing call capacity
Using multiple broadband lines
Configuration overview
Setting up the routing in Linux
Configuring Asterisk
Explanation of the macro
Downsides
System() application
Summary
2. Network Considerations when Implementing Asterisk
Centralized and distributed installations
Centralized installations
Distributed solutions
Latency and jitter
Jitterbuffer
Echo
Do your homework
SLAs are for everyone
Achieving the goal
Backups
To share or not to share
Ensuring quality
When things go wrong
Red
Amber
Green
Increasing resilience
Summary
3. Call Routing with Asterisk
Routing methods
Where to start
Internal calls
Local calls
National calls
International calls
Alternative options
ENUM
DUNDi
Types of routing
Routing techniques
Summary
4. Call Centers—Queues and Recording
Asterisk queues
Queue gotchas
A practical queue
Using queues to cascade calls
Call recording—the issues
Show-stoppers
VoIP recording approaches
Impact of VoIP on recording systems
Hardware convergence
Distributed call centers
Home working
VoIP recording challenges
Routing
Bandwidth
Encryption
Solutions
Asterisk call center solutions
How VICIDIAL works
Handling inbound calls
Installation
Timing sources
Scalability
Summary
5. Asterisk and Speech Technology
Why speech-enable?
Types of speech technologies
Automatic Speech Recognition (ASR)
Isolated Word Recognition
Connected Word Recognition
Natural Language Recognition
Text-to-Speech (TTS)
Speaker Verification and Identification (SVI)
MRCP
Implementation considerations
ASR and Asterisk
Installing LumenVox speech recognition with Asterisk
Checking that things are working
SpeechCreate()
SpeechLoadGrammar (yesno,/etc/lumenvox/Lang/BuiltinGrammars/ABNFBoolean.gram)
SpeechActivateGrammar(yesno)
SpeechBackground(beep)
Verbose(1,Result was ${SPEECH_TEXT(0)})
Verbose(1,Confidence was ${SPEECH_SCORE(0)})
SpeechStart()
SpeechDeactivateGrammar(label)
SpeechUnloadGrammar(label)
SpeechDestroy()
${SPEECH(results)}
Grammar files
Implementation advice for ASR
TTS with Asterisk
Implementation advice for TTS
Summary
6. Call Accounting and Billing
Call Data Records (CDRs)
CDR frontends
Call accounting
Providing termination billing
Every little helps
Selecting a billing platform
Introducing A2Billing
Reasons to consider A2Billing
A2Billing requirements
Monitoring usage
Coding for A2Billing
Billing gotcha!
High call volumes
Other high-call-volume solutions
SER/OpenSER
FreeSWITCH
Summary
7. Resilience and Stability
Increasing availability
Stability
Network
Cables
Switches and routers
Endpoints
Telephony switches and gateways
Server
Environment
Dealing with failure
Network resilience
Server
High availability
Ultra Monkey
Telephony switches/gateways
Redfone foneBRIDGE2
Junghanns ISDNguard
Endpoints
Round robin DNS
Say hello to Rsync
Limiting the number of calls per server
Summary
8. Localization and Practical Security
Tones
Time and date and localization
Changing the language of system prompts
Local telephony interfaces
Analog
Digital
Localizing caller ID signaling on Digium analog interfaces
Checklist
Practical security
Out of hours
Summary
9. Interfacing with Traditional Analog and Digital Telephony
Analog
Digital
ISDN BRI (Basic Rate Interface)
ISDN PRI (Primary Rate Interface)
Choices, choices
Using external adaptors
Using cards
Installing a Digium card
Card installation—physical
Installing the DAHDI software
Configuring the DAHDI files to enable the card
What about the other cards?
framing
coding
Troubleshooting with Digium cards
Summary
10. Integrating Asterisk with Wireless Technologies
Why integrate Asterisk with wireless technologies?
Wireless technology overview
Wi-Fi (only) phones
SIP desk phones with a wireless link
Dual-mode (GSM and SIP) phones and PDA/smart phones
SIP/DECT phones
Connecting Asterisk to mobile networks
Why connect to mobile networks?
The GSM gateway (box)
The GSM card
Configuring wireless devices
Configuring Asterisk to work with wireless technologies
Deployment choices
Neat money saving tricks
Calling a mobile phone
Avoiding those nasty roaming charges that arise from receiving calls
Summary
11. Graphical User Interfaces
Reasons for going GUI
Good to GUI
Ease of administration
Access to enhanced features
Easier upgrade process
Standardized code
GUI, phooey!
Performance
Stability
Restricted functions
FreePBX
How it works
Installation
Configuration
Extensions
Inbound routes
Outbound routes
Trunks
Other records
Summary
A. Selling Your Solution
In the beginning ...
Drivers for changing phone systems
A word on cost
Generating interest
Alliances
Advertising
Search engines
Become an expert
Relationship marketing
Email as a marketing tool
Tracking prospects
Converting the prospect into a sale
Determining your customer's hardware requirements
Choosing the right phones
Tales of woe
Aastra
Linksys
Siemens Gigaset IP DECT phones
Snom M3
Remote support
Make it secure
Do's and don'ts
The do's
First impressions
Get brochures printed
Take notes
Send the quote in a timely manner
Follow up the quote
Target the decision makers, but don't ignore IT
The don'ts
You don't need a fancy office
Don't cut corners on the solution
Don't under price
Don't have a huge margin on handsets
Don't supply a PC as the phone server
Summary
B. Sample Email Content
What is VoIP?
Why should I consider VoIP?
Cost savings
Call costs
Line rental costs
Wiring costs
Reduced infrastructure costs
Centralized management
System integration
Unified messaging
Reliability
Closed and open systems
Superior sound
Fallback solutions
Broadcasting calls
A number for life
Number porting
Local numbers
About XYZ
Our philosophy
Our passion
C. Sample Appointment Sheet
Index
Asterisk 1.4
The Professional's Guide
Colman Carpenter
Ian Plain
David Duffett
Nik Middleton
Asterisk 1.4
The Professional's Guide
Copyright © 2009 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: August 2009
Production Reference: 1030809
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847194-38-1
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]>)
Credits
Authors
Colman Carpenter
David Duffett
Nik Middleton
Ian Plain
Reviewers
Ian Plain
Jared Smith
Philippe Lindheimer
Acquisition Editor
James Lumsden
Technical Editors
Gagandeep Singh
Charumathi Sankaran
Indexer
Rekha Nair
Editorial Team Leader
Gagandeep Singh
Project Team Leader
Lata Basantani
Project Coordinator
Neelkanth Mehta
Proofreader
Laura Booth
Production Coordinator
Aparna Bhagat
Cover Work
Aparna Bhagat
Foreword
Watching Asterisk move from being a personal coding project to a community of tens of thousands of programmers and millions of users has been quite the ride so far! Asterisk is only now hitting its prime, and there are so many more things that creative people are going to do with the code. The growth of the project over the years has stunned and pleased me, and it's amazing that well-written and comprehensive books like this now exist to help more advanced users navigate the waters of larger and more complex Asterisk installations. Asterisk installations are now huge, both in numbers of locations and the unimaginably large size of many of those locations—thousands or tens of thousands of users! Asterisk implementations are rarely limited by the capability of the software but more often by not knowing how to utilize it. Books like this play an important role in getting the experience of those who have already done in the hands of those who want to do.
Hopefully the knowledge here allows you to continue your adventure with Asterisk, moving from the basics of PBX construction to having the ability to quickly implement advanced call logic processes and work with the more exotic telephony and VoIP interfaces. The motto of There's more than one way to do it!
is almost always true with Asterisk—this book seems to contain an excellent cross-section of at least one of those ways to do it
(whatever it
happens to be for your application) and you'll quickly think of many other ways once you've mastered the methods shown.
The authors here have really shown some excellent detailed explanations of how to use Asterisk, and I hope this provides the incentive for you, the reader, to experiment in more wide-ranging ways with Asterisk once you've understood the basics. Most of the Asterisk community has learned with hands-on experimentation, and it's great to see more encouragement of this type of learning as is contained in these pages. Kudos to the authors, especially David Duffett, who has been involved with Asterisk for so long and has taught so many people their first dialplan routines (and hopefully has left them uninjured from his famous habit of throwing candy at people who give correct answers in class or in his talks).
Soon you'll be doing least-cost-routing, integrating your instant messenger system with your mobile phone calls, controlling robots with voice commands via your phone, or dreaming up a new company based on some voice-based service that nobody has tapped into yet. And the best thing about Asterisk is that it remains open source—if you come up with a feature or enhancement that you think must be in Asterisk, then the good news is that it can be! Become a member of the Asterisk community, and your contributed code could be included. We all anxiously await your book, your product, or just your involvement with the Asterisk community.
Mark Spencer
Chairman and CTO of Digium
About the Authors
Colman Carpenter is the MD of Voicespan, a Kent-based company that offers Asterisk-based systems to the SME market across the UK. He is an IT professional of over 20 years standing, with experience in diverse areas such as IBM mid-range software development, Lotus Notes and Domino consultancy, Data Management, E-marketing consultancy, IT Management, Project Management, Wordpress Website Design, and lately, Asterisk consultancy. He is a qualified PRINCE2 practitioner.
Voicespan (http://www.voicespan.co.uk) offers Asterisk-based systems as the cornerstone of a holistic VoIP-telephony service for SMEs. They offer companies a one-stop shop for implementing a VoIP-capable system, encompassing Asterisk-based systems, endpoints, trunks, telephony interfaces and network equipment, and the consultancy necessary to bring it all together into a coherent whole. This is his first book.
I would like to thank my wife, Hazel, and daughters, Caiti and Fay, for their support during the writing of this book. At times it seemed like you believed more than I in my ability to do so!
David Duffett delivers Asterisk training and consultancy around the world through his own company (TeleSpeak Limited, www.telespeak.co.uk), in addition to designing and delivering training for a number of companies, including Digium, Inc.
A keen Asterisk enthusiast, David also enjoys podcasting, radio presenting, and teaching public-speaking skills. He is a Chartered Engineer with experience in fields including Air Traffic Control communications, Wireless Local Loop, Mobile Networks, VoIP, and Asterisk. David has been in the telecoms sector for nearly 20 years and has had a number of computer telephony, VoIP, and Asterisk articles published through various industry publications and web sites.
Nik Middleton has been in wide-area communications since the mid-eighties. He spent most of the nineties working in the US, where he developed a shareware Microsoft mail to SMTP/POP3 connector that sold some 287,000 copies. He spent six years working for DuPont in VA, developing remote monitoring systems for their global Lycra business. In late 2000, he returned to the UK where he held various senior positions in British Telecom, LogicaCMG, and Computer Science Corp.
In 2005, tired of working in London, he set up his own company (Noble Solutions) providing VoIP solutions in rural Devon, where he now lives with his wife Georgina and three children, Mathew, Vicky, and Isabel. A keen amateur pilot, his favorite place when not in the office is flying over the beautiful Devon countryside.
Ian Plain has worked in the telecoms industry since 1981 and has designed some of the largest PBX networks in the UK. Since the late 1990s, he has been involved with VoIP initially for links between systems, and with IP PBX systems since 1999. Since 2003, he has been running a telecoms consultancy based near Bath in the UK, working primarily on high-availability Asterisk-based solutions for corporate customers.
About the Reviewers
Ian Plain: Please see the entry in About the Authors.
Jared Smith is the Training Manager for Digium, Inc. As a long time Asterisk user, contributor, and evangelist, he has spent the last several years helping the Asterisk community. Jared is a dynamic and knowledgeable instructor with several years of experience in leading various Asterisk training classes.
He is also co-author of Asterisk: The Future of Telephony, O'Reilly Media and regularly writes other Asterisk documentation as well.
Jared holds a Bachelors of Science degree in Computer Engineering from the Utah State University and currently lives in Virginia with his wife and two children.
Philippe Lindheimer is the project leader and primary developer of FreePBX and serves as the Open Source Community Director at Bandwidth.com, the corporate sponsor of the FreePBX project (the most widely deployed Asterisk-based PBX/GUI open-source application in the world). He cofounded and runs the Open Telephony Training Seminar providing FreePBX/Asterisk technical and marketing training to resellers and end users. Originally with Hewlett Packard, he has been in the engineering industry for over two decades, working on a range of technical consulting roles with many Fortune 500 Companies.
He has a BS (Hons) in EE/CS from the University of Colorado, Boulder. He now lives in the Seattle, WA area.
Preface
This book is a sequel to Building Telephony Systems with Asterisk, which started you on a journey to the summit of Asterisk knowledge, taking you from base camp to camp two, from being a complete Asterisk newbie to a competent telephony system builder and manager. Now it's time to push to the top, to take your telephony knowledge to a point where you can build high-performance, resilient, and professional PBXs using the most popular open source telephony software in the world—Asterisk.
In that book, the focus was very much on installing and configuring Asterisk for a number of common scenarios, including both home and office use. This it achieved admirably, so you may now wonder why another book is needed. Well, there are three main reasons for writing this book. Firstly, Asterisk is such a highly-capable and configurable telephony engine that the 150-odd pages in the book necessarily had to exclude discussion of some of the more advanced features, which we now have the opportunity to explore. Secondly, Asterisk is invariably implemented as part of an IP network, and further examination of network considerations is warranted. Finally, like all popular open source software, Asterisk is constantly being updated, and while this book still assumes the version 1.4 of Asterisk is in use, we do point out any differences in version 1.6 where relevant, such as the change from Zaptel to DAHDI.
Therefore, the goal of this book is to give you enough knowledge to build and install a telephony system with Asterisk at its core, which will stand comparison with the market-leading commercial IP-enabled systems. Whether you are building such a system as a result of an internal company requirement, or you plan to offer it as an element of a commercial package to customers, this book will take you through all the areas that require consideration. On reading this book you will also be in a position to understand the real-life issues you are likely to experience when deploying such a system, both technical and otherwise.
By its very nature, Asterisk demands that much of the focus of this book be on the technical aspects of building your professional system. However, as with most IT implementations, success will also rely on soft
issues such as managing expectations, understanding and meeting the customer's particular needs, and ensuring delivery is on time and up to the budget. Hence, where appropriate, we make mention of the non-technical aspects that may make a difference to your deployment.
To achieve our goal, this book will build on knowledge already gained by reinforcing that learning and adding extra skills covering:
Security
Networks
Large-scale considerations
Resilience
Scalability
Integration with complementary products
Commercial aspects
Reviewing the basics
If you have not already done so, it is recommended that you read Building Telephony Systems with Asterisk, or achieve a good degree of competence in building basic Asterisk PBXs through other means. These could include commercial training courses (see www.digium.com/en/training for further details) or openly available internet resources such as the excellent VoIP wiki at http://www.voip-info.org.
While most people with a day-to-day exposure to Asterisk systems should stand to gain much from this book, it has been written in the expectation that you will possess the following Asterisk skills and experience, ideally gained through text file configuration:
Connecting Asterisk to analogue and digital PSTN lines, and VoIP services
Configuring different types of terminal equipment (phones, communication devices, other PBXs)
Installing Asterisk, Zaptel and LibPRI
Configuring features (Voicemail, Music On Hold, Queues, Conference Rooms, and so on)
Creating a dialplan, including call distribution
CDRs, call monitoring and recording
Backups and restores
Basic security and load balancing
Once equipped with this knowledge you stand to gain the maximum from the topics covered in this book, enabling you to build professional Asterisk systems to be deployed internally, or to form the cornerstone of a commercial offering.
No compromise
In this book you will, hopefully, learn many new things. At its conclusion you will have the knowledge to build and successfully implement systems that combine great performance, resilience and stability. In order to do so, we will mainly consider pure
Asterisk systems that require a deep understanding of the dialplan and configuration files without the safety-net of a GUI in between. Think of it as learning to become a great car mechanic. You can certainly be a good mechanic earning a good living by learning how to use a laptop plugged into an engine management system. But if you want to take that extra step to being a true master of the trade then you need to understand at a very deep level just how the internal combustion engine works. So it is with Asterisk. It is perfectly feasible to put very good solutions together using GUI-based systems such as the Digium-owned Switchvox, Trixbox (formerly Asterisk@Home) or PBX in a Flash, but to construct the best systems you will need to understand what is happening under the hood
so that you can tweak them appropriately to achieve or exceed the customers' expectations.
One advantage of eschewing the GUI approach is a potential increase in performance and scalability through the use of a highly-optimized dialplan and a reduction in applications running on the server. However, there are many situations where a GUI is at least as appropriate, particularly if the customer wishes to carry out day-to-day management tasks. Therefore, in Chapter 12 we look at the implications of choosing a GUI-based solution over a vanilla
system.
Note
To follow the trusted network
of Asterisk developers please visit: www.asteriskpro.co.uk
What this book covers
As a result of reading this book, you can expect to build on existing knowledge and gain new skills. Each chapter covers a particular topic, but throughout there is a focus on building an Asterisk system that can form the cornerstone of a serious commercial product, capable of matching or even exceeding the performance of well-known licensed products.
Chapter 1 talks about dialplan techniques including modular implementations by using macros, contexts, and so on to both refine the dialplan and improve the security of the system. It also discusses the use of the devstate() function.
Chapter 2 discusses customer network requirements and offers some good advice about potential issues within the customer network and how to resolve them, including the use of VLANs and Quality of Service.
Chapter 3 looks at routing in general, including Least Cost Routing (local, national, and international GSM gateways), fall-back routing, alternate routing, and so on. ENUM and DUNDi are also explained within this context.
Chapter 4 considers call center requirements, including queues, agents, call distribution strategies, performance monitoring and call recording issues. An Asterisk-based call center solution, VICIDIAL, is also discussed in some detail.
Chapter 5 introduces speech technology in the form of ASR, TTS, and SVI; followed by implementation advice and examples. Both Lumenvox and Cepstral packages are explored in detail.
Chapter 6 looks at methods that can be used to implement call accounting and billing solutions for Asterisk. In particular, Asterisk-stat and A2Billing are explored.
Chapter 7 discusses resilience and stability, giving you a guide to implementing highly-available Asterisk solutions for mission-critical applications. Use of failover and load-balancing techniques are explored.
Chapter 8 explores the comprehensive localization options within Asterisk, and also suggests some easily deployed security measures.
Chapter 9 considers interfaces with traditional analogue and digital telephony, giving more in-depth explanations of Libpri and DAHDI (formerly Zaptel), and discussing implementation considerations.
Chapter 10 tackles the good and bad points of using wireless technologies with Asterisk, covering Wi-Fi, dual-mode and DECT handsets. Some suggestions on routing via cell/mobile networks are also offered.
Chapter 11 looks at the good and bad points of Asterisk Graphical User Interfaces (GUIs), focusing on one of the most popular incarnations, FreePBX.
In Appendix A we also explore some of the softer skills required when selling Asterisk-based solutions, suggesting some sales strategies that can help you in a commercial environment.
In Appendix B you will find information you might want to include in sample emails when pitching.
In Appendix C you will find a sample appointment sheet which can be used as a template.
Onwards
So now our campsite has been packed away and it is time for the next part of our journey to begin, for those first purposeful steps to be taken towards the summit. We will start in Chapter 1 by looking at the heart of any Asterisk system, the dialplan. You will already have significant knowledge in this area, but we are about to show you some of the techniques that are used in systems with thousands of extensions that handle many tens of thousands of calls per day. Without these techniques, a dialplan can become an unholy mess as system size increases. However, using these techniques will ensure that complexity is avoided and performance is maintained.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: We can include other contexts through the use of the include directive.
A block of code is set as follows:
exten => s,1,Dial(Zap/1,30)
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n,Hangup()
exten => s-NOANSWER,1,Voicemail(100,u)
exten => s-BUSY,1,Voicemail(100,b)
exten => i,1,Voicemail(0,s)
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)
Any command-line input or output is written as follows:
# cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample
/etc/asterisk/cdr_mysql.conf
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: clicking the Next button moves you to the next screen
.
Note
Warnings or important notes appear in a box like this.
Note
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an email to <[email protected]>, and mention the book title via the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email