Asterisk Bootcamp
Asterisk Bootcamp is an intensive 5-day training course providing in-depth coverage of the key points of Asterisk installation, configuration and administration. The course (designed by Sokol & Associates) begins with a comprehensive review of Asterisk as an application, a project and a community. Students will learn to download, compile, install, and tune Asterisk, to connect it with both end-user devices (phones) and the outside world. Students will learn to create dialplans, to implement applications, and to make use of the long list of features included with Asterisk. At the end of the course, students will be able to create a working Asterisk system from a standard Linux computer, configure the system to support end users connected via multiple technologies, and to handle all necessary adds, moves and changes. If you want to learn how to implement a working Asterisk system, Asterisk Bootcamp is your class.
Asterisk Bootcamp is designed for:
- Anyone seeking immediate proficiency in Asterisk implementation
- PBX technicians looking to offer Asterisk solutions and support
- Linux/Unix VARs who need a jump-start into telephony
- Network and IT consultants who want to service the voice/data convergence market
Upon completion of Asterisk Bootcamp, the student will:
- Be comfortable working within the Linux shell, at least to the degree that they can navigate to the appropriate directories and edit files with the nano editor.
- Understand the various components of Asterisk which are involved in each call (i.e. the channel, the channel configuration, the dial plan, the applications, etc.).
- Be able to add a new users to the system (channel entry, extension, voice mailbox, etc.) delete users from the system, and alter user configurations.
- Be able to configure several common models of SIP phones.
- Be able to create IAX2 or SIP links to service providers.
- Be able to alter basic parameters for Zaptel devices (both FXS and FXO).
- Be able to add DIDs and direct them to users.
- Be able to implement new features (i.e. add MeetMe rooms, a DID for DISA, access to voicemail, etc.).
- Be able to build IVR menus with proper loop-prevention, error handling, etc.
- Be able to record prompts for IVR menus, audio text messages, etc.
- Understand the Asterisk ACD (queue/agent) system and be able to implement queues.
- Be able to build a dial plan which provides the appropriate level of access to each user on the system.
- Be able to back up the system’s core configuration components.
- Understand the issues with NAT and how that can impact remote users. Understand the strategies which can eliminate these issues.
- Be able to check on system health and wellbeing from the shell/CLI.
- Understand the general security threats which can impact an Asterisk system and how best to prevent/avoid them.
- Understand how call routing works in Asterisk and be able to implement a basic Least Cost Routing structure in the Dial Plan.
- Recognize the potential issues related to emergency handling (911/E-911) and how best to configure a system to securely handle such calls.
Prerequisites
For best results, students should have previous programming experience and basic Linux experience.
For students interested in more advance preparation, we recommend Asterisk: The Future of Telephony, by Jim Van Meggelen, Jared Smith, and Leif Madsen.
Syllabus
| Section | Contents |
|---|---|
| Introducing Asterisk | What is a PBX? Asterisk: The Program, Tool Kit, Platform, Product, Project, Community, and Business Ecosystem The History of Asterisk and Open Source The GNU GPL Why do Open Source? What Business Model? Asterisk’s Dual License Model GPL Asterisk Asterisk Business Edition Asterisk OEM License The 9,000 Faces of Asterisk |
| Asterisk Architecture | Asterisk & Linux The Big Picture Asterisk Configuration |
| Installing Asterisk | Versions & Releases Repository Asterisk Components Pre-Install Requirements How to get the Source Code What Source Code to get Compile the Code What you get Starting Asterisk Connecting to Asterisk’s CLI |
| Configuring a Basic PBX | Asterisk Call Flow Call Flow Details Configuration Files Adding a phone Adding a SIP Phone Adding an Extension Building a 2 Extension PBX Install X-Lite on your PC |
| Introducing the Dial Plan | What is a dialplan? Dialplan Syntax and Structure Contexts Extensions Priorities Applications Application Syntax The Answer() Application The Playback() Application The Hangup() Application Putting it all together |
| Extending the Dialplan | Making an Interactive dialplan DTMF The Background() Application Background() Example Background() and Timeouts Auto-fallthrough The WaitExten() Application Special Extensions Adding jumps and loops The Goto() Application Goto() Syntax Other Useful Applications Dialing from the Dialplan Voicemail Voicemail.conf Dial-by-name directory The record() application Authenticate your callers VMAuthenticate() Echo() and Milliwatt() |
| VoIP Fundamentals | VoIP Protocols: What are they? VoIP Protocols in Asterisk Codecs Users, Peers and Friends |
| Voice Over IP Fundamentals | SIP IAX: Inter Asterisk Exchange VoIP: The Underlying Network Networking Basics Re-invites |
| More Dialplan Concepts | What are variables? How are variables used? Global Variables Channel Variables Environment variables Global vars for end-points Variables {DIALSTATUS} Pattern Matching Pattern Matching Syntax The wild card match NANPA Toll Fraud The ${EXTEN} Variable Includes Applications II |
| Expressions and Branching | Expressions Dialplan functions Conditional Branching Priority Labels Looping |
| Connecting to the PSTN | History of Open Source Hardware Telephony FXO vs. FXS Analog Signaling Obtaining the Zaptel drivers Compiling Zaptel Systems running udev Configuring zaptel.conf Loading the drivers Ztdummy CallerID over POTS Passing through Caller ID Flash Transfers |
| DUNDi | What is DUNDi? GPA (General Peering Agreement) How does it work? DUNDi call flow Simple Lab Schema Configuration How does it work? Dundi.conf Dialplan (extensions.conf) Channel Configuration file Dundi.conf configuration Extensions.conf Iax.conf Sip.conf DUNDi as a routing protocol |
| Advanced Dialplan Applications | Macros The AstDB database Switches DIDs Asterisk call files |
| Call Queues and ACD Concepts | What are queues? What are agents? Queue Strategies Simple call queues without agents Call queues using agents Configuring agents.conf Logging in agents Adding agents to the queue Queue statistics |
| Debugging your system | Helping yourself to debug |
| Digital Telephony with Zaptel | History of Digital Telephony T1/E1 Low-Levels Channelized vs. PRI Advantages/Disadvantages ISDN PRI Connections PRI Advantages/disadvantages Zaptel Configuration Configure Zaptel signaling Zapata.conf configuration Channels connected to phones Zap call groups Asterisk CLI help messages PRI-B Channel Restarts |
| AGI: Beyond the dialplan | What is AGI? Standard Interface Communication STDIN, STDOUT, and STDERR Typical AGI Program Calling AGI Scripts AGI Notes |
| Manager and Realtime | Computer Telephony Integration Manager Basics Manager Commands Manager Applications The Manager Proxy Manage Future Asterisk Realtime Architecture (ARA) Realtime to the rescue APA: Good/Bad/Ugly Realtime Future Other Configuration Options |
Price
A five-day class, a student guide, a luxury room, three delicious meals a day, a stylish "Big Nerd Ranch" t-shirt, and transportation to and from the airport for only $4000. Plan to arrive on Sunday evening and depart on Friday afternoon.
When the class is offered in Europe, the price is €3200 plus VAT. (€2900 plus VAT if you register at least five weeks before the class begins.)