This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Asterisk: The Future of Telephony By Leif Madsen, Jared Smith, Jim Van Meggelen ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-00962-3 Pages: 404 Table of Contents | Index 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 lackingA.s terisk: 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. This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Asterisk: The Future of Telephony By Leif Madsen, Jared Smith, Jim Van Meggelen ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-00962-3 Pages: 404 Table of Contents | Index Copyright 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 Section 1.1. VoIP: Bridging the Gap Between Traditional Telephony and Network Telephony Section 1.2. Massive Change Requires Flexible Technology Section 1.3. Asterisk: The Hacker's PBX Section 1.4. Asterisk: The Professional's PBX Section 1.5. The Asterisk Community Section 1.6. The Business Case Section 1.7. This Book Chapter 2. Preparing a System for Asterisk Section 2.1. Server Hardware Selection Section 2.2. Environment Section 2.3. Telephony Hardware Section 2.4. Types of Phone Section 2.5. Linux Considerations Section 2.6. Conclusion Chapter 3. Installing Asterisk Section 3.1. What Packages Do I Need? Section 3.2. Obtaining the Source Code Section 3.3. Compiling Zaptel Section 3.4. Compiling libpri Section 3.5. Compiling Asterisk Section 3.6. Installing Additional Prompts Section 3.7. Updating Your Source Code Section 3.8. Common Compiling Issues Section 3.9. Loading Zaptel Modules Section 3.10. Loading libpri Section 3.11. Loading Asterisk Section 3.12. Directories Used by Asterisk This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Section 3.13. Conclusion Chapter 4. Initial Configuration of Asterisk Section 4.1. What Do I Really Need? Section 4.2. Working with Interface Configuration Files Section 4.3. FXO and FXS Channels Section 4.4. Configuring an FXO Channel Section 4.5. Configuring an FXS Channel Section 4.6. Configuring SIP Section 4.7. Configuring Inbound IAX Connections Section 4.8. Configuring Outbound IAX Connections Section 4.9. Debugging Section 4.10. Conclusion Chapter 5. Dialplan Basics Section 5.1. Dialplan Syntax Section 5.2. A Simple Dialplan Section 5.3. Adding Logic to the Dialplan Section 5.4. Conclusion Chapter 6. More Dialplan Concepts Section 6.1. Expressions and Variable Manipulation Section 6.2. Dialplan Functions Section 6.3. Conditional Branching Section 6.4. Voicemail Section 6.5. Macros Section 6.6. Using the Asterisk Database (AstDB) Section 6.7. Handy Asterisk Features Section 6.8. Conclusion Chapter 7. Understanding Telephony Section 7.1. Analog Telephony Section 7.2. Digital Telephony Section 7.3. The Digital Circuit-Switched Telephone Network Section 7.4. Packet-Switched Networks Section 7.5. Conclusion Chapter 8. Protocols for VoIP Section 8.1. The Need for VoIP Protocols Section 8.2. VoIP Protocols Section 8.3. Codecs Section 8.4. Quality of Service Section 8.5. Echo Section 8.6. Asterisk and VoIP Section 8.7. Conclusion Chapter 9. The Asterisk Gateway Interface (AGI) Section 9.1. Fundamentals of AGI Communication Section 9.2. Writing AGI Scripts in Perl Section 9.3. Creating AGI Scripts in PHP Section 9.4. Writing AGI Scripts in Python Section 9.5. Debugging in AGI Section 9.6. Conclusion Chapter 10. Asterisk for the Über-Geek Section 10.1. Festival Section 10.2. Call Detail Recording Section 10.3. Customizing System Prompts Section 10.4. Manager This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Section 10.5. Call Files Section 10.6. DUNDi Section 10.7. Conclusion Chapter 11. Asterisk: The Future of Telephony Section 11.1. The Problems with Traditional Telephony Section 11.2. Paradigm Shift Section 11.3. The Promise of Open Source Telephony Section 11.4. The Future of Asterisk Appendix A. VoIP Channels Section A.1. IAX Section A.2. SIP Appendix B. Application Reference AbsoluteTimeout( ) AddQueueMember( ) ADSIProg( ) AgentCallbackLogin( ) AgentLogin( ) AgentMonitorOutgoing( ) AGI( ) AlarmReceiver( ) Answer( ) AppendCDRUserField( ) Authenticate( ) Background( ) BackgroundDetect( ) Busy( ) CallingPres( ) ChangeMonitor( ) ChanIsAvail( ) CheckGroup( ) Congestion( ) ControlPlayback( ) Curl( ) Cut( ) DateTime( ) DBdel( ) DBdeltree( ) DBget( ) DBput( ) DeadAGI( ) Dial( ) DigitTimeout( ) Directory( ) DISA( ) DumpChan( ) DUNDiLookup( ) EAGI( ) Echo( ) EndWhile( ) ENUMLookup( ) Eval( ) Exec( ) This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. ExecIf( ) FastAGI( ) Festival( ) Flash( ) ForkCDR( ) GetCPEID( ) GetGroupCount( ) GetGroupMatchCount( ) Goto( ) GotoIf( ) GotoIfTime( ) Hangup( ) HasNewVoicemail( ) HasVoicemail( ) IAX2Provision( ) ImportVar( ) LookupBlacklist( ) LookupCIDName( ) Macro( ) MailboxExists( ) Math( ) MeetMe( ) MeetMeAdmin( ) MeetMeCount( ) Milliwatt( ) Monitor( ) MP3Player( ) MusicOnHold( ) NBScat( ) NoCDR( ) NoOp( ) Park( ) ParkAndAnnounce( ) ParkedCall( ) PauseQueueMember( ) Playback( ) Playtones( ) Prefix( ) PrivacyManager( ) Progress( ) Queue( ) Random( ) Read( ) RealTime RealTimeUpdate( ) Record( ) RemoveQueueMember( ) ResetCDR( ) ResponseTimeout( ) RetryDial( ) Ringing( ) SayAlpha( ) This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. SayDigits( ) SayNumber( ) SayPhonetic( ) SayUnixTime( ) SendDTMF( ) SendImage( ) SendText( ) SendURL( ) Set( ) SetAccount( ) SetAMAFlags( ) SetCallerID( ) SetCallerPres( ) SetCDRUserField( ) SetCIDName( ) SetCIDNum( ) SetGlobalVar( ) SetGroup( ) SetLanguage( ) SetMusicOnHold( ) SetRDNIS( ) SetVar( ) SIPAddHeader( ) SIPDtmfMode( ) SIPGetHeader( ) SoftHangup( ) StopMonitor( ) StopPlaytones( ) StripLSD( ) StripMSD( ) SubString( ) Suffix( ) System( ) Transfer( ) TrySystem( ) TXTCIDName( ) UnpauseQueueMember( ) UserEvent( ) Verbose( ) VMAuthenticate( ) VoiceMail( ) VoiceMailMain( ) Wait( ) WaitExten( ) WaitForRing( ) WaitForSilence( ) WaitMusicOnHold( ) While( ) Zapateller( ) ZapBarge( ) ZapRAS( ) ZapScan( ) This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Appendix C. AGI Reference ANSWER CHANNEL STATUS DATABASE DEL DATABASE DELTREE DATABASE GET DATABASE PUT EXEC GET DATA GET FULL VARIABLE GET OPTION GET VARIABLE HANGUP NOOP RECEIVE CHAR RECORD FILE SAY ALPHA SAY DATE SAY DATETIME SAY DIGITS SAY NUMBER SAY PHONETIC SAY TIME SEND IMAGE SEND TEXT SET AUTOHANGUP SET CALLERID SET CONTEXT SET EXTENSION SET MUSIC ON SET PRIORITY SET VARIABLE STREAM FILE TDD MODE VERBOSE WAIT FOR DIGIT Appendix D. Configuration Files Section D.1. modules.conf Section D.2. adsi.conf Section D.3. adtranvofr.conf Section D.4. agents.conf Section D.5. alarmreceiver.conf Section D.6. alsa.conf Section D.7. asterisk.conf Section D.8. cdr.conf Section D.9. cdr_manager.conf Section D.10. cdr_odbc.conf Section D.11. cdr_pgsql.conf Section D.12. cdr_tds.conf Section D.13. codecs.conf Section D.14. dnsmgr.conf Section D.15. dundi.conf This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Section D.16. enum.conf Section D.17. extconfig.conf Section D.18. extensions.conf Section D.19. features.conf Section D.20. festival.conf Section D.21. iax.conf Section D.22. iaxprov.conf Section D.23. indications.conf Section D.24. logger.conf Section D.25. manager.conf Section D.26. meetme.conf Section D.27. mgcp.conf Section D.28. modem.conf Section D.29. musiconhold.conf Section D.30. osp.conf Section D.31. oss.conf Section D.32. phone.conf Section D.33. privacy.conf Section D.34. queues.conf Section D.35. res_odbc.conf Section D.36. rpt.conf Section D.37. rtp.conf Section D.38. sip.conf Section D.39. sip_notify.conf Section D.40. skinny.conf Section D.41. voicemail.conf Section D.42. vpb.conf Section D.43. zapata.conf Section D.44. zaptel.conf Appendix E. Asterisk Command-Line Interface Reference ! abort halt Section E.1. add Section E.2. agi Section E.3. database Section E.4. iax2 Section E.5. indication Section E.6. logger Section E.7. meetme Section E.8. pri Section E.9. remove Section E.10. restart Section E.11. set Section E.12. show Section E.13. sip Section E.14. stop Section E.15. zap Colophon About the Authors Colophon Index .sknahT .ti retsiger ot moc.retnesib.www//:ptth ot og esaelp ,cigaMmhC deretsigernu na yb detaerc saw tnemucod sihT This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks. Asterisk™: The Future of Telephony by Jim Van Meggelen, Jared Smith, and Leif Madsen Copyright © 2005 O'Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O'Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Mike Loukides Production Editor: Colleen Gorman Cover Designer: Ellie Volckhausen Interior Designer: David Futato Printing History: September 2005: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly Media, Inc. Asterisk™: The Future of Telephony, the image of starfish, and related trade dress are trademarks of O'Reilly Media, Inc. Asterisk™ is a trademark of Digium, Inc. Asterisk: The Future of Telephony is published under the Creative Commons "Commons Deed" license (http://creativecommons.org/licenses/by-nc-nd/2.0/ca/). Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 0-596-00962-3 [M]
Description: