Synopses & Reviews
It may be a while before Internet telephony with VoIP (Voice over Internet Protocol) reaches critical mass, but there's already tremendous movement in that direction. A lot of organizations are not only attracted to VoIP's promise of cost savings, but its ability to move data, images, and voice traffic over the same connection. Think of it: a single Internet phone call can take information sharing to a whole new level.
That's why many IT administrators and developers are actively looking to set up VoIP-based private telephone switching systems within the enterprise. The efficiency that network users can reach with it is almost mind-boggling. And cheap, if the system is built with open source software like Asterisk. There are commercial VoIP options out there, but many are expensive systems running old, complicated code on obsolete hardware. Asterisk runs on Linux and can interoperate with almost all standards-based telephony equipment. And you can program it to your liking.
Asterisk's flexibility comes at a price, however: it's not a simple system to learn, and the documentation is lacking. Asterisk: The Future of Telephony solves that problem by offering a complete roadmap for installing, configuring, and integrating Asterisk with existing phone systems. Our guide walks you through a basic dial plan step by step, and gives you enough working knowledge to set up a simple but complete system.
What you end up with is largely up to you. Asterisk embraces the concept of standards-compliance, but also gives you freedom to choose how to implement your system. Asterisk: The Future of Telephony outlines all the options, and shows you how to set up voicemail services, call conferencing, interactive voice response, call waiting, caller ID, and more. You'll also learn how Asterisk merges voice and data traffic seamlessly across disparate networks. And you won't need additional hardware. For interconnection with digital and analog telephone equipment, Asterisk supports a number of hardware devices.
Ready for the future of telephony? We'll help you hook it up.
About the Author
Jim Van Meggelen is President and CTO of Core Telecom Innovations, a Canadian-based provider of open-source telephony solutions. He has over fifteen years of enterprise telecom experience, for such companies as Nortel, Williams and Telus, and has has extensive knowledge of both legacy and VoIP equipment from manufacturers such as Nortel, Cisco and Avaya.Jim was the architect of two of the world's largest managed enterprise voice networks; each solution serving roughly twenty-thousand users in more than one-thousand communities across Canada, providing telecommunications in five different languages, through six time zones, administered completely from a central location. These networks pioneered the use of extensive automation and database control in a branch voice network - functionalities not generally available in proprietary telecommunications systems. Jim has now moved on from the world of proprietary telecom, and is commited to open-source telephony.Jim is one of the principal contributors to the Asterisk Documentation Project, and is co-authoring the upcoming O'Reilly book, Asterisk: The Future of Telephony. He enjoys teaching, public speaking, improvisational acting, and writing.
Jared Smith is a long time member of the Asterisk community, and a co-founder of the Asterisk Documentation Project. Jared has over a decade of systems administration and programming experience, along with several years of professional telephony and voice-over-IP experience. As the architect of one of the world's largest Asterisk installations, he has a wealth of hands-on Asterisk knowledge.Jim Van Meggelen is President and CTO of Core Telecom Innovations, a Canadian-based provider of open-source telephony solutions. He has over fifteen years of enterprise telecom experience, for such companies as Nortel, Williams and Telus, and has extensive knowledge of both legacy and VoIP equipment from manufacturers such as Nortel, Cisco and Avaya. Jim is one of the principal contributors to the Asterisk Documentation Project.Leif Madsen first took an interest in Asterisk while attempting to find a voice conferencing solution for him and his friends. After someone suggested trying Asterisk, the obsession began. Wanting to contribute and be involved with the community, and noticing the lack of Asterisk documentation, he co-founded the Asterisk Documentation Project.
Leif Madsen first took an interest in Asterisk while attempting tofind a voice conferencing solution for him and his friends. Aftersomeone suggested trying Asterisk, the obsession began. Wanting to contribute and be involved with the community, and noticing the lack of Asterisk documentation, he co-founded the Asterisk Documentation Project.
Table of Contents
Foreword; Preface; Audience; Organization; Software; Conventions Used in This Book; Using Code Examples; Safari® Enabled; How to Contact Us; Acknowledgments; Chapter 1: A Telephony Revolution; 1.1 VoIP: Bridging the Gap Between Traditional Telephony and Network Telephony; 1.2 Massive Change Requires Flexible Technology; 1.3 Asterisk: The Hacker's PBX; 1.4 Asterisk: The Professional's PBX; 1.5 The Asterisk Community; 1.6 The Business Case; 1.7 This Book; Chapter 2: Preparing a System for Asterisk; 2.1 Server Hardware Selection; 2.2 Environment; 2.3 Telephony Hardware; 2.4 Types of Phone; 2.5 Linux Considerations; 2.6 Conclusion; Chapter 3: Installing Asterisk; 3.1 What Packages Do I Need?; 3.2 Obtaining the Source Code; 3.3 Compiling Zaptel; 3.4 Compiling libpri; 3.5 Compiling Asterisk; 3.6 Installing Additional Prompts; 3.7 Updating Your Source Code; 3.8 Common Compiling Issues; 3.9 Loading Zaptel Modules; 3.10 Loading libpri; 3.11 Loading Asterisk; 3.12 Directories Used by Asterisk; 3.13 Conclusion; Chapter 4: Initial Configuration of Asterisk; 4.1 What Do I Really Need?; 4.2 Working with Interface Configuration Files; 4.3 FXO and FXS Channels; 4.4 Configuring an FXO Channel; 4.5 Configuring an FXS Channel; 4.6 Configuring SIP; 4.7 Configuring Inbound IAX Connections; 4.8 Configuring Outbound IAX Connections; 4.9 Debugging; 4.10 Conclusion; Chapter 5: Dialplan Basics; 5.1 Dialplan Syntax; 5.2 A Simple Dialplan; 5.3 Adding Logic to the Dialplan; 5.4 Conclusion; Chapter 6: More Dialplan Concepts; 6.1 Expressions and Variable Manipulation; 6.2 Dialplan Functions; 6.3 Conditional Branching; 6.4 Voicemail; 6.5 Macros; 6.6 Using the Asterisk Database (AstDB); 6.7 Handy Asterisk Features; 6.8 Conclusion; Chapter 7: Understanding Telephony; 7.1 Analog Telephony; 7.2 Digital Telephony; 7.3 The Digital Circuit-Switched Telephone Network; 7.4 Packet-Switched Networks; 7.5 Conclusion; Chapter 8: Protocols for VoIP; 8.1 The Need for VoIP Protocols; 8.2 VoIP Protocols; 8.3 Codecs; 8.4 Quality of Service; 8.5 Echo; 8.6 Asterisk and VoIP; 8.7 Conclusion; Chapter 9: The Asterisk Gateway Interface (AGI); 9.1 Fundamentals of AGI Communication; 9.2 Writing AGI Scripts in Perl; 9.3 Creating AGI Scripts in PHP; 9.4 Writing AGI Scripts in Python; 9.5 Debugging in AGI; 9.6 Conclusion; Chapter 10: Asterisk for the Über-Geek; 10.1 Festival; 10.2 Call Detail Recording; 10.3 Customizing System Prompts; 10.4 Manager; 10.5 Call Files; 10.6 DUNDi; 10.7 Conclusion; Chapter 11: Asterisk: The Future of Telephony; 11.1 The Problems with Traditional Telephony; 11.2 Paradigm Shift; 11.3 The Promise of Open Source Telephony; 11.4 The Future of Asterisk; VoIP Channels; IAX; SIP; Application Reference; AGI Reference; Configuration Files; modules.conf; adsi.conf; adtranvofr.conf; agents.conf; alarmreceiver.conf; alsa.conf; asterisk.conf; cdr.conf; cdr_manager.conf; cdr_odbc.conf; cdr_pgsql.conf; cdr_tds.conf; codecs.conf; dnsmgr.conf; dundi.conf; enum.conf; extconfig.conf; extensions.conf; features.conf; festival.conf; iax.conf; iaxprov.conf; indications.conf; logger.conf; manager.conf; meetme.conf; mgcp.conf; modem.conf; musiconhold.conf; osp.conf; oss.conf; phone.conf; privacy.conf; queues.conf; res_odbc.conf; rpt.conf; rtp.conf; sip.conf; sip_notify.conf; skinny.conf; voicemail.conf; vpb.conf; zapata.conf; zaptel.conf; Asterisk Command-Line Interface Reference; !; abort halt; add; agi; database; iax2; indication; logger; meetme; pri; remove; restart; set; show; sip; stop; zap; Colophon;