How to unlock Huawei modem

After last post about GSM gateway based on Raspberry Pi and Huawei modem, I have received few questions like "how to unlock it?" Below is YouTube video describing process.

Asterisk on Raspberry Pi as GSM gateway

Yesterday I've installed chan\_dongle for Asterisk PBX running at Raspberry Pi. What is chan\_dongle? It is driver for Asterisk PBX, that allow to use some Huawei 3G USB dongles as a voice "board" to handle voice, SMS and USSD. Kind of your own self-made single-channel GSM gateway.

Time based conditions in voice (AGI) application

Typical telephony system process incoming call-flow based on different times (and of course customer do want to have control on that, handle time-ranges; also whole platform could be an multi-tenant server with different virtual PBX'es).

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

Questionnaire application were in production for long time for one small project, now I've decided to share with VoIP community. It's based on AsteriskRuby gem. How it works: for new caller system would play welcome announcement, for returned caller "welcome back" announcement (caller authentication based on callerid number and PIN); upon successful authentication, system will continue from last unanswered question (or will start with first question for new caller); Amount of attempts is unlimited, answers and amount of calls are stored into DB.

Telephony system for remote locations

Who is living far away from home country. Or working remotely. Who is travelling a lot, or have presence in another country — such people or businesses need some telecommunication system, that will keep them connected to the world.

Asterisk AGI sample in bash

Asterisk AGI sample in bash, very interesting. Bash is great alternative in situation when external scripts must be executed to implement functionality Asterisk can't do.