In 2007 I left my job of 13 years and started my own business. I needed a phone system. I knew of Asterisk only in name, having no real previous experience with any PBX or even VoIP. My business partner was looking at a used Merlin system on eBay, but I at least knew that was a terrible idea, and asked for a week to come up with a better solution.
Long story short, I downloaded Asterisk and dove in head first. Once I got a couple of softphones working (and had had a pretty good time doing it) I threw caution to the wind, ordered a Digium TDM card to plug a few POTS lines into, and bought a mess of SIP phones for the office. In just a couple of days I had a completely functional phone system running.
While trying to answer some of my own questions along the way, I started hanging out in the #asterisk IRC channel on Freenode. Once I had a greater understanding of how things worked myself, I noticed a lot of people coming in asking some of the same questions I had.
Asterisk looks a bit intimidating at first, shipping with over 100 config files which drives some people to seek out a GUI like FreePBX to try and make things easier. My goal with this guide was to try and write a decent Asterisk primer for the beginner in such a way that it doesn't seem so overwhelming - a bootstrap of knowledge to get you off and running.
This primer will teach you how to compile, install, and configure a basic Asterisk system from scratch, hopefully giving you an understanding of how the system works as a foundation to explore the rest of it yourself with confidence.
This primer is not going to explain what every single option in every single configuration file does, or what every single module does, etc.