Figuring out FreePBX

Note: This post was originally published on it’s been moved here for archival purposes.

In a moment of clarity I realised I was massively overcomplicating how to go about directing calls.  I had wanted the PBX to know if I was out of the house and route calls to the extension on my iPhone instead of my Mac.  When I thought about it this evening I realised that’s completely unnecessary as FreePBX lets you set a rule for what to do if an extension is unreachable.  So I have now set it up so that if the softphone on my Mac isn’t signed in then the call forwards to the extension for my iPhone.

On the subject of the iPhone, it turns out there are a number of SIP clients out there.  I’ve tried a few of them but so far the most reliable one has been 3CXPhone as it has the ability to accept calls in the background and when the device is on standby.  The only downside is that the ringtone is Marimba which I can’t stand and sadly there is no option to change it.

It’s all coming together quicker than I expected but there are still a few things to tick off:-

  • Setup a VPN so I can connect externally.
  • Configure the PBX to only allow calls through between 9am and 5pm Monday to Friday.  All other calls should go to voicemail and the messages forwarded to my email account.
  • Record better messages for any of the greetings or menus I’ll be using rather than the robotic American voice currently being used.

Raspberry Pi PBX

Note: This post was originally published on it’s been moved here for archival purposes.

I’ve been looking at a cheap and flexible solution to having a separate phone number for business calls. I recently came across a post detailing how to use the Raspberry Pi as a PBX. It seems like it will more than cover my needs and as it comes in at under £50 for everything I figured it was worth a go.

I had planned to write a detailed post explaining what was involved in setting it up but it was much easier than I expected.  Essentially you download the image for the SD card use PiWriter to copy img to SD card from the Mac.  Plug in power and ethernet, SSH into the Pi to make a few changes and then everything else can be done via the web interface.

I followed the instructions for installing Incredible PBX on the Raspberry Pi from Nerd Vittles.  Next I needed a VoIP account and as I’m in the UK sadly google voice wasn’t an option.  So I signed up for a free SIP account at Sipgate and then followed these steps to set up a Sipgate trunk.

I’m using X-Lite on my macbook air as my soft phone at the moment.  I have incoming and outgoing calling working perfectly.  Currently calls do go to voicemail if unanswered but no messages are recorded.

The next plan is to set up a VPN tunnel into my home network so I can run a SIP client on my iPhone that will work as an extension of the PBX.  The upside is that as it’s an internal extension there won’t be any charge to pass the call on.  The downside is that it requires my phone to have an internet connection which is a rare thing in Thanet.

Ultimately I want the system to recognise if I’m home or not and automatically divert calls to the appropriate extension.  I’m sure this should be possible by looking to see if my iPhone’s MAC address is connected to the network.  Now I just need to figure out how to make a change in asterisk based on network information.

The project continues…