| |
| |
Foreword | |
| |
| |
Introduction | |
| |
| |
About This Book | |
| |
| |
Conventions Used in This Book | |
| |
| |
What You Don't Have to Read | |
| |
| |
Foolish Assumptions | |
| |
| |
How This Book Is Organized | |
| |
| |
| |
Introducing Asterisk! | |
| |
| |
| |
Using Dialplans - the Building Blocks of Asterisk | |
| |
| |
| |
Maintaining Your Phone Service with Asterisk | |
| |
| |
| |
The Part of Tens | |
| |
| |
| |
Appendixes | |
| |
| |
Icons Used in This Book | |
| |
| |
Where to Go from Here | |
| |
| |
| |
Introducing...Asterisk! | |
| |
| |
| |
Evaluating the Possibilities with Asterisk | |
| |
| |
Finding Out What You Can Do with Asterisk | |
| |
| |
Using Asterisk for your phone system | |
| |
| |
Jumping into VoIP with Asterisk | |
| |
| |
Bridging technologies of VoIP and non-VoIP | |
| |
| |
Bringing wireless into the equation | |
| |
| |
Running your telephony business with Asterisk | |
| |
| |
Realizing the benefits of VoIP to big businesses | |
| |
| |
Getting Acquainted with AsteriskNow | |
| |
| |
Introducing the Supporting Hardware | |
| |
| |
Determining your analog hardware needs | |
| |
| |
Using analog interfaces | |
| |
| |
Going digital and dedicated | |
| |
| |
Sending calls out VoIP | |
| |
| |
Communicating with your phones or dialers | |
| |
| |
| |
Installing Asterisk | |
| |
| |
Taking Inventory of Your Hardware and Software | |
| |
| |
Sharing the load with multiple servers | |
| |
| |
Living with Linux | |
| |
| |
Downloading the Asterisk Software | |
| |
| |
Getting a head version of Asterisk | |
| |
| |
Securing a stable version of Asterisk | |
| |
| |
Building a tarball | |
| |
| |
Compiling Asterisk | |
| |
| |
Starting with libpri | |
| |
| |
Moving to Zaptel | |
| |
| |
Bringing up Asterisk | |
| |
| |
Turning on sounds and add-ons | |
| |
| |
Overcoming Common Compiling Issues | |
| |
| |
Managing Server Security | |
| |
| |
| |
Installing AsteriskNow | |
| |
| |
Downloading AsteriskNow | |
| |
| |
Booting the AsteriskNow CD | |
| |
| |
Choosing your variety of installation | |
| |
| |
Identifying your partition preference | |
| |
| |
Identifying network devices | |
| |
| |
Locating your time zone | |
| |
| |
Assigning a password | |
| |
| |
Completing the installation by rebooting | |
| |
| |
Arriving at the AsteriskNow Console Menu | |
| |
| |
| |
Configuring the Hardware | |
| |
| |
Configuring Everything You Need | |
| |
| |
Setting Up Your Zaptel Cards | |
| |
| |
Building Analog Connections to Your Carrier | |
| |
| |
Configuring the FXO card with FXS signaling | |
| |
| |
Identifying your driver | |
| |
| |
Installing the driver | |
| |
| |
Validating your successful configuration | |
| |
| |
Building an analog connection to your phone | |
| |
| |
Tying the analog cards to Asterisk | |
| |
| |
Bringing in VoIP | |
| |
| |
Getting to know the sip.conf file | |
| |
| |
Configuring an SIP user | |
| |
| |
Configuring an SIP peer | |
| |
| |
Understanding Inter Asterisk eXchange (IAX) Connections | |
| |
| |
Setting up an inbound IAX connection | |
| |
| |
Designing outbound IAX connections | |
| |
| |
Receiving Help with Debugging | |
| |
| |
| |
Using Dialplans - the Building Blocks of Asterisk | |
| |
| |
| |
Comprehending Dialplan Syntax | |
| |
| |
Starting with a Basic Dialplan | |
| |
| |
Understanding the context | |
| |
| |
Identifying extensions | |
| |
| |
Utilizing priorities | |
| |
| |
Engaging an application | |
| |
| |
Processing Incoming Calls | |
| |
| |
Building Internal Options | |
| |
| |
Using Variables | |
| |
| |
Exploiting globally | |
| |
| |
Focusing on the individual call | |
| |
| |
Using local extensions | |
| |
| |
Concerning yourself with the environment | |
| |
| |
Adding Intelligence to Your Dialplan | |
| |
| |
Ignoring leading digits | |
| |
| |
Cashing in with account codes | |
| |
| |
Replacing caller ID | |
| |
| |
Dialing to the Outside World | |
| |
| |
Understanding pattern matching | |
| |
| |
Using dialstatus | |
| |
| |
Using 911, 411, and 611 | |
| |
| |
| |
Adding Features to Dialplans | |
| |
| |
Refining Your Code with Symbols | |
| |
| |
Conferencing with MeetMe | |
| |
| |
Queuing Calls | |
| |
| |
Prioritizing calls | |
| |
| |
Penalizing extensions | |
| |
| |
Cascading queues | |
| |
| |
Getting music on hold | |
| |
| |
Using the GotoIf() Application | |
| |
| |
Adding Voice Mail | |
| |
| |
Building a voice mailbox | |
| |
| |
Empowering voice mail with options | |
| |
| |
Building a dial-by-name directory | |
| |
| |
Recording your personal messages | |
| |
| |
Enhancing your voice mail with the GotoIfTime() application | |
| |
| |
Diving In with Macros | |
| |
| |
Making Expressions | |
| |
| |
Using operators | |
| |
| |
Realizing the sequencing | |
| |
| |
Having Fun with Functions | |
| |
| |
| |
Building Dialplan Infrastructure | |
| |
| |
Monitoring Your Channels | |
| |
| |
Using true channel monitoring | |
| |
| |
Showing your channel info | |
| |
| |
Checking Your Call Detail Records | |
| |
| |
Appending the CDR | |
| |
| |
Integrating MySQL into your Asterisk | |
| |
| |
Working with the Asterisk Database | |
| |
| |
Setting info into the AstDB | |
| |
| |
Inputting data into AstDB | |
| |
| |
Cleaning up the AstDB | |
| |
| |
Going beyond AstDB | |
| |
| |
| |
Operating the AsteriskNow GUI | |
| |
| |
Connecting to the GUI | |
| |
| |
Programming AsteriskNow from the GUI | |
| |
| |
Establishing user extensions | |
| |
| |
Building conference rooms | |
| |
| |
Using voice mail for extensions | |
| |
| |
Using call queues | |
| |
| |
Creating trunks | |
| |
| |
Changing the rules | |
| |
| |
Designing voice menus | |
| |
| |
AsteriskNow management options | |
| |
| |
| |
Utilizing VoIP Codecs | |
| |
| |
Choosing a Voice Codec | |
| |
| |
Using uncompressed G.711 | |
| |
| |
Compressing voice with G.729 | |
| |
| |
Determining the number of licenses you need | |
| |
| |
Transmitting VoIP Faxes | |
| |
| |
Receiving Videos | |
| |
| |
| |
Maintaining Your Phone Service with Asterisk | |
| |
| |
| |
Troubleshooting VoIP Calls with Packet Captures | |
| |
| |
Understanding Packet Capture Programs | |
| |
| |
Acquiring the Software | |
| |
| |
Installing the Packet Capture Software | |
| |
| |
Installing Wireshark | |
| |
| |
Installing tcpdump | |
| |
| |
Starting and Stopping a Packet Capture | |
| |
| |
Capturing packets with tcpdump | |
| |
| |
Capturing packets with Wireshark | |
| |
| |
Reading a Packet Capture in Wireshark | |
| |
| |
Looking at a completed call | |
| |
| |
Looking at a failed call | |
| |
| |
| |
Maintaining Your Telecom Services | |
| |
| |
Understanding Troubleshooting Basics | |
| |
| |
Analog outbound long-distance call | |
| |
| |
Analog inbound long-distance call | |
| |
| |
Analog local call (inbound or outbound) | |
| |
| |
Dialing someone else's toll-free number | |
| |
| |
Someone is dialing your analog toll-free number | |
| |
| |
Digital calling | |
| |
| |
Connecting via VoIP | |
| |
| |
Comparing call types | |
| |
| |
Narrowing carrier-level problems | |
| |
| |
Creating a cut sheet | |
| |
| |
Getting the Most from Your Carrier's Troubleshooting Department | |
| |
| |
Identifying your call treatment | |
| |
| |
Providing a call example | |
| |
| |
Understanding when to provide multiple call examples | |
| |
| |
Managing Your Trouble Tickets | |
| |
| |
Understanding the timelines | |
| |
| |
Coping with large outages | |
| |
| |
Troubleshooting International Calls | |
| |
| |
Resolving International Fax Issues | |
| |
| |
| |
Addressing Call-Quality Concerns and Completion Issues | |
| |
| |
Working through Analog Issues | |
| |
| |
Confirming configuration and setup of analog service | |
| |
| |
| |
Bypassing die Asterisk server | |
| |
| |
| |
Checking your long-distance carrier | |
| |
| |
| |
Bypassing your long-distance carrier | |
| |
| |
| |
Using a different local carrier | |
| |
| |
Confirming problems on the receiving end | |
| |
| |
Getting Analog Toil-Free Troubleshooting Basics | |
| |
| |
| |
Dialing the number yourself | |
| |
| |
| |
Dialing the ring-to number locally | |
| |
| |
| |
Dialing the ring-to number through your long-distance carrier | |
| |
| |
| |
Dialing the ring-to number over another carrier | |
| |
| |
| |
Validating the ring-to number and RespOrg | |
| |
| |
Distilling the Nature of VoIP Issues | |
| |
| |
Addressing VoIP call-quality issues | |
| |
| |
Battling one-way audio | |
| |
| |
Troubleshooting outbound VoIP calls | |
| |
| |
Addressing incoming VoIP call problems | |
| |
| |
Handling IAX Issues | |
| |
| |
Debugging Your Devices | |
| |
| |
| |
Handling Dedicated Digital Troubles | |
| |
| |
Identifying the Level of Your Problem | |
| |
| |
Differentiating local from long distance | |
| |
| |
Identifying DS-1-level circuit variables | |
| |
| |
Identifying DS-0 or individual channel issues | |
| |
| |
Opening a Trouble Ticket for Your Dedicated Circuit | |
| |
| |
Going through the basics | |
| |
| |
Letting your channels be your guide | |
| |
| |
Using a T-1 test set | |
| |
| |
Managing Your Dedicated Trouble Ticket | |
| |
| |
Reducing the Impact of an Outage | |
| |
| |
| |
Managing Asterisk for Peak Capacity | |
| |
| |
Handling Carrier Connectivity Bottlenecks | |
| |
| |
VoIP limitations | |
| |
| |
Analog and digital limitations | |
| |
| |
Dealing with Internal Bottlenecks | |
| |
| |
Saving Capacity for a Rainy Day | |
| |
| |
Entertaining the Third-Party Software | |
| |
| |
| |
Providing Long-Term Health for Your Asterisk Switch | |
| |
| |
Using an Uninterruptible Power Supply | |
| |
| |
Standby UPSs | |
| |
| |
Online UPSs | |
| |
| |
Reinstalling Your Asterisk Source Code | |
| |
| |
Making a backup copy of your original Asterisk code | |
| |
| |
Dealing with Linux ramifications | |
| |
| |
Providing General Server Maintenance | |
| |
| |
Adding Organization to Your Dialplan | |
| |
| |
Designing a Disaster Recovery Plan | |
| |
| |
Securing the System | |
| |
| |
| |
The Part of Tens | |
| |
| |
| |
Ten Things You Should Never Do with Asterisk | |
| |
| |
Killing Your Carrier with Calls | |
| |
| |
Manipulating the Origination Phone Number | |
| |
| |
Manipulating the Telemarketing Caller ID | |
| |
| |
Forgetting to Build Routes | |
| |
| |
Getting an Edge on Radio Call-Ins | |
| |
| |
Exposing Yourself to Fraud | |
| |
| |
Building a Dialplan of Frustration | |
| |
| |
Working without a Safety Net | |
| |
| |
Disregarding the Power of Macros | |
| |
| |
Ignoring the Need to Learn More | |
| |
| |
| |
Ten Fun Things to Do with Your Asterisk | |
| |
| |
Fending Off Telemarketers | |
| |
| |
Giving Your Friends Special Options | |
| |
| |
Setting an Extension to Call for Local Weather Reports | |
| |
| |
Creating a Voice Mailbox That E-Mails Everyone | |
| |
| |
Using the Power of VoIP from Your Cell Phone | |
| |
| |
Turning On Your Lights with Asterisk | |
| |
| |
Remote Listening | |
| |
| |
Transmitting Your Voice through Your Stereo | |
| |
| |
Maximizing Your Savings | |
| |
| |
Taking Charge of Your Phone System | |
| |
| |
| |
Ten Places to Go for Help | |
| |
| |
Working the Asterisk Wiki | |
| |
| |
Going to the Source | |
| |
| |
Developing Your Database Skills | |
| |
| |
Strengthening Programming Skills | |
| |
| |
Tapping All Known Resources | |
| |
| |
Loading Up on Linux | |
| |
| |
Entering the Digium Forum | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Visualizing the Dialplan | |
| |
| |
Taking In the 30,000-Foot View | |
| |
| |
Going Global | |
| |
| |
Maximizing DID Programming | |
| |
| |
Setting Up a Macro for Voice Mail | |
| |
| |
Dialing the Outside World | |
| |
| |
Integrating Direct Inward Dial Numbers | |
| |
| |
Routing to Extensions | |
| |
| |
Providing a Default Context | |
| |
| |
Queuing Up Company Sales | |
| |
| |
Recording a Custom Menu | |
| |
| |
| |
VoIP Basics | |
| |
| |
Finding Out How VoIP Works | |
| |
| |
Using SIP for VoIP | |
| |
| |
Building a standard VoIP call | |
| |
| |
Maximizing bandwidth by reinviting calls | |
| |
| |
Evaluating your compression options | |
| |
| |
Optioning for touch tones | |
| |
| |
Passing the Interoperability Test | |
| |
| |
VoIP Quality Issues | |
| |
| |
Moving from Non-VoIP Service to VoIP Service | |
| |
| |
| |
Understanding Basic Linux | |
| |
| |
Defining Linux | |
| |
| |
Navigating in Linux | |
| |
| |
Introducing Permissions | |
| |
| |
Navigating Directories | |
| |
| |
Knowing root from root home | |
| |
| |
Visiting the directory neighborhood | |
| |
| |
Working with Files | |
| |
| |
Editing files | |
| |
| |
Saving files | |
| |
| |
Closing a file | |
| |
| |
Backing up files | |
| |
| |
Getting Info from the man Files | |
| |
| |
Searching Files and Directories | |
| |
| |
Index | |