Home » » Asterisk: The Future of Telephony Jim Van Meggelen, Leif Madsen, and Jared Smith

Asterisk: The Future of Telephony Jim Van Meggelen, Leif Madsen, and Jared Smith




Asterisk: The Future of Telephony Jim Van Meggelen, Leif Madsen, and Jared Smith
Table of Contents
Foreword . . . . . . . . . xi
Preface . . . . . . . . . . xv
1. A Telephony Revolution . . . . . . . . . . . . . 1
VoIP: Bridging the Gap Between Traditional and Network Telephony 2
Massive Change Requires Flexible Technology 3



Asterisk: The Hacker’s PBX 5
Asterisk: The Professional’s PBX 5
The Asterisk Community 6
The Business Case 8
This Book 9
2. Preparing a System for Asterisk . . . . 11
Server Hardware Selection 13
Environment 21
Telephony Hardware 25
Types of Phones 29
Linux Considerations 34
Conclusion 34
3. Installing Asterisk . . . . . . . . . . . . . . . . . . 37
What Packages Do I Need? 38
Obtaining the Source Code 40
Menuselect 42
Compiling Zaptel 43
Compiling libpri 47
Compiling Asterisk 48
Installing Additional Prompts 50
Common Compiling Issues 51
Loading Asterisk and Zaptel Quickly 54
Loading Zaptel Modules Without Scripts 55
vii
Loading libpri Without Script 57
Starting Asterisk Without Scripts 57
Directories Used by Asterisk 59
AsteriskNOW™ 62
Conclusion 67
4. Initial Configuration of Asterisk . . . . . 69
What Do I Really Need? 70
Working with Interface Configuration Files 71
Setting Up the Dialplan for Some Test Calls 73
FXO and FXS Channels 73
Configuring an FXO Channel for a PSTN Connection 75
Configuring an FXS Channel for an Analog Telephone 79
Configuring SIP Telephones 81
Connecting to a SIP Service Provider 97
Connecting Two Asterisk Boxes Together via SIP 101
Configuring an IAX Softphone 106
Connecting to an IAX Service Provider 110
Connecting Two Asterisk Boxes Together via IAX 111
Using Templates in Your Configuration Files 115
Debugging 116
Conclusion 117
5. Dialplan Basics . . . . . . . . . . . . . . . . . . . 119
Dialplan Syntax 119
A Simple Dialplan 124
Building an Interactive Dialplan 127
Conclusion 144
6. More Dialplan Concepts . . . . . . . . . . 145
Expressions and Variable Manipulation 145
Dialplan Functions 148
Conditional Branching 149
Voicemail 153
Macros 157
Using the Asterisk Database (AstDB) 160
Handy Asterisk Features 163
Conclusion 165
7. Understanding Telephony . . . . . . . . . 167
Analog Telephony 167
Digital Telephony 170
The Digital Circuit-Switched Telephone Network 180
viii | Table of Contents
Packet-Switched Networks 184
Conclusion 184
8. Protocols for VoIP . . . . . . . . . . . . . . . . 185
The Need for VoIP Protocols 186
VoIP Protocols 187
Codecs 193
Quality of Service 197
Echo 200
Asterisk and VoIP 202
VoIP Security 204
Conclusion 206
9. The Asterisk Gateway Interface (AGI) . . . . . . . . . . . . . . . . . . . . 207
Fundamentals of AGI Communication 207
Writing AGI Scripts in Perl 210
Creating AGI Scripts in PHP 214
Writing AGI Scripts in Python 219
Debugging in AGI 223
Conclusion 225
10. Asterisk Manager Interface (AMI) and Adhearsion . . . . . . . . 227
The Manager Interface 227
The Flash Operator Panel 231
Asterisk Development with Adhearsion 231
11. The Asterisk GUI Framework . . . . . 245
Why a GUI for Asterisk? 245
What Is the GUI? 246
Architecture of the Asterisk GUI 248
Installing the Asterisk GUI 249
Developing for the Asterisk GUI 251
12. Relational Database Integration . . . 263
Introduction 263
Installing the Database 263
Installing and Configuring ODBC 265
Using Realtime 268
Storing Call Detail Records 272
Getting Funky with func_odbc: Hot-Desking 274
ODBC Voicemail 286
Conclusion 291
Table of Contents | ix
13. Managing Your Asterisk System . . 293
Call Detail Recording 293
Managing Logs 295
Running Asterisk As a Non-root User 295
Customizing System Prompts 298
Music on Hold 299
Conclusion 302
14. Potpourri . . 303
Festival 303
Call Files 306
DUNDi 307
Alternative Voicemail Storage Methods 312
Asterisk and Jabber (XMPP) 315
Conclusion 316
15. Asterisk: The Future of Telephony . 317
The Problems with Traditional Telephony 317
Paradigm Shift 320
The Promise of Open Source Telephony 320
The Future of Asterisk 327
A. VoIP Channels . . . . . . . . . . . . . . . . . . . 337
B. Application Reference . . . . . . . . . . . . 367
C. AGI Reference . . . . . . . . . . . . . . . . . . . . 449
D. Configuration Files . . . . . . . . . . . . . . . . 461
E. Asterisk Dialplan Functions . . . . . . . 493
F. Asterisk Manager Interface Actions . . . . . . . . . . . . . . . . . . . . . . . 515
G. An Example of func_odbc . . . . . . . . . 551

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Share this article :
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Digital Education In India - All Rights Reserved
Template Created by Creating Website
Proudly powered by Blogger