Recently I stumbled upon some online discussion about VOIP PBX and it immediately gave me nostalgia feels for the Asterisk-based PBX I built around 2005/6-ish (definitely a pre v1.0.0 version, compiled from source ISTR?) on a Dell Optiplex GX110 running some early “Fedora Core” build… FC4 maybe? I say “built” but it was more like “painstakingly and lovingly hand-crafted” given the amount of time I had to spend getting my SIP trunks and SIP extensions fully working… hours and hours of digging into the config files. This PBX ran my home-office phone comms for a good few years and I was massively proud of it 🙂 I even had it forwarding calls based on Bluetooth proximity detection. This was around the same time as connecting retro telephone handsets to smartphones seemed like a good idea… it was ironic, OK? 😉
I also had a USB “Skype adapter” that I managed to coax into service to use analogue/house phones with the PBX along with some Linksys/Sipura ATA/FXO/FXS boxes.
So back to the present day where I thought it would be cool to build another home-office PBX in 2022… I had a spare Raspberry Pi lying around and I decided to buy an old Cisco 7962G SIP phone from ebay (£9.99 delivered!) add an unlocked USB 3G dongle (~ £14 delivered!), add a giffgaff.com £6/mnth SIM and hook it up to asterisk/FreePBX and hopefully have a new PBX up and running in no time…. how wrong I was 😂
These old Cisco phones polarise opinion: according to some they’re the worst things ever invented, according to others they’re the best things you can buy for a few quid… they run SCCP by default but Cisco provides firmware (for free if you register an account) to convert them to SIP. The latest firmware is old (9.4(2)SR3 dating from 2017) and they’re “end of life” i.e. abandoned by official Cisco support channels but there’s a wealth of information on various VOIP forums…. maybe a little too much information! The set up and SIP config is picky and the trial-and-error method of “poke it until it works” soon became tiresome… I did however find a very very useful resource here.
I must have spent at least 3 whole days watching these screens, learning the ins & outs of the XML config file, tweaking things here & there… staring at the phone while it boots and then just sits at “Registering…” status over & over again… <sigh>
The reprogramming procedure is fairly straightforward once the TFTPd and DHCP servers are set up correctly, and I quickly learned the soft/hard-reset key press sequences after having to enter it what felt like 100s of times…
But eventually I ended up with a config that allowed the phone to successfully register with Asterisk 😎 Setting up chan_dongle to work with the USB GSM/3G modem was extremely straightforward too. (Although I had to manually edit the config file to get UK specific tones/announcements and tweak the Tx/Rx audio levels).
FreePBX/Asterisk VOIP PBX with GSM & SIP trunking and a handful of extensions now working 🙂
The Pi model 4 might be a little overpowered for the number of channels/trunks I’ll be using but it was all I had spare at the time. The use of SD card as main disk is not ideal in this application but plans to replace it with USB-SSD are underway…
Adding an FXO gateway will allow handling of landline calls on my PSTN Home/Work lines too.
Although nowadays most of my calls are done over Slack/Microsoft Teams/Whatsapp/Zoom anyway… meh ¯_(ツ)_/¯
I have a VOIP client on my mobile phone so with a VPN I can receive incoming calls via the ring-group I’ve created. I can also make outgoing calls via the PBX when away from home, and access voicemail.
Recipe: Raspberry Pi 4B 4GB + 32GB SD card RasPBX - Asterisk + FreePBX http://www.raspberry-asterisk.org/ Cisco 7962G + SIP firmware 9.4(2)SR3 + tutorial tftpd-hpa and ISC DHCP server (running on another Pi, to re-flash the 7962) (
'chown tftp:tftp *' in the /home/pi/tftpboot directory) tftpd settings:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/pi/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-4 --create --secure"Vodafone (unlocked) Huawei K3520 USB GSM dongle + SIM Sipgate VOIP number + your favourite iOS/Android VOIP client for remote access 🙂