Book description
This bestselling book is now the standard guide to building phone systems with Asterisk, the open source IP PBX that has traditional telephony providers running scared! Revised for the 1.4 release of the software, the new edition of Asterisk: The Future of Telephony reveals how you can save money on equipment and support, and finally be in control of your telephone system.
If you've worked with telephony in the past, you're familiar with the problem: expensive and inflexible systems that are tuned to the vendor's needs, not yours. Asterisk isn't just a candle in the darkness, it's a whole fireworks show. Because Asterisk is so powerful, configuring it can seem tricky and difficult. This book steps you through the process of installing, configuring, and integrating Asterisk with your existing phone system.
You'll learn how to write dialplans, set up applications including speech synthesis and voice recognition, how to script Asterisk, and much more -- everything you need to design a simple but complete system with little or no Asterisk experience, and no more than rudimentary telecommunications knowledge. The book includes:
- A new chapter on managing/administering your Asterisk system
- A new chapter on using Asterisk with databases
- Coverage of features in Asterisk 1.4
- A new appendix on dialplan functions
- A simplified installation chapter
- New simplified SIP configuration, including examples for several popular SIP clients (soft phones and IP telephones)
- Revised chapters and appendicies reviewed and updated for the latest in features, applications, trends and best-practices
Publisher resources
Table of contents
-
Asterisk™: The Future of Telephony
- SPECIAL OFFER: Upgrade this ebook with O’Reilly
- Foreword
- Preface
- 1. A Telephony Revolution
- 2. Preparing a System for Asterisk
-
3. Installing Asterisk
- What Packages Do I Need?
- Obtaining the Source Code
- Menuselect
- Compiling Zaptel
- Compiling libpri
- Compiling Asterisk
- Installing Additional Prompts
- Common Compiling Issues
- Loading Asterisk and Zaptel Quickly
- Loading Zaptel Modules Without Scripts
- Loading libpri Without Script
- Starting Asterisk Without Scripts
- Directories Used by Asterisk
- AsteriskNOW™
- Conclusion
-
4. Initial Configuration of Asterisk
- What Do I Really Need?
- Working with Interface Configuration Files
- Setting Up the Dialplan for Some Test Calls
- FXO and FXS Channels
- Configuring an FXO Channel for a PSTN Connection
- Configuring an FXS Channel for an Analog Telephone
- Configuring SIP Telephones
- Connecting to a SIP Service Provider
- Connecting Two Asterisk Boxes Together via SIP
- Configuring an IAX Softphone
- Connecting to an IAX Service Provider
- Connecting Two Asterisk Boxes Together via IAX
- Using Templates in Your Configuration Files
- Debugging
- Conclusion
-
5. Dialplan Basics
- Dialplan Syntax
- A Simple Dialplan
- Building an Interactive Dialplan
- Conclusion
- 6. More Dialplan Concepts
- 7. Understanding Telephony
- 8. Protocols for VoIP
- 9. The Asterisk Gateway Interface (AGI)
-
10. Asterisk Manager Interface (AMI) and Adhearsion
- The Manager Interface
- The Flash Operator Panel
- Asterisk Development with Adhearsion
- 11. The Asterisk GUI Framework
- 12. Relational Database Integration
- 13. Managing Your Asterisk System
- 14. Potpourri
- 15. Asterisk: The Future of Telephony
- A. VoIP Channels
-
B. Application Reference
- AddQueueMember()
- ADSIProg()
- AgentCallbackLogin()
- AgentLogin()
- AgentMonitorOutgoing()
- AGI()
- AlarmReceiver()
- AMD()
- Answer()
- AppendCDRUserField()
- Authenticate()
- Background()
- BackgroundDetect()
- Busy()
- ChangeMonitor()
- ChanIsAvail()
- ChannelRedirect()
- ChanSpy()
- Congestion()
- ContinueWhile()
- ControlPlayback()
- DateTime()
- DBdel()
- DBdeltree()
- DeadAGI()
- Dial()
- Dictate()
- Directory()
- DISA()
- DumpChan()
- EAGI()
- Echo()
- EndWhile()
- Exec()
- ExecIf()
- ExitWhile()
- ExtenSpy()
- ExternalIVR()
- FastAGI()
- Festival()
- Flash()
- FollowMe()
- ForkCDR()
- GetCPEID()
- Gosub()
- GosubIf()
- Goto()
- GotoIf()
- GotoIfTime()
- Hangup()
- HasNewVoicemail()
- HasVoicemail()
- IAX2Provision()
- ICES()
- ImportVar()
- Log()
- LookupBlacklist()
- LookupCIDName()
- Macro()
- MacroExclusive()
- MacroExit()
- MacroIf()
- MailboxExists()
- MeetMe()
- MeetMeAdmin()
- MeetMeCount()
- Milliwatt()
- MixMonitor()
- Monitor()
- MorseCode()
- MP3Player()
- MusicOnHold()
- NBScat()
- NoCDR()
- NoOp()
- Page()
- Park()
- ParkAndAnnounce()
- ParkedCall()
- PauseMonitor()
- PauseQueueMember()
- Pickup()
- Playback()
- Playtones()
- PrivacyManager()
- Progress()
- Queue()
- QueueLog()
- Random()
- Read()
- ReadFile()
- RealTime
- RealTimeUpdate()
- Record()
- RemoveQueueMember()
- ResetCDR()
- RetryDial()
- Return()
- Ringing()
- SayAlpha()
- SayDigits()
- SayNumber()
- SayPhonetic()
- SayUnixTime()
- SendDTMF()
- SendImage()
- SendText()
- SendURL()
- Set()
- SetAMAFlags()
- SetCallerID()
- SetCallerPres()
- SetCDRUserField()
- SetGlobalVar()
- SetMusicOnHold()
- SetTransferCapability()
- SIPAddHeader()
- SIPDtmfMode()
- SLAStation()
- SLATrunk()
- SoftHangup()
- StackPop()
- StartMusicOnHold()
- StopMixMonitor()
- StopMonitor()
- StopPlaytones()
- StopMusicOnHold()
- System()
- Transfer()
- TryExec()
- TrySystem()
- UnpauseMonitor()
- UnpauseQueueMember()
- UserEvent()
- Verbose()
- VMAuthenticate()
- VoiceMail()
- VoiceMailMain()
- Wait()
- WaitExten()
- WaitForRing()
- WaitForSilence()
- WaitMusicOnHold()
- While()
- Zapateller()
- ZapBarge()
- ZapRAS()
- ZapScan()
-
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
-
D. Configuration Files
- modules.conf
- adsi.conf
- adtranvofr.conf
- agents.conf
- alarmreceiver.conf
- alsa.conf
- amd.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
- extensions.ael
- features.conf
- festival.conf
- followme.conf
- func_odbc.conf
- gtalk.conf
- http.conf
- iax.conf
- iaxprov.conf
- indications.conf
- jabber.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
- res_snmp.conf
- rpt.conf
- rtp.conf
- say.conf
- sip.conf
- sip_notify.conf
- skinny.conf
- sla.conf
- smdi.conf
- udptl.conf
- users.conf
- voicemail.conf
- vpb.conf
- zapata.conf
- zaptel.conf
-
E. Asterisk Dialplan Functions
- AGENT
- ARRAY
- BASE64_DECODE
- BASE64_ENCODE
- BLACKLIST
- CALLERID
- CDR
- CHANNEL
- CHECK_MD5
- CHECKSIPDOMAIN
- CURL
- CUT
- DB
- DB_DELETE
- DB_EXISTS
- DUNDILOOKUP
- ENUMLOOKUP
- ENV
- EVAL
- EXISTS
- FIELDQTY
- FILTER
- GLOBAL
- GROUP
- GROUP_COUNT
- GROUP_LIST
- GROUP_MATCH_COUNT
- IAXPEER
- IF
- IFTIME
- ISNULL
- KEYPADHASH
- LANGUAGE
- LEN
- MATH
- MD5
- MUSICCLASS
- QUEUE_MEMBER_COUNT
- QUEUE_MEMBER_LIST
- QUEUE_WAITING_COUNT
- QUEUEAGENTCOUNT
- QUOTE
- RAND
- REALTIME
- REGEX
- SET
- SHA1
- SIP_HEADER
- SIPCHANINFO
- SIPPEER
- SORT
- SPEECH
- SPEECH_ENGINE
- SPEECH_GRAMMAR
- SPEECH_SCORE
- SPEECH_TEXT
- SPRINTF
- STAT
- STRFTIME
- STRPTIME
- TIMEOUT
- TXTCIDNAME
- URIDECODE
- URIENCODE
- VMCOUNT
-
F. Asterisk Manager Interface Actions
- AbsoluteTimeout
- AgentCallbackLogin
- AgentLogoff
- Agents
- ChangeMonitor
- Command
- DBGet
- DBPut
- Events
- ExtensionState
- GetConfig
- GetVar
- Hangup
- IAXNetstats
- IAXPeers
- ListCommands
- Logoff
- MailboxCount
- MailboxStatus
- MeetmeMute
- MeetMeUnmute
- Monitor
- Originate
- Park
- ParkedCalls
- PauseMonitor
- Ping
- PlayDTMF
- QueueAdd
- QueuePause
- QueueRemove
- QueueStatus
- Queues
- Redirect
- SIPpeers
- SIPShowPeer
- SetCDRUserField
- SetVar
- Status
- StopMonitor
- UnpauseMonitor
- UpdateConfig
- UserEvent
- WaitEvent
- ZapDNDoff
- ZapDNDon
- ZapDialOffhook
- ZapHangup
- ZapRestart
- ZapShowChannels
- ZapTransfer
- G. An Example of func_odbc
- Index
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with O’Reilly
Product information
- Title: Asterisk: The Future of Telephony, 2nd Edition
- Author(s):
- Release date: August 2007
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596551629
You might also like
book
Asterisk: The Future of Telephony
It may be a while before Internet telephony with VoIP (Voice over Internet Protocol) reaches critical …
book
The 3G IP Multimedia Subsystem (IMS): Merging the Internet and the Cellular Worlds, Third Edition
Third edition of this best-selling guide to IMS: fully revised, and updated with brand new material …
book
Switching to VoIP
More and more businesses today have their receive phone service through Internet instead of local phone …
book
Unleashed Skype for Business
Skype for Business Unleashed This is the most comprehensive, realistic, and useful guide to Skype for …