My Account Log in

1 option

Practical Asterisk 1.4 and 1.6

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Wintermeyer, Stefan, Author.
Contributor:
Bosch, Stephen, Contributor.
Language:
English
Subjects (All):
Asterisk (Computer file).
Internet telephony--Private branch exchanges.
Internet telephony.
Telephone.
Physical Description:
1 online resource (xxxiii, 793 p.) : ill.
Edition:
1st edition
Place of Publication:
[Place of publication not identified] Addison Wesley 2010
Language Note:
English
System Details:
text file
Summary:
Using the open source Asterisk platform, you can deploy a state-of-the-art VoIP PBX on a low-cost PC or server for a fraction of the cost of conventional PBX systems. The only drawback to Asterisk is its notoriously poor documentation. Practical Asterisk 1.4 and 1.6 is the solution to that problem. This book provides all the detailed, real-world, ground-level information you need to plan, install, configure, and reliably operate Asterisk in any environment. This tutorial and reference systematically introduces each of Asterisk’s key building blocks and shows how to use them to implement a full spectrum of communications solutions, from conferencing to call queuing, voicemail and fax to IVR. Leading Asterisk consultants Stefan Wintermeyer and Stephen Bosch draw on their extensive experience, presenting detailed usage examples and practical tips not available anywhere else. Coverage includes Detailed instructions for configuring a basic Asterisk system A start-to-finish business case example demonstrating Asterisk design for real-world deployment A thorough introduction to dialplan applications and functions How to use the new Asterisk Extensions Language to build concise, readable, and maintainable dialplans Using Asterisk’s diverse network and IP telephony protocols, audio codecs, and wire transports Configuring Asterisk’s powerful voicemail features Building a sophisticated Interactive Voice Response (IVR) system with Asterisk Defining and utilizing call queues in call center environments Using Asterisk’s built-in conferencing functions Controlling Asterisk from external applications, scripts, or the system shell Interacting with external applications through the Asterisk Gateway Interface Setting up extension monitoring and hints for SIP telephones Upgrading existing systems to the latest versions of Asterisk Whether you’re a network professional, telephony expert, software developer, or power user, Practical Asterisk 1.4 and 1.6 will provide you with the most thorough detail and practical Asterisk guidance available anywhere.
Contents:
Cover
Contents
Foreword
Preface
Acknowledgments
About the Authors
Chapter 1 How to Get the Most Out of This Book
1.1 What Is Asterisk?
1.2 Who Should Read This Book?
1.2.1 The Beginner
1.2.2 The Journeyman
1.2.3 The Expert
1.3 Updates and Versions of the Book
1.4 Reader Contributions and Feedback
1.5 Additional Resources
Chapter 2 Installation and "Hello World
2.1 Installing Asterisk on the Server
2.2 Calling "Hello World" from the CLI
2.2.1 Configuring Asterisk
2.2.2 Starting Asterisk and Calling "Hello World
2.2.3 Stopping Asterisk
2.3 Calling "Hello World" with a SIP Phone
2.3.1 Configuring the SIP Phone and sip.conf
2.3.2 Starting Asterisk and the Phone
2.4 Building a Minimal Phone System with Two SIP Phones
2.4.1 Configuring Voicemail
2.5 Rights Administration with Contexts
2.5.1 The Originating Context
2.5.2 Call Destination: Contexts in extensions.conf
2.6 Calls to and from the Public Switched Telephone Network
2.6.1 Calling the PSTN
2.6.2 Taking Calls from the PSTN
Chapter 3 Dialplan Fundamentals
3.1 Contexts
3.2 Extensions
3.2.1 Fundamental Applications
3.2.2 Priorities
3.3 Pattern Matching
3.3.1 Pattern Elements
3.3.2 Testing a Pattern Using dialplan show
3.3.3 Pattern-Matching Order
3.4 Include Statements
3.4.1 Order of Execution When Using Include Statements
3.4.2 Time-Conditional Include Statements
3.5 The {EXTEN} Variable and the {CALLERID(num)} Function
3.5.1 {EXTEN}
3.5.2 {CALLERID(num)}
Chapter 4 Case Study: A Typical Business Telephone System
4.1 The Numbering Plan
4.2 Choosing the Infrastructure
4.2.1 Network
4.2.2 Server Hardware
4.3 Base Configuration
4.3.1 A sip.conf for 100 Users
4.3.2 The Dialplan
4.4 What Next?
Chapter 5 Dialplan Programming.
5.1 Programming "How-To
5.1.1 Program Structure
5.1.2 Using Set()
5.1.3 Labels and Goto()
5.1.4 While() Loops
5.1.5 GotoIf() Conditional
5.1.6 Gosub() Subroutines
5.2 Variables
5.2.1 Expanding Variables in an Extension
5.2.2 General Considerations
5.2.3 Defining Global Variables in extensions.conf
5.2.4 Defining Variables with Set()
5.2.5 Inheritance of Channel Variables
5.2.6 System Channel Variables
5.2.7 Manipulating Variables
5.3 Special Extensions
5.3.1 The h Extension
5.3.2 The i Extension
5.3.3 The o and a Extensions
5.3.4 The t and T Extensions
5.3.5 The s Extension
5.4 Macros
5.5 Deprecated Features
Chapter 6 Asterisk Extension Language
6.1 CLI Commands for AEL
6.2 aelparse
6.3 Comparing extensions.conf with extensions.ael
6.3.1 Line Termination
6.3.2 Contexts, Extensions, and Priorities
6.3.3 Comments
6.3.4 Includes
6.3.5 Global Variables
6.3.6 Expressions and Variable Assignment
6.3.7 Labels, goto, and jump
6.3.8 Conditionals
6.3.9 Loops
6.3.10 Macros
6.3.11 Hints
6.3.12 Filtering by Caller ID
6.4 Choosing between extensions.ael and extensions.conf
Chapter 7 Protocols
7.1 Network Protocols
7.1.1 Transmission Control Protocol
7.1.2 User Datagram Protocol
7.2 Channels
7.3 Peers, Users, and Friends
7.4 IAX Versus SIP
Chapter 8 Making Connections
8.1 Codecs
8.1.1 What Does a Codec Do?
8.1.2 Performance
8.1.3 Configuring Codecs
8.1.4 Commonly Used Codecs
8.1.5 Bandwidth and Trunking
8.2 Integrated Services Digital Network
8.2.1 ISDN Basics
8.2.2 Choosing an ISDN Card
8.2.3 Media Gateways
8.3 Analog Telephony
8.3.1 Connecting Analog Devices
8.3.2 Analog Telephone Adapter
Chapter 9 Voicemail
9.1 Example Implementations
9.1.1 An Example Home System.
9.1.2 An Example Business System
9.3 Dialplan Applications
9.3.1 VoiceMail
9.3.2 VoiceMailMain
9.4 voicemail.conf
9.4.1 [general]
9.4.2 [zonemessages]
9.4.3 Defined Contents
9.4.4 Mailboxes
9.5 Dial-by-Name
9.6 Saving Passwords in voicemail.conf
Chapter 10 Interactive Voice Response
10.1 A Simple IVR
10.1.1 Timeouts
10.1.2 Invalid Input (the i Extension)
10.1.3 Pauses
10.2 Multilevel IVR Systems
10.3 Text-to-Speech
10.3.1 Installing Cepstral TTS
Chapter 11 The Asterisk Database
11.1 The Asterisk Database
11.1.1 Writing Values to the Database
11.1.2 Reading Values from the Database
11.1.3 Deleting Values from the Database
11.2 Database Access from the Command-Line Interface
11.2.1 Writing Values to the Database
11.2.2 Reading Values from the Database
11.2.3 Deleting Values from the Database
11.2.4 Displaying Database Contents
11.3 Database Access from the System Shell
11.4 Database Backup
11.5 Application Example: Call Forwarding
11.5.1 Simple Call Forwarding
11.5.2 Complex Call Forwarding
11.6 Application Example: Calling Card
Chapter 12 Queues
12.1 Extension for Testing Hold Music
12.2 musiconhold.conf
12.3 queues.conf
12.3.1 Announcement Sound Files
12.4 agents.conf
12.5 Extensions
12.5.1 Sending Callers to the Queue
12.5.2 AgentLogin() and AgentCallbackLogin()
12.6 Log File
12.6.1 Importing the Queue Log into MySQL
Chapter 13 Features
13.1 Call Transfer
13.1.1 Blind Transfer
13.1.2 Attended Transfer
13.2 Call Parking
Chapter 14 Conferencing
14.1 Installation and the Timing Device
14.2 Defining Conference Rooms
14.3 Access from the Dialplan
14.4 Announcing the Number of Conference Participants
Chapter 15 External Control of Asterisk
15.1 asterisk -rx "command
15.2 Call Files.
15.2.1 Making a Call Automatically
15.2.2 Parameters
15.2.3 Hotel Wake-Up Call Example
15.3 The Asterisk Manager Interface
15.3.1 Creating an AMI User
15.3.2 Talking to the AMI
15.3.3 AMI Commands
15.3.4 Getting the Number of Voicemail Messages with Expect
15.3.5 StarAstAPI for PHP
15.3.6 Getting the Number of Mailbox Messages with PHP
15.4 The Asynchronous JavaScript Asterisk Manager
15.4.1 Getting the Number of Voicemail Messages with AJAM
15.4.2 AJAX and AJAM Considerations
Chapter 16 Asterisk Gateway Interface
16.1 Data Streams
16.1.1 STDIN
16.1.2 STDOUT
16.1.3 STDERR
16.2 Examples in Various Programming Languages
16.2.1 Perl
16.2.2 PHP
16.2.3 Ruby and Adhearsion
16.2.4 Other Programming Languages
Chapter 17 Fax Server
17.1 Installing IAXmodem
17.1.1 Configuring IAXmodem
17.1.2 Configuring faxgetty and Logging
17.2 Installing Hylafax
17.3 Receiving Faxes
17.4 Sending Faxes
17.5 Sending Received Faxes as E-Mail
Chapter 18 Busy Lamp Field, Hints, Pickup
18.1 Controlling Indicators
18.1.1 sip.conf
18.1.2 Hints
18.2 Subscriptions
18.3 Configuring Telephones for BLF
18.3.1 BLF on the Aastra 480i
18.3.2 Polycom Soundpoint IP 501
18.4 Testing the Hints
18.5 Configuring Pickup
18.5.1 extensions.conf for Pickup
18.5.2 Configuring the Phones for Pickup
18.5.3 Configuring Group Pickup
18.6 Advanced BLF Indicators in Asterisk 1.6
Appendix A: Installation Instructions for Asterisk 1.4
A.1 LibPRI
A.2 DAHDI
A.3 Asterisk
Appendix B: Dialplan Applications
B.1 AbsoluteTimeout()
B.2 AddQueueMember()
B.3 ADSIProg()
B.4 AgentCallbackLogin()
B.5 AgentLogin()
B.6 AgentMonitorOutgoing()
B.7 AGI()
B.8 AlarmReceiver()
B.9 AMD()
B.10 Answer()
B.11 AppendCDRUserField()
B.12 Authenticate().
B.13 Background()
B.14 BackgroundDetect()
B.15 Bridge()
B.16 Busy()
B.17 ChangeMonitor()
B.18 ChanIsAvail()
B.19 ChannelRedirect()
B.20 ChanSpy()
B.21 CheckGroup()
B.22 ClearHash()
B.23 Congestion()
B.24 ContinueWhile()
B.25 ControlPlayback()
B.26 Curl()
B.27 Cut()
B.28 DAHDIBarge()
B.29 DAHDIRAS()
B.30 DAHDIScan()
B.31 DAHDISendKeypadFacility()
B.32 DateTime()
B.33 DBdel()
B.34 DBdeltree()
B.35 DBget()
B.36 DBput()
B.37 DeadAGI()
B.38 Dial()
B.39 Dictate()
B.40 DigitTimeout()
B.41 Directory()
B.42 DISA()
B.43 DumpChan()
B.44 DUNDiLookup()
B.45 EAGI()
B.46 Echo()
B.47 EndWhile()
B.48 EnumLookup()
B.49 Eval()
B.50 Exec()
B.51 ExecIf()
B.52 ExecIfTime()
B.53 ExitWhile()
B.54 ExtenSpy()
B.55 ExternalIVR()
B.56 FastAGI()
B.57 Festival()
B.58 Flash()
B.59 FollowMe()
B.60 ForkCDR()
B.61 GetCPEID()
B.62 GetGroupCount()
B.63 GetGroupMatchCount()
B.64 Gosub()
B.65 GosubIf()
B.66 Goto()
B.67 GotoIf()
B.68 GotoIfTime()
B.69 Hangup()
B.70 HasNewVoicemail()
B.71 HasVoicemail()
B.72 IAX2Provision()
B.73 ICES()
B.74 ImportVar()
B.75 Incomplete()
B.76 JabberSend()
B.77 JabberStatus()
B.78 KeepAlive()
B.79 Log()
B.80 LookupBlacklist()
B.81 LookupCIDName()
B.82 Macro()
B.83 MacroExclusive()
B.84 MacroExit()
B.85 MacroIf()
B.86 mailboxExists()
B.87 Math()
B.88 MD5()
B.89 MD5Check()
B.90 MeetMe()
B.91 MeetMeAdmin()
B.92 MeetMeChannelAdmin()
B.93 MeetMeCount()
B.94 Milliwatt()
B.95 MinivmAccMess()
B.96 MinivmDelete()
B.97 MinivmGreet()
B.98 MinivmNotify()
B.99 MinivmRecord()
B.100 MixMonitor()
B.101 Monitor()
B.102 Morsecode()
B.103 MP3Player()
B.104 MSet()
B.105 MusicOnHold()
B.106 NBScat().
B.107 NoCDR().
Notes:
Bibliographic Level Mode of Issuance: Monograph
Description based on publisher supplied metadata and other sources.
ISBN:
9786612694059
9780321701565
0321701569
9781282694057
1282694057
9780321543745
0321543742
OCLC:
1027146091

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account