How I learned Asterisk

Published Dec 18, 2017Last updated Dec 21, 2017
How I learned Asterisk

About me

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.

Key takeaways

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
https://www.voipmechanic.com/sip-basics.htm
http://www.siptutorial.net/SIP/
https://www.freepbx.org/
https://www.asterisk.org/get-started

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.

Discover and read more posts from Ademola Oladipo
get started