3CX Phone System


I decided to give myself a side project with setting up my very own phone system entirely in the cloud. I chose 3CX as this is what we deploy to all our clients, and they happened to have been doing a 1 year free trial!

Even though I have lots of experience managing phone systems (installing phones, setting up users, ring groups etc), I had yet to set one up entirely from scratch on my own, making the initial part of the process entirely new to me.

I needed somewhere to host my phone system, so I used Amazon Web Services’ Virtual servers as they offer a free micro instance(EC2 t2 family), which offers more than enough performance as they’ll only be a maximum of two calls at any given moment. In the future I may look into hosting 3CX from my own Linux server, but I need more space in my house first!

The next step was creating a 3CX account, and installing it directly to my AWS instance. One really great feature of 3CX, is that you enter your EC2 keypair and it will install directly to an instance. After leaving 3cx to do its thing for a few minutes, I now had my personal phone system in the cloud!

Although this was very cool, it was a bit pointless if I couldn’t make a call with it, so my next step was setting up a SIP trunk. My original plan was to use Amazon Chime to buy a phone number, and use their SIP trunk service all in one. However they do not currently offer that plan in the UK.

After some looking around, I chose Voip.ms. Finding a suitable personal SIP trunk service that worked well with 3CX, and didn’t have their own PBX services ended up being quite tricky because a large amount of them are focused on business use.

Purchasing a DID was a straight forward process with Voip.ms. Once I had validated my idendity, and activated my account, I was ready to add funds to purchase my DID. They had a wide range of numbers to chose from, so I selected a toll-free local number. Voip.ms took about 5 days to complete this process.

With Voip.ms being supported by 3CX, it made the process even easier. All I needed to do was enter my Voip.ms account details into the sip trunk section on my 3CX dashboard and follow the steps closely… or so I thought!

Incoming calls worked without an issue, however I was struggling to make outgoing calls. This bit took me a while to diagnose, as I was eliminating the many areas where it could have gone wrong. I had errors ranging from forbidden, declined, service unavailable and more. What I had overlooked was that Voip.ms is a Canadian service, so I had to prepend my dialed numbers with 011, then add the county code as it was classed as an international call. To make this easy I created an outbound rull to strip the number, and add the prefix for me.

Now the fun bit, deciding how I’d like to handle incoming calls! The purpose of this phone system was to replace the home phone, so that if either my girlfriend or I was out, one of us could pick-up. I thought having a digitial receptionist would be really cool, but on second thought I concluded it wouldn’t be appropiate for personal use!

Instead I opted for having it ring my extension for 8 seconds, then it ringing us both for an additional 10 second after that before going to my extension’s voicemail. As I was didn’t have access to 3CX’s enterprise features, I had to make two seperate ring groups rather than a straight forward queue solution.

After adding finishing touches like putting an out of office on, recording a voicemail message, and hold music, the final task was to convince with significant other to use it!

Description

My experience with 3CX!