A while back I stumbled upon an article describing a way to use 3G mobile dongle and Raspberry Pi with PBX software to create a GSM VoIP gateway. Another user managed to use similar setup to make calls between Germany and Cambodia and avoid ridiculous roaming charges while abroad. So looking at success stories I came up with an idea to implement something similar for my personal use and provide means for my family abroad to call me any time without being charged for international calls. This article is describing all required steps to create your own VoIP gateway.
Hardware and Software requirements
Raspberry Pi was not powerful enough for me so I decided to go for Banana Pi/Pro. On top of the improved hardware I’m getting a SATA port with power cord so I can attach SSD drive and move my Linux from the SD card. Please note that SD card is still required for the system to boot from.
I spent about £120 on Hardware for a single instance but you can cut costs if you don’t buy SSD for example.
- 1x Banana Pro board – £35
- 1x Case for Banana Pro plus SATA cable – £5
- 1x Kingston 32 GB SD card – £11.30
- 1x Kingston 120 GB SSD – £49.45 (optional)
- 1x 3G/UTMS Mobile Dongle – £19.49 (I went for Huawei E173 but other dongles are reported to work as-well)
- 1x Power adapter – £8
- 1x SIM card – ca. £15/month
- 1x SIM card adapter – £2.75 (I was only having microSIM and my dongle is using a normal size SIM)
At the time of writing of this article I’m having my working setup on:
- Lubuntu 14.0.1
- Asterisk 11
- FreePBX 12
Download Lubuntu from LeMaker and copy it to your SDcard. Have in mind that the downloaded image is a raw copy of the installation, hence it includes partitioning table etc. I used my GSM dongle for that purpose as it had a built-in microSD card reader.
Don’t forget to change source and destiantion accordingly. Once this is done plug-in the card in the Banana Pi and power it on. A blinking green light means your box recognized the card and is actually booting, something you can see if you attach the box to a TV with HDMI or SVideo port.