3CX Phone system is a software based IP PBX which replaces the traditional hardware PBX. The solution is based on a Windows server which can be virtualized with VMware. VMware vSphere 5.x and above is a supported virtualization platform, but you can also use Hyper-V.
The server part collaborates with clients which can be either software based phones (Windows, Mac, Android and iOS) or hardware based IP phones (snom, Yealink, Fanvil, Htec). The architecture is completed by a VoIP/PSTN gateway which connects to traditional phones, in addition to IP based phones.
The SIP protocol, which is the main protocol used as a communication channel, allows the SIP clients to register with the server and make the receiving and transmitting of the communication possible.
I tested 3CX Phone System in my lab, running in a VMware virtual machine. Note that Installations on Microsoft Windows server Core versions are not supported. 3CX has a list of supported OS which range from Windows 7 to 8.1 and server OS from Windows Server 2008 Web edition (x64) up to Windows Server 212 R2j Datacenter edition.
3CX Phone System – Preparation for the Installation
I chose Windows server 2012 R2 as it's the latest Microsoft OS, but if it’s not possible to use this server OS you can use W7 or W8.x based OS. I skipped the preparation of the VM as it's standard procedure. I assigned static IP to this VM and created a forward and reverse DNS record at my DNS server. The server is part of my lab.local Microsoft domain as well.
Component and system requirements:
- .NET 4.5 is required
- Microsoft IIS or built in webserver (in case of installation on Server OS, 3CX recommends using Microsoft IIS).
- Internet connection to erp.3cx.com on port 443
- Firefox or Chrome browser.
- Network cards should be disabled for power saving options
- The system should not be used as a VPN server or shall not run Teamviewer VPN service.
- The system should not run DNS services or be a Sharepoint server.
The installation is a standard, wizard driven installation and all the dependencies are installed by the installer. The example below shows the installation of the IIS feature. There is no need to install those required roles/features before running the installer.
After the finish of the installation, the installer directly launches an assistant which gathers different information one by one. Starting with language…
As you can see, each of the menus gives you the possibility to configure options of the product. Here is an example of an option allowing to specify the number of digits in extension numbers. Each of the settings will usually depend on your environment and your organization.
I won't go through all the screens for the setup. This one shows the creation of the user extensions. That's where you create new users. Note the auto-generated password… You can add users here or you can just skip and add all users later, but you must enter at least one extension.
You're asked to enter your:
- Local IP address – this is the IP configured on the Server VM (in my case 10.10.7.3)
- Public IP address – to be able to provision remote extensions you'll need a public IP. You can skip this step
- Mail server details
- Country – so the correct international prefix can be used
- Voice mail extension – used for retrieving voice mail.
- Countries –which you want (and don't want) to call
- VoIP provider– it's possible to configure a VoIP provider or skip this step now and go back to this configuration later
Then you'll finally get to the screen which allows you to finalize all those settings and create a configuration database….
The whole 3CX Server installs some 13 services…..
You can check your Windows services.msc snap-in. Here is a screenshot from my test server…
To Get Started – Fire Up the Console!
Once the solution is installed, you can check the start menu. Check the shortcuts there. You can start the web based management console or the 3CX management console (my preferred choice). It's convenient in case you're not a fan of web based consoles.
When you start the console, you need to specify the username and password that you were asked during the setup process. After installation, it's necessary to enter the product license first…
The product is quite complete and “beefed” with many options (you saw the number of Windows services which are installed). This however does not mean that it's not easy to manage.
What I did first is create new extensions as I wanted to test the calls locally between two computers (1 laptop and 1 desktop).
You go to Extensions > Add Extension.
Note that I'm not using the default extension (100) which has been created during setup.
And you'll get to the add extension page. Note that the password (modifiable) is generated automatically.
A Software Phone
I wasn't able to get an IP hardware phone, but this is not a problem as 3CX has not only server software, but also client software – a software based phone which can be installed on a computer/laptop or on a smartphone. There are versions for Android and IOS.
The installation process is a no brainer. Next > next….
However when I wanted to call, the call would not work. As you can see, there is Available (green light) on, but the “CTI-No Phone Connected” message is showing…
There is a configuration setting which switches from CTI mode to 3CXPhone. It's simple – you can do it by clicking the phone icon and change from CTI to 3CXPhone as on the follow-up screenshot I'm showing here:
You can check the extensions status at the console:
The Windows software phone from 3CX registers itself automatically when you configure the account and enter the password. Note that there is also automatic configuration possible where the administrator can send a welcome email to the end user with a configuration file.
The Android phone is a bit different. After entering the account info (I picked up the default extension – 100), the phone sends a provisioning request (like on the screenshot).
Then you (the administrator) must approve this request through the admin console.
And as a result you'll get All Green… Registered.
The software is pre-configured to work with popular IP Phones, VoIP Gateways and SIP trunks. Check out this page at 3cx website.
The licensing model is based on how many users can use the phone system simultaneously. There are Free, Standard and Pro versions. The free version is limited to 2 simultaneous calls and has no support where the paid version starts with 4 simultaneous calls and 1 year of support (updates and maintenance included). You can check the differences and pricing on this page at 3CX.com
What is Offered in the Pro edition (in addition to the features present in Free edition).
Advanced real time statistics – With these advanced call center features, supervisors can get access to the advanced real time information in the Queues page of 3CXPhone. Besides monitoring queue status and which agents are logged on, you can see the number of callers in the queue, the number of answered/unanswered calls, average and longest wait time, and time an agent logged in /out of the queue and more.
Additional Queue strategies including Call Back, Longest Wait, Least Used.
Whisper – Whisper functionality on queue calls. Listen to monitor Agent responses, and if Agent responds wrongly you can provide feedback to the Agent only, allowing him / her to correct their answers.
Listen in – Allows supervisors to listen in on calls to monitor Agent responses.
Wrap up time – Wrap up time gives agents a configurable amount of time to enter notes in the customer record or follow up tasks before they have to take another call. Wrap up time can be configured per queue.
Wall Board feature – Web page which can be displayed on a large screen with total number of calls waiting, number of answered and unanswered calls and average wait time.
Alerts to file and email – You can now enforce SLA requirements and get notifications whenever a call is in a queue beyond a certain time. An email notification can be sent and the alert is also logged.
Administration and backup
While you can certainly schedule a backup at a VM level with any of the backup software available for VMware and Hyper-V, you can also configure or execute additional backup at the 3CX Phone System software level.
The manual backup can then be scheduled as a scheduled task through Windows Administrative tools.
Go to Start > Accessories > System tools > Scheduled Tasks.
The administrator can see all connected users that are using 3CXPhone from the 3CX Management Console. You can check that by going to 3CXPhone Clients tab. You'll see all users who are currently logged in and using 3CXPhone (with details including their IP and the client version/type).
Additionally, the admin has the option to modify what's available to the user on a per-user basis…. Extension > 3CXPhone options. The admin can restrict a number of options available to the end user through the 3CX phone…
Here it's possible to configure default phone mode to use in 3CXPhone for Windows. You can configure which phone mode (Softphone or CTI) must be used by default. (I have the possibility to “force” the option here before changing it on the Windows version of the 3CXPhone).
Can the user manage the call recording? Can he manage the forwarding rules by himself? What's the default startup screen?
MS Exchange Integration
In case you're using MS Exchange on premise in your organization, it's possible to integrate Microsoft Exchange server unified messaging as your voice mail server instead of the built-in one. For this case you'll have to install the Exchange Unified messaging role (if it's not already done) and configure the options (details here).
Wrap up
The software is very complete in its current version. The possibility to have a software based phone system available for Android and iOS is a must these days. The UI has a nice look and feel through both in the Web based and Windows based consoles.
For the clients it's like Skype software, but with a possibility for the administrator to stay in control, and authorize (or not) devices to use the system. The voice mail, chat/IM system which is integrated to the 3CXPhone software is handy as well and offers a true collaborative environment which is controlled by the central IT administration of the company.
While I wasn't able to test every single option the software can do, including the remote extensions, I could feel the software is pretty robust. The main documentation page is a great help plus if you're looking for a solution with support, 3CX Phone System can fit your needs for an IP PBX server. They have quite large training video section on their site as well.
Note: Please note that this review was sponsored by 3CX.
Update: The software is also available in french. Check out their french website here – 3cx.fr