Voice · Intermediate

Asterisk course

Install Asterisk, register a SIP endpoint, and write a dialplan that rings a phone.

Who it is for

People building a lab PBX.

You should already know

A Linux VM and a softphone. Do not expose SIP to the internet on a default install.

You will be able to

  • Install Asterisk from packages or source
  • Register a PJSIP endpoint
  • Dial an extension

Lessons

  1. Install Asterisk Packages versus source, and the first safe config.
  2. SIP extension A minimal PJSIP endpoint.
  3. Dialplan extensions.conf: contexts, priorities, and Dial().
  4. Create a Dedicated Asterisk System User on CentOS Learn how to create a dedicated Asterisk user on CentOS, set its password, enable wheel-based sudo access, and verify groups and privileges safely.
  5. Asterisk Architecture: Core, Modules, Channels, Dialplans, and Applications Learn how the Asterisk core, loadable modules, channels, dialplans, and applications work together to process calls and configure a PBX.
  6. Change Ownership of Asterisk Files Learn how to assign Asterisk directories to a dedicated non-root Linux service user with chown, then verify ownership and troubleshoot permission failures.
  7. Asterisk Dialplan Contexts: Isolation, Call Entry Points, and Security Learn how Asterisk contexts connect channels to dialplan logic, isolate call flows, define classes of service, and protect internal destinations.
  8. Create an Automated Attendant in Asterisk Build a basic Asterisk automated attendant that plays prompts, accepts DTMF choices, routes callers to SIP endpoints, and handles timeouts.
  9. Defining Call Queues in Asterisk with queues.conf Learn to define, template, load, and verify Asterisk call queues with queues.conf, including distribution strategies, queue behavior, and CLI troubleshooting.
  10. Asterisk Dialplan Extensions: Syntax, Priorities, Applications, and Contexts Learn how Asterisk extensions work in extensions.conf, including syntax, priorities, applications, contexts, pattern matching, call flow, and troubleshooting.
  11. Install and Configure Ekiga Softphone on Ubuntu for Asterisk SIP Calls Learn how to install Ekiga on Ubuntu, configure it as an Asterisk SIP endpoint, verify registration, place test calls, and troubleshoot audio, codec, NAT, and video problems.
  12. Install Asterisk Modules and Sound Packages with Menuselect Learn how to use Asterisk Menuselect to choose modules, build options, and language-specific sound packages before compiling and installing Asterisk.
  13. Handling Invalid DTMF Input and Response Timeouts in an Asterisk Dialplan Learn how to handle invalid DTMF digits and caller response timeouts in an Asterisk IVR using the i and t special extensions.
  14. Using Predefined Channel Variables in Asterisk Dialplans Learn how Asterisk predefined channel variables such as CONTEXT, EXTEN, and PRIORITY describe call execution, plus practical EXTEN pattern and substring examples.
  15. Asterisk Dialplan Priorities Learn how Asterisk dialplan priorities control application order, including numeric priorities, n, same =>, and practical extensions.conf examples.
  16. Register SIP Phones to an Asterisk Server Learn how to configure Ekiga as a SIP endpoint, register it with Asterisk, verify peers from the CLI, and prepare the dialplan for calls.
  17. Required Asterisk Configuration Files for a First Startup Learn how to create the minimum Asterisk configuration files, set permissions, enable modules, configure regional tones and music on hold, and verify the Asterisk CLI.
  18. Advantages of Asterisk for VoIP and PBX Deployments Learn how Asterisk provides a flexible, open-source PBX platform with lower software costs, commodity hardware support, customizable call flows, telephony features, and a broad community ecosystem.
  19. Asterisk Answer Application: Answering Ringing Channels in the Dialplan Learn how Asterisk Answer() changes a ringing channel to answered, and how to use it before Playback() and Hangup() in a simple dialplan.
  20. Using the Asterisk Background Application for Interactive Voice Menus Learn how Asterisk Background() plays prompts while accepting DTMF input, using WaitExten(), and routing callers through an IVR or auto attendant.
  21. Asterisk Dial Application: Destinations, Timeouts, Options, and URLs Learn how Asterisk Dial calls one or more endpoints, bridges answered channels, and uses destinations, timeouts, options, and URLs in a dialplan.
  22. Disadvantages and Operational Trade-Offs of Asterisk Understand the Linux skills, dialplan knowledge, administration effort, GUI limitations, and support trade-offs involved in operating an Asterisk PBX.
  23. Asterisk Goto Application: Dialplan Flow Control Learn how Asterisk Goto() redirects dialplan execution within an extension, across extensions, or between contexts, with examples and troubleshooting.
  24. Asterisk Hangup Application: Ending Calls in the Dialplan Learn how to use Asterisk Hangup() to terminate an active call, finish dialplan branches, and prevent unintended call-flow continuation.
  25. Asterisk Playback Application: Playing Audio and Video Prompts Learn how to use Asterisk Playback to deliver prerecorded announcements, locate sound files, handle DTMF behavior, and test a simple dialplan.
  26. Configure Asterisk Voicemail with voicemail.conf Learn how to configure Asterisk voicemail.conf, including global options, time zones, mailbox credentials, email notifications, dialplan integration, and CLI verification.
  27. Using the Asterisk VoiceMailMain Application Learn how to configure Asterisk VoiceMailMain for mailbox login, voicemail retrieval, greetings, mailbox options, and secure dialplan access.
  28. Using Configuration Templates in Asterisk Learn how to declare Asterisk configuration templates, inherit shared settings, override values, use multiple templates, and validate changes safely.
  29. What Is an Asterisk Dialplan? Learn how Asterisk dialplans use contexts, extensions, priorities, and applications to control inbound and outbound call routing.