This article shows you how to configure Hoiio, a popular Singapore-based VoIP provider, to work with 3CX Phone System running on Windows. For demonstration purposes, screenshots from 3CX version 12 will be used, although most of the steps will be similar for 3CX version 11 and earlier. You would also need a soft-phone such as X-Lite or 3CX Phone in order to test the configuration.
To proceed with the setup guide, you should have already purchased a SIP account from www.hoiio.com and be provided with the following information:
- SIP login username (e.g. sip6243674) – this is to authenticate your account with Hoiio
- SIP account password
- Incoming number (e.g. 65xxxxxxxx) – this is for you to receive incoming calls on your PBX
Adding Hoiio as a VoIP provider
With all the necessary information, login to your 3CX management console (typically at http://localhost:5000/management) and select VoIP providers on the left menu and click Add Provider:
You will be presented with the Add VoIP Provider Wizard form:
Enter a name for the entry, select HK/SG as the country, Hoiio SIP as the provider and click Next. You will be presented with the VoIP Provider Details screen:
Check that the default settings are correct (siptrunk.hoiio.com for the server hostname and 5060 for the server port) and click Next:
Enter your SIP user name and the incoming number provided to you during registration (e.g. 65xxxxxxxx) as the external number. If you do not have an external number, just leave it blank.
Take note that you may not be able to enter the authentication password at this point depending on your 3CX version. Don’t worry about that, you can go back to set the password later. Select an appropriate value for the number of simultaneous calls and click Next:
This form allows you to redirect incoming calls on your external number to one of your extensions appropriately. The default setting is to redirect calls to the operator extension configured during 3CX installation. Clicking Next will bring you to the final step:
This screen configures which calls made on the PBX should be routed via Hoiio. The following settings are of note:
- Route: allows you to configure which VoIP provider should be used to terminate calls matching the configured criteria. Select “BLOCK” to end the calls without terminating it on any provider.
- Strip Digits: allows you to remove a prefix of a certain length from the called number before passing it to the provider. You may wish to use this setting to remove “+” or “00”, if needed.
- Prepend: allows you to append a certain prefix to the called number before passing it to the provider. You may wish to use this setting to add “+” or “00” to an international number, if needed.
Refer to your 3CX documentation for further information. For now, the default settings provided by 3CX should suffice. Click Finish to complete the configuration.
Setting the SIP account password
If you did not set the SIP account password during the steps above or wish to the change the password, select Ports/Trunks Status on the left menu and click on the Hoiio account to edit the configuration:
Enter the password, click OK and wait a while for the change to be applied. You should now be ready to test your Hoiio SIP account with 3CX!
Configuring the soft-phone client
You will need at least 1 extension on the PBX to test the configuration. Select Extension Status on the left menu of 3CX management console:
Click on the extension entry and take note of the extension username and password. Now start your softphone client and add a new SIP account with the following information:
- SIP server: IP address of your 3CX SIP server (e.g. 192.168.1.100)
- SIP username: the extension username as configured in the extension settings. Most likely, this is the extension number, e.g. 150
- SIP password: the extension password
The following screen shows the extension settings as configured in 3CX Phone for Windows:
Making your first call
First you need to test if your soft phone has successfully registered with the 3CX server. Its status should say “On Hook”, “Registered”, “Online” or similar.
Now try to make a call to a landline or mobile number from your soft phone (e.g. 656xxxxxxx or 659xxxxxxx) and see if you can talk to the other party. If yes, try calling your SIP account external number from your fixed line or mobile phone. If everything is fine, you should be able to answer the incoming call on your soft phone.
Congrats, you have successfully configured 3CX to work with your Hoiio SIP account!
If for some reasons your test call does not work, this section lists some common issues and how to fix them.
The soft phone status indicates Not Connected, Unregistered or Off-Hook
This means the soft phone was not able to login using the SIP account you’ve configured. Check the server IP address and the login credentials in the softphone account settings. You can also check in the Extension Status to see if the extension is registered. There is also some useful information in the Activity Log menu of 3CX management console.
Internal calls (e.g. calls to other extensions) are fine but calls to PSN numbers failed.
Most likely, there is an error in your 3CX configuration that causes calls not to be terminated on the configured Hoiio SIP account. Click the Outgoing Rules entry from the 3CX menu and check that there is at least one rule that terminates calls on the Hoiio account.
Outgoing calls seem to be made on Hoiio, but are either disconnected immediately or result in “invalid number” announcement
This is usually due to automatic adding of prefix to the number as a result of incorrect configuration. For example, 3CX may append 00 in front of a number before sending them, causing Hoiio to incorrectly interpret the destination number. To fix this, look at the 3CX Activity Log to find out the raw number passed to the Hoiio SIP server and try the following:
- Check the Outbound Rules menu and make sure that the “strip digits” and “prepend” settings are configured correctly
- Check the Settings > Advanced Settings menu and make sure that the correct country code is selected. Enter “+” for the international dial code and a correct value for the area code, or leave it blank.
- Also check the Ports/Trunks Status to make sure that the configured Hoiio SIP account has been successfully registered
The 3CX softphone and other SIP clients may also have an option to automatically convert “+” to “00”. You should disable this, otherwise the wrong number may be called.
Incoming calls on the external number are disconnected immediately or forwarded to voice-mail despite the destination extension being available.
Check the following:
- Ports/Trunks Status: make sure that the Hoiio number is correctly entered as the external number, and incoming calls routing are configured correctly, for both office hours and out of office hours settings
- Inbound Rules: make sure that there are no conflicting inbound rules blocking incoming calls on the Hoiio SIP account
Additionally, some soft phones may have a do-not-disturb (DND) mode which will block incoming calls if enabled – check if this is the case. 3CX also has a do-not-disturb mode for each extension that can be enabled by dialing *61 and disabled by dialing *60 for the extension phone. Refer to this post on the 3CX blog for other useful 3CX dial code.
Calls are made successfully but with no audio or only one-way audio
This is usually due to ports used for audio transmission being blocked by firewalls. SIP requires UDP port 5060 to be opened for data communication and UDP port 3478 for STUN server usage. Additionally a range of UDP ports are used for audio transmission, which need to be opened on the firewall too.
To find out which ports need to be open, check Settings > Network:
Dial *777 (Echo Test) on the soft phone client and try to speak into the microphone. If configured properly, you should be able to hear yourself speaking, which indicates that there should be no problem with audio transmission when making calls.