All-in-one (Crystal-lang library that handle all the Asterisk PBX interfaces)


I’ve created and open-sourced a Crystal-lang shard (library) that handle all the Asterisk PBX interfaces (ARI, AMI and all types of AGI). Get it here: https://github.com/ctiapps/asterisk.

Another library?

There were no libraries for VoIP with Crystal-lang so I’ve created my own.

Working on recent project we had a need to deal with AMI and ARI together, with a lot of async processing. Initial code were Ruby-based, but there it only single Ruby-gem for ARI and async support in Ruby is not the best one.

I really love Crystal-lang. It’s inspired by Ruby and I had no issues switching to it (however it is not Ruby, only syntax is more or less shared). It is fast, really fast, no lags, no delays! It compiles and resulting code is tiny, docker image with all the stuff packed-in is around 20MB in size. Before making decision I also have tried Elixir. Golang might be also an option, but after Ruby I don’t want to leave comfort zone ;)

What’s in a box?

Further plans

First of all, the library will be continuously supported. I hope, community members will join to help me;

Documentation site with examples;

Considering to add Freeswitch support too;