3CX is the lowest cost / per value PBX phone system I have found. It can be installed on Amazon lightsail or other cloud hosting providers. The cost is about $250 per year for line up to 13 lines. You will also need to pay for hosting. Amazon lightsail comes in at about $5 per month.
The total system for a small business comes in at about $25 per month. Not bad
Community 3CX Forms are here.
You can take calls on mobile devices from your business line. Other standard phone system features are included.
SMS is not available yet. I hope this feature comes soon. Until then, we will work with Twillio and Slack integration
Telephone System Acronyms
ACD (Automatic Call Distribution)
ACD is used to deliver calls to contact center agents based on user inputs or pre-defined rules including skills-based routing.
ATA (Analog Telephone Adaptor)
An ATA is a hardware device that connects analog (non-IP enabled) telephones, PBX systems, fax machines, door alarms and similar devices to digital systems or an internet-based telephony network. ATAs are used to connect legacy hardware to more modern telecommunications equipment.
Bandwidth is the amount of data that can be transmitted over a communication line in a specified period of time. It is described usually in bits per second (bps) or bytes per second for digital devices and in cycles per second, or Hertz (Hz) for analog devices.
Broadband telephony refers generally to voice calls that are transmitted over the internet, rather than traditional telephone lines. The term is commonly used interchangeably with VoIP, internet telephony or IP telephony.
CDR (Call Data Record)
A stored database record containing data about a specific call. A CDR contains details such as the called and calling parties, originating switch, terminating switch, call length, and time of day.
A codec, which stands for coder-decoder, converts an audio signal (your voice) into compressed digital form for transmission (VoIP) and then back into an uncompressed audio signal for replay. It’s the secret sauce of VoIP. Different codecs have different levels of compression. The highly compressed signals require less internet bandwidth, while less compression is associated with better voice quality.
CTI (Computer Telephony Integration)
Software that integrates voice communications systems with computers for contact center and office automation applications.
DID (Direct Inward Dialing)
A method of directly dialing the number of a IP Phone or a telephone attached to a PBX without routing calls through an attendant or an automated attendant console.
E911 stands for Enhanced 911. This service allows customers to set any physical address as the one to be relayed to emergency dispatchers when 911 is dialed. It also ensures that calls to 911 are routed to the nearest Public Safety Answering Point.
IP (Internet Protocol)
Internet Protocol is a standard that defines the way that data is transmitted between the source device and the destination. It is the network layer protocol in the TCP/IP communications protocol suite. Telecommunications hardware that is designed for use over the internet is commonly called “IP enabled.” IP enabled phones may be referred to as “SIP Phones” or “VoIP Phones.”
IVR (Integrated Voice Response)
An application that provides full-featured integrated voice response capability to answer inbound calls, perform database lookups, re-direct calls automatically, etc.
Jitter is used to describe a short fluctuation in the transmission of a voice signal. In SIP trunking, it may result from an abrupt variation in signal characteristics, such as when a data packet arrives either ahead or behind a standard clock cycle.
Latency is the time between the moment a voice packet is transmitted and the moment it reaches its destination. This delay may be in nanoseconds but it is still used to judge the efficiency of networks. Latency in SIP trunking can lead to poor quality calls.
LEC (Local Exchange Carrier)
The local phone company responsible for delivering calls within a local area.
PBX (Private Branch Exchange)
A PBX is the hardware and software that comprise a business telephone system. Internet enabled PBX technology is called IP PBX (Internet Protocol Private Branch Exchange).
POTS (Plain Old Telephone Service)
A single phone line and a single phone number. Home phones and dedicated fax lines are good examples of POTS.
PRI (Primary Rate Interface)
PRI is a physical connection to the PSTN over a dedicated line that only serves voice transmission. Traditional business telephone systems leverage PRI. SIP is an alternative to PRI.
PSTN (Public Switched Telephone Network)
The PSTN is the combination of local, long-distance, and international carriers that make up the worldwide telephone network.
QoS (Quality of Service)
QoS is a router setting that prioritizes voice traffic over data traffic. This improves the quality of internet based telephone calls.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) is an industry standard application-layer protocol that can initiate, manage and terminate Peer-to-Peer (P2P) communications and multimedia, including voice, video, email and instant messaging.
SIP Phone/IP Phone
The terms SIP phone and IP phone refer to desktop handsets that are IP enabled, or capable of processing packets of voice data that pass over the internet between users.
SIP Trunking is a Voice over IP phone solution that uses a trunk to connect an IP-enabled PBX or VoIP Gateway to the internet. SIP Trunking uses cloud-based technology to take advantage of shared lines, such as a company’s existing internet connection, to combine voice and data onto one network.
A SIP channel represents one digital connection to the PSTN. SIP trunks can have an unlimited number of channels, with each channel representing one concurrent telephone call.
A soft switch is the software equivalent of a physical telephone switchboard. Internet-based telephony and even some traditional telecommunication networks use soft switches to manage the connection of phone calls.
A softphone (also known as a soft client) is a software program for making telephone calls over the internet using a computing device, rather than a traditional telephone handset. The application can be run on a desktop PC, laptop, tablet or cell phone.
Telephony refers to any technology involving the development, application, and deployment of telecommunication services for the purpose of electronic transmission of voice, fax, or data, between distant parties. The history of telephony is intimately linked to the invention and development of the telephone.
VoIP (Voice over Internet Protocol)
Voice over Internet Protocol (VoIP) is a group of technologies that work to deliver voice and other multimedia sessions over Internet Protocol (IP) networks, most commonly the internet. SIP trunking is one method of achieving VoIP, others include the public Internet and private point-to-point networks.
To get started, go to the 3CX website. Scroll to the bottom and click “Take The PBX Express” under the on the cloud option.
Enter your e-mail address and other business information. 3CX will send you an email with information to get started. Check out the 3CX installation documentation. It is very good and their app is very easy to install. You will need to start an Amazon Lightsail account, but the process is painless and only takes a few minutes.
I was a little confused about the FQDN – Fully Qualified Domain Name. The FQDN is something that 3CX sets up. You don’t need to mess with any DNS records. You domain will be something like yourdomain.co.3cx.us
Save All Of The Credentials
You are sent a lot of credentials, help topics, and domain names during setup. I recommend saving all of this in an excel file. If you want to be extra secure, save these in a few different files or write them down on separate pieces of paper.
You will have:
- Lightsail API and secret Key
- 3CX Key
- Admin Username & Password
- The URL to your management console
- Your Public IP
- Many links to help articles
- A regular users Username & Password
- Regular users extension “00”
- Regular users voicemail pin
Login to Admin Account
Once you load your 3CX key (sent in the initial e-mail) and your Lightsail API key into the PBX express, your Lightsail server will be automatically configured. This configuration takes about 10 minutes. Once the 10 minutes is up, you will see your public IP and a button to log into your management console. Login with your admin credentials.
Alternatively you can navigate to the the domain name of your 3CX install. This is the same as your management console. Google Chrome or Firefox is recommended, other browsers are not supported.
Login using the admin username and password. This will bring you to the admin panel.
Confusingly, 3CX will also send you credentials for an extension 00. This is a basic user. You will need to set up a few things in the admin account before you can use this extension.
Amazon security for your lightsail is here.
The Admin Panel Looks like this:
A Personal Note
I put off starting my C3X install for far too long, because I thought it would be an arguous process to get started. I regret waiting so long! The install only takes about 30 minutes front to back. You only need to pay for hosting for the first year. So you might as well start today!
Whitelist Your IPs
When you start configuring 3Cx, it can be confusing what login credentials you should use when loggin into either the Admin view, the 3Cx client portal, or the Webclient. If you log in with the wrong credentials more than once. 3Cx may kick you out for 15-16 hours.
To make sure you do not loose access while you provision 3Cx, be sure to WhiteList your private IP. Find your IP by typing What Is My IP into the google search bar.
On the left hand side of the 3Cx admin panel, find Security and IP Blacklist.
- Click +Add
- Enter your IP
- Action > Allow
- Click OK
3CX - Configuration Videos
3CX has a video library available that walks you though everything you need to know to get started. Each section has a link pre-recorded webinar. The link is just above the slides. See the image below:
3Cx + Flowroute - Configuration
Set Up Flowroute
You will need a VoIP provider to get a local number this allows you to make calls on the plain old telephone network.
Needed to make calls on the PSNT. . Information about PSTN here. Here are the available and supported 3Cx VoIP Providers
For our system we will choose the VoIP provider Flowroute.
So, start off by setting up a Flowroute account.
Set up a Flowroute Account: First verify your e-mail. Then buy at least one DID. This will be your main number. The DID is your main Flowrout Number.
This is important information about how to set up your SIP Trunk:
- Enter the main number assigned to this SIP Trunk. If you just have DIDs and no main number you can select one of the DIDs as the main number. Click “OK” to create the SIP Trunk and open a new dialog.
Set up DID Inbound rules
Caller ID Formatting
Phone Provisioning Variables - Template
When configuring Flowroute SIP Trunks in 3CX, all numbers should be entered in a 11-digit number format (e.g. 18135910130), otherwise call routing may fail.
Outbound Caller ID
Flowroute SIP Trunks support Clip No Screening which means you can present any number you want when calling outbound.
To do this you will need to format the DDI in a 11-digit number format (e.g. 18135910130) under the “Outbound Caller ID” of the individual extension.
When using Flowroute to make outbound call, the dialed number must always be in a 11-digit number format (e.g. 18135910130).
More information about how to create Outbound Rules and how they work can be found here.
Check 3Cx Mail Server
The default 3CX mail server works just fine. To test it,
- go to your URL – This is the management console
- Login using Admin Credentials
- Go to settings > email > click “test”
Configure Desktop Client
Drag and drop the configuration file (sent in one of the initial e-mails) on to the desktop app
Setting Inbound Rule Name
The in-bound rule name will be shown to the user when they answer the call. So they will know how to answer the call.
Use an unused DID
Set Up Where Call Is routed to during office hours / off Hours
Make An Outbound Call
Set up outbound rule to make an outbound call
Can be based on:
- Dialed Number
- Extention Trying To Make The Call
- Extention Group
Name your outbound rule Outbound Calls
Calls to numbers starting with prefix
Set to 0-9,+
This allows calls to be made no matter what number they start with or if they start with the + sign.
This should be the Flowroute name.
Set emergency numbers
Way at the bottom!
Outbound Caller ID
Was setup per Flowrout documentation.
One Caller ID for every extention
Diffrenent Caller ID from different extention
If you are experiencing:
- calls dropping of after 32 seconds
- One way audio – you can hear but can not speak
Echo On Softphones
On your SoftPhone, go into Settings / Audio Options. You should find an Echo Cancellation option. Try that first. If that does not work, try to turn your microphone gain down. Change Microphone Gain from 4 to 2.
Desktop IP Phones
Provisioning GXP1625 IP Phone With 3Cx
We are not using any extra hardware. We only need 3Cx running on Amazon Lightsail and an IP Phone connected to our local router, Via the LAN port, to get this up and running. Pretty cool.
You can check if you need updated firmware by checking this 3Cx firmware requirements guide. If you are running into problems provisioning your phone, you likely need to update the firmware. The easiest way to do this is by using 3Cx to provision a config file via STUN using the HTTPS protocol.
1. Add a phone in the 3CX admin panel
Choose STUN and enter the MAC address of the phone. Take note of the provisioning link. You will need to enter this into the phones web interface later.
2. In Extension Options, uncheck this setting “Disallow use of extension outside the LAN (Remote extensions using Direct SIP or STUN will be blocked)”
3. Login to the phones web interface via web browser. the the phone’s web interface (web page) navigate here: http://your.phones.ip.address
Initially the phone web page credentials are:
Default username is: admin
Default password is: admin
4. Follow the guides below to update the config provisioning link for the config file as shown in this guide. You will also need to update the the firmware server to:
Find Your Phone Web Interface's New Password
Once the phone is provisioned the IP Phones web interface will have a new password. You can find it by going to Management console=> Extension => double click on the extension => Phone Provisioning tab => Phone Web Page Password.
The Default username is still: admin
Some Notes About Provisioning
Note: It seems after updating the firmware, you can set the firmware server path to the same Fully qualified domain name as you set for the config server path name. – But This is not confirmed. The config updated the firmware path to this.
If the 3Cx guides do not work for you, you can try these to get more detail about how to access the various parts of your phone. To provision, I think these guides are much harder to follow. I had some serious problems using these, but they are from Grandstream so I will include them here. They also helped me understand what the hell was going on with all the features and settings inside the phone itself.
GXP1625 Documentation & Firmware Information Page From Grandstream.
How To Use The Grandstream GXP1625
Headsets for Grandstream
This a a good resource for headsets. But ultimately I want a cheaper wireless option:
This Arama RJ9 headset is a pretty cool wired version for only $35. I went with the type that has only one headphone speaker. I like to hear the environment around me when Im on the phone. Especially for sales calls. If I were only doing tech calls, I would get the type with two headphone speakers.
3CX and Zendesk Integration
Zendesk can be inegrated with 3Cx to share contacts and make phone calls directly from Zendesk. You will need 3Cx Pro or Enteprise and you will need at least Zendesk Teams level. Zendesk Teams is very much worth the extra cost. Teams is the lowest level you can do integrations.
Here is the 3Cx guide to set up 3Cx and Zendesk.
Setting Up QoS (Quality Of Service) Best Practices
If you are on DSL, you may experience Jitter. Or more specifically, your clients may experience you sounding jittery. This is because of packet loss caused by VoIP not being prioritized on your network. I use all UniFi gear to make this easy to solve. Or at least improve, with my slow DSL connection.
The key is turning on Smart Queues. But there is more to it. See the video below.
In newer versions of the Unifi Controller 5.10.xx. The setting is in:
Settings > Networks > WAN (edit)
Look to the bottom of the page.