asterisk
Rebuilding the Asterisk Docker Matrix
Notes on rebuilding andrius/asterisk. The template system, the version coverage from 1.2.40 to 23.2.0, and the CI/CD that keeps it supported.
Streaming Asterisk Audio Into Pipecat With chan_websocket
Notes on integrating Asterisk 23's chan_websocket channel driver with Pipecat. Three attempts, the protocol surprises, and the small bridge code that ended up working end-to-end.
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 handles all Asterisk PBX interfaces (ARI, AMI, and all types of AGI).
First release of Roaming PBX
Announcing the first alpha release of the Roaming PBX image, featuring Ruby, pcapsipdump, Asterisk PBX, and the SILK codec.
Creating your own custom image for Raspberry Pi
How to cross-compile a custom Raspberry Pi image and to build custom Asterisk PBX installation.
Asterisk with silk8 and amr-nb codecs
How to get Asterisk PBX working with SILK and AMR-NB codecs.
Debian installer (Asterisk and Adhearsion AGI framework)
Here is a script that installs Asterisk PBX 11.x: with fax support, MySQL, Ruby, and Adhearsion AGI.
Roaming PBX with Raspberry Pi, Asterisk and chan_dongle
As a frequent traveler, I understand the telecommunications needs of other travelers and citizens of the world. Recently, I decided to dedicate my free time to building a Roaming PBX solution.
Why you should create AGI?
In the world of Asterisk, the dial-plan is a powerful tool for creating custom voice applications. However, there are situations where using AGI (Asterisk Gateway Interface) is preferred. This article explores the reasons why AGI can be a valuable addition to your Asterisk system.
Click-to-call script for Windows users
Sharing one of my older projects with Asterisk: a click-to-call library with client and server components. It does work with Windows!
How to unlock Huawei modem
After my last post about the GSM gateway based on Raspberry Pi and Huawei modem, I received a few questions asking how to unlock it. Below is a YouTube video that describes the process.
Asterisk on Raspberry Pi as GSM gateway
Yesterday, I installed chan_dongle for my Asterisk PBX running on Raspberry Pi. chan_dongle is a driver that enables the use of Huawei 3G USB dongles as a voice "board" for handling voice, SMS, and USSD. I conducted extensive research on various topics and summarized everything in a document. Additionally, I provided useful links related to Asterisk CLI commands, troubleshooting Huawei modems, and additional resources for chan_dongle.
Time based conditions in voice application
The typical telephony system processes incoming call flows based on different times. Customers want to have control over this and handle time ranges. The platform can also be a multi-tenant server with different virtual PBXes. In my implementation, I use Ruby, ActiveRecord, and polymorphic associations to create routing blocks. By reusing polymorphic database associations, I can create flexible call flow building blocks. These blocks can be linked to any voice-related entity in a PBX, such as an extension, voicemail, conference, etc. This enables customizable and dynamic call handling based on time conditions.
Questionnaire application with Asterisk PBX AGI + Ruby
The Questionnaire application, based on the AsteriskRuby gem, is a production-ready system that was developed a while ago for a small project. Now, I want to share it with the VoIP community. The application provides caller authentication, prompts for a PIN code, and continues from the last unanswered question for returning callers, storing answers and call records in the database.
Telephony system for remote locations
How to build a telecommunication system to keep you connected globally while maintaining a good price/quality/flexibility balance. The components include a VoIP server, prepaid SIM card, and DID phone number for low-cost or zero-cost calls.
Asterisk AGI sample in bash
The Asterisk PBX AGI sample in Bash is a great option for creating small yet flexible dial plans for embedded devices and more.