Blog
2013
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.
Delete voice recordings older than N-days
Disk space running out fast in loaded telephony systems with instant call recording or either with heavy usage of voicemail. It's good to purge them on regular basis.
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.