How I learned Asterisk
Software engineer who likes fooling around beneath the sheets with technology.
Why I wanted to learn Asterisk
I needed to implement an Interactive Voice Response application that leverages a telecom operator's network to serve audio lectures to subscribers to the service.
How I approached learning Asterisk
Before deciding on any technology to solve a problem, I follow a simple guide: analyze the problem and break it down into simpler chunks and then research tools needed to solve the chunks.
If there's a readily available open source tool that solves it, with good community and support, I go with that. If there's none available, I go with a language/framework that offers the best option, using a learning curve, deadline, scalability, and capabilities as a measuring yardstick.
For this project, I went with Asterisk (https://www.asterisk.org/get-started). Asterisk is an open source framework for building communications applications with an ever helpful community and learning resources provided by Digium.
Another important reason I went with Asterisk, is Freepbx. Freepbx is an open source web based GUI that controls and manages Asterisk.
Challenges I faced
I ran into a couple of problems deploying the solution — most of them were initial hiccups one experiences when learning a new language, tool, or framework.
The more difficult ones were the ones involving integration with a telecom operator. I would expand more on this in my tutorial on setting up an easily deployable SIP server using Asterisk, Freepbx, Docker, Elastic Search, and Logstash.
There's no replacement for learning new approaches to solving problems. It opens up one's mind to different possibilities.
Tips and advice
Check out the following resources to learn more about SIP Communication and Asterisk
Final thoughts and next steps
The next step for me is learning more about building artificially intelligent systems and how to integrate that into IVR, GIS, and predictive systems for industries.