Setting up 3CX SoftPhone

Configuring the Clients – 3CXPhone


3CXPhone is a SIP client that allows users to easily manage their extension with a few mouse clicks – rather than via a cryptic and limited phone interface. 3CXPhone can work with an existing supported IP Phone or you can use the inbuilt softphone. 3CXPhone is available for multiple platforms including Windows, Android, iOS and Mac.


Screenshot 3 - 3CXPhone

3CXPhone provides the following functions:

  1. Call Pop-up – Upon receiving a call, 3CXPhone will allow you to reject the call, transfer the call to another person or to voice mail - with a single mouse click or by using drag and drop.
  2. Easy Call Transfer / Park  – When on a call, you can transfer or park a call with a mouse click or via drag and drop, no need to learn dial codes or call transfer procedures on a phone.
  3. Presence – The status of the other extensions is displayed, allowing you to avoid unnecessary calls or call transfers to colleagues that are busy. 3CXPhone will display different information based on whether you are a standard user, a manager and the customisation of your Group Rights within your extension settings. In the Manager role, you can see calls from anyone in your department. These rights are set by the 3CX Phone System administrator from the 3CX Management Console. For additional information about Group Rights, refer to the Extension Groups and Rights section of this manual.
  4. Click to Call – Launch calls with a couple of mouse clicks. Double click on an extension to bring up the extension options to make a call, leave a voicemail, and chat. The call will automatically be launched without requiring you to dial the number. Calls can also be launched directly from your contact management software when using the CRM integration module.
  5. Hotkey Dialling – Select a number from a web page or document and press a hotkey to paste it automatically to your dialing screen then press enter to launch the call.
  6. Queue Monitoring –  View the status of queues that you are a member or a manager of. You will see callers waiting in the queue and be able to take a call from the queue.
  7. Text Chat – Message other users one to one or create multi user chat using the in-built chat options.
  8. Record Calls  –  You can trigger the recording of a call or conference by clicking the record button.
  9. Phonebook – 3CXPhone provides easy access to the company and to the personal phonebook. It allows users to initiate calls by searching for contacts and by double clicking on the contact. It offers users the option of calling, leaving a voicemail, conferencing and other alternative functions. When the call option is selected, it will automatically resolve the number and launch the call.

Supported Client Operating Systems

3CXPhone for Windows 12  (both x86 and x64)

3CXPhone for Windows runs on x64 hosts as a WOW64 application.

  • Windows XP ( Not Supported)
  • Windows Vista ( Not Supported)
  • Windows 7 (Tested and Supported)
  • Windows 8 (Tested and Supported)
  • Windows 8.1 (Tested and Supported)

Additional requirements

  • Microsoft .Net 4.0 or 4.5
  • Microsoft Visual C++ 2010 x86 (also on x64 hosts)

3CXPhone for iOS

3CXPhone for iPhone is optimized for iPhone 5.

  • iOS 7
  • iPhone 3GS, iPhone 4, iPhone 4S, iPhone 5, iPhone 5s
  • iPod touch (3rd generation), iPod touch (4th generation), iPod touch (5th generation)
  • iPad & iPad Mini all models

3CXPhone for Android

  • Android 2.3 or higher (Android 4.X is recommended)

3CXPhone for MAC OS X

  • Mac OS 10.9

Microsoft Terminal Server

  • 2008 / 2008 R2 Server with terminal services installed
  • 2012 / 2012 R2 Server with terminal services installed 

3CXPhone for Windows can run in SIP or CTI mode on Microsoft Terminal Servers and allows multiple runtime instances. When in CTI mode it will drive the IP Phone on your desk. When in SIP mode audio calls will be routed through the terminal session (RDP) to the endpoint where the default microphone and headset of the client’s sound card will be chosen as input and output device accordingly. However in order to enable SIP mode on a terminal server,  desktop experience must be installed as a role on the terminal server itself and mapped in the remote desktop session, to be sent and recorded from the client system. Latency during calls made in this environment is very dependent on the host’s load, the clients computing power, the rdp protocol used and available bandwidth to the host itself.


Note: On terminal server 3CXPhone can still be paired with the CRM module in order to work with CRM plugins such as Outlook, however the TAPI driver will be NOT installed as TAPI is designed as a non multi user aware application.

Supported Headsets

Please see 


Technical background- Softphone or CTI mode

3CXPhone can run in two different modes which both include the above mentioned feature set.

  1. Softphone Mode (All platforms) – Allows you to make and receive calls on your computer or mobile device without using a deskphone. It uses a built in SIP engine to place the calls and uses the device input and output equipment. In softphone mode 3CXPhone can handle up to 5 simultaneous calls and supports blind and attendant transfer.
  2. CTI Mode (3CXPhone for Windows only) – Allows you to control your hardware IP deskphone from your Windows desktop with simple mouse clicks. When in CTI mode 3CXPhone can handle only one simultaneous call and supports blind transfer.


When 3CXPhone is in CTI mode, HTTP commands are send directly to the IP phone that is registered to the extension, to control the functionality of the phone without involving the 3CX Phone System to make the call. When in CTI mode you will see the number you are attempting to dial on the IP phone’s display and hear the standard ring back tones from your telecommunication provider. CTI mode allows extensive functionality control such as starting, ending, transferring, muting, and holding calls or starting a conference, which then can be managed by using the 3CXPhone client. Full CTI mode at a glance


  1. Call control of snom and Yealink phones.
  2. Initiate calls with a mouse click – no retyping the phone number.
  3. Easy call transfer.
  4. Create and manage conference calls with a few mouse clicks.
  5. Uses CTI API on the phone to make calls.
  6. Click-To-Dial support.


To use CTI Mode, you should make sure that in your Extension settings > “Forwarding rules” > “Available” tab, you have not enabled the option “I want to be able to accept more than one call at the same time”.


Note: CTI Mode can not be used in Out of Office profile. MakeCall will be used for all phone models.


“MakeCall” is used by IP phones that do not support CTI functionality. The most noticeable difference between CTI and “MakeCall” mode is shown when starting a call and from call history entries. When you start a call using “MakeCall” the desktop IP phone will be called from the 3CX Phone System and on the phone’s display you will see “MakeCall” . After you pick up the handset the call will be placed on hold and a call to the destination is made from the 3CX Phone System. Once the receiving end answers the call, music on hold will stop and the call will connect to the callee. 

Installing the 3CXPhone

3CXPhone is installed via the

  • Apple App Store for iOS devices
  • Google Play for Android devices
  • DMG bundle for Mac OS
  • MSI file for Windows


depending on the platform you need it for. The installation links are sent in the user's welcome email and the configuration file is attached to it as well.


3CXPhone for Windows is available as an MSI file. You can download the latest version here:

The first time installation requires administrative rights. As long as the default installation path has been chosen the provisioning of the 3CXPhone and  future updates do not require administrative rights. You can deploy the setup file via active directory automatically as it is an MSI file. You must also deploy the “Microsoft Visual C++ 2010 x86” msi package on x86 and x64 clients in order to successfully deploy 3CXPhone for Windows. Once installed and provisioned, 3CXPhone gets updated automatically with the service packs of the 3CX Phone System. For more information see the “Updating 3CXPhone” section of this document.

More information about the Windows client can be found here:


The Android client can be installed via Google Play:


Be sure to configure Google Push before sending out the welcome emails for Android users. For more information see 


More information about the Android client can be found here:

Apple iOS

The iOS client can be downloaded from the Apple App store here:

The 3CXPhone App requires read only access to the local device (phone)  to compose a unified address book of all contacts. Also in order to receive PUSH messages it must also be allowed to send “Notifications” to the device. If you have not granted these access rights during the first 3CXPhone client startup, you can change them by logging onto the iOS device “Settings -> Privacy -> Contacts” and “Settings -> Notification Center” and enable the function for 3CXPhone app. For more information regarding the Push-Messaging-Service see


More information about the iOS client can be found here:

Mac OS

3CXPhone for Mac is available as a DMG file. You can download the latest version here:

Mount the dmg file to the host and drag the app into the application folder. The app itself is signed with an Apple developer account and does not require modification of the security level setting of installing an untrusted application. However the installation needs to be done by an administrative user.  Once installed and provisioned, 3CXPhone gets updated automatically with the service packs (starting with 3CX Phone System 12 SP3) of the 3CX Phone System. For more information see the “Updating 3CXPhone” section of this document.

Deploying 3CXPhone configuration


Important note: If you are going to leverage PUSH technology for Android devices, the Google Push service must be configured PRIOR to sending out the configuration emails. For more information see chapter “Configuring Google Push” below. An iOS device can be activated at a later stage for the Push service without needing a new configuration email since no new configuration data needs to be sent to the device .


All 3CXPhone clients support three methods to automatically set up the soft clients in order to work with the 3CX Phone System. It is strongly advised NOT to configure the clients manually as typos and misconfigurations will impact the users experience. Support will be only be provided  to provisioned (auto configured) phones. The three provisioning methods are as follows:


  • Provision via welcome email attachment
  • Provision via PnP provisioning (limited to local network multicast domains)
  • Provision via provisioning link (Windows client only)


Provisioning using the welcome email will work across all network topologies and clients and is the prefered method to connect a 3CXPhone client to the 3CX Phone System.

Sending the 3CX Welcome Email

In order to auto provision the 3CXPhone client via email the user must have received the welcome email. This is sent automatically when the extension is created. However, if you wish to resend it:


  1.  Log in to the 3CX Phone System Management Console and go to the ‘Extensions’ node.
  2. Click the ‘Send Welcome Email’ button on the upper right corner of the tab.
  3. An email will be send to the extension’s email along with an attachment for auto provisioning


Once the user has installed the client from Google Play, the Apple App Store the MSI file or the dmg file, you can instruct the user to open the welcome email and double click/tap on the attachment to. The attachment will start up 3CXPhone on the user’s machine and automatically configure it.

The 3CX Push Service

3CXPhone uses PUSH technology to wake up the smartphone when a call or a text message is received. This does not require the user to keep the phone active and the 3CXPhone client turned on to be able to receive calls or text messages – the phone can go to sleep to save battery life.

Configuring Google Push

To configure Google Push, please follow the instructions in this link:

Configuring Apple Push

To configure Apple Push, please follow the instructions in this link:

Enabling/Disabling Push

After configuring your Push settings you will need to select which extensions have Push functionality enabled. To do that:

  1. Login to the 3CX Management console.
  2. Navigate to Settings > 3CXPhone.
  3. Scroll down to the ‘Select 3CX Users’ section.
  4. Click on the extension that you want to enable push for, in the left column and click ‘Add’
  5. The extension will be added to the right column and Push will be enabled.
  6. If you want to disable Push for an extension just select the extension from the right column and press ‘Remove’.
  7. The extension will be transferred to the left column and Push functionality will be disabled

Updating 3CXPhone

Updates to 3CXPhone are deployed automatically via the 3CX Phone System Server. When a new update is available on the 3CX Website, the 3CX Phone System Server downloads the update to 3CXPhone for Windows and Mac OS and notifies the 3CXPhone users. If a user has an out-dated 3CXPhone, upon starting 3CXPhone, he will be shown a message informing him that a new version of 3CXPhone is available:


Screenshot 8 – 3CXPhone Notifying the User about New Updates

Once the user accepts the update, the downloader will start and download the new installation of 3CXPhone:

Screenshot 9 – 3CXPhone Updater Downloading the Latest Version

After the file download is finished, the new client will be installed automatically and 3CXPhone will restart on its own for the upgrade to complete. 

The Mac OS client downloads the new dmg file and mounts it for the user. The user now needs to drag it to the application folder within the dmg bundle and select “replace”. When this is completed you can launch the 3CXPhone app from the dock.

The Android and iOS clients update automatically through the Google Play store and the Apple App Store (depending if automatic update is activated on the iOS device) when they detect a newer version of the client online.

Using 3CXPhone for Android, iOS and Windows

A web-based user manual exists for all three 3CXPhone platforms and can be found here:



Managing 3CXPhone

The administrator can review all connected users that are using 3CXPhone from the 3CX Management Console > 3CXPhone Clients tab. This shows all the users who are currently logged in and using 3CXPhone, including their IP and the client version/type they use. If the extension is not listed in the 3CXPhone Clients tab, the client is not currently connected. The administrator can control what configuration options are available in 3CXPhone per extension from extension > 3CXPhone options.



You can configure:

  • Disallow use of 3CXPhone
  • Hide the Forwarding Rules - Removes the ability for the user to configure his/her forwarding rules from within the 3CXPhone client. These options will only be available from the 3CX Management Console
  • Show Call Recordings / Allow Deletion of Recordings - Adds the call recordings, allowing the user to manage their call recordings.
  • Configure default phone mode to use in the 3CXPhone for Windows - Configure which phone mode (Softphone or CTI) must be used by default
  • Default Startup Screen - Sets the default appearance of the phone to the dial pad or the presence screen
  • Use 3CX Tunnel for remote connections - Configures 3CXPhone to use the 3CX Tunnel for the “out of office” connection to the 3CX Phone system rather than connecting directly via STUN/SIP port of the pbx. It is advised to turn this option ON to avoid intermittent connection problems (absence of audio) from remote locations to the phone system.

Configuring 3CXPhone as a remote extension

Prerequisites for having remote extensions are explained in detail in the “Configuring Remote Extensions” section in the “Configuring & Managing IP Phones” chapter.

3CXPhone for Windows, Mac, Android

3CXPhone for Android, Windows and Mac are automatically configured to be able to be used as remote extensions using the 3CX Tunnel or in direct STUN mode depending on the setting of the extension. No configuration at all is required on the client side.


As soon as the user switches network and 3CXPhone detects this change it automatically reconfigures itself to the appropriate state to restore connection to the 3CX Phone System. The same technology is used when the 3CXPhone is launched from a “terminated” state.


Note for Android users to save battery: If the user presses the “home” button 3CXPhone remains running in the background. This will consume more battery because a Wi-Fi or mobile data network connection must be kept alive. To avoid this, close the application. 3CX Phone System will then wake up 3CXPhone using the 3CX Push service.

Configuring 3CXPhone for iPhone

3CXPhone for iPhone is also automatically configured to be used as a remote extension. No configuration at all is required. Just like Android, as soon as the user changes a network and 3CXPhone detects that it is not on the same network as 3CX Phone System, 3CXPhone for iPhone will switch to Out of Office mode and configure itself as a remote extension and re-register ‘on the fly’. In most cases 3CXPhone for iPhone will connect without problems. However, if there are issues, then you must:


  1. Download 3CX VoIP Tunnel from the Apple App Store:
  2. Activate the 3CX Tunnel app.
  3. In the ‘Remote Tunnel IP’ field enter the public IP of the 3CX PBX,
  4. Insert the tunnel port (usually 5090) in the ‘Remote Tunnel Port’ field.
  5. Enter the ‘Remote Tunnel Password’ (as configured by the administrator on 3CX Phone System).
  6. Click on ‘Start’.
  7. Switch back to 3CXPhone for iOS and go to Settings > Accounts > Select the appropriate account > scroll down and set "Use 3CXTunnel" to ON
  8. Make your call.


Note: According to Apple iOS app standards, every time you press the home screen, and the application goes to the background, 3CXPhone for iPhone will go into background mode and must unregister. 3CX Tunnel will go in the background as well and will remain active for 10 minutes. After 10 minutes, 3CX Tunnel will be terminated by iOS. This is an iOS standard procedure to preserve battery life. The use of the combination of Apple Push Service and the 3CXTunnel at the same time is not recommended as the tunnel needs to be started before the call can be picked up from the Push Message. This means that if 3CXPhone has been idle for more than 10 minutes, you will need to do the following:


  1. Launch the 3CX Tunnel app.
  2. Confirm that it is started and connected. If the status is "stopped" click on ‘Start’ and wait until the status changes to "Connected".
  3. Launch 3CXPhone and after a successful registration, you can proceed and make your calls.

Was this answer helpful?

 Print this Article

Also Read

Monitoring your Phone System

Monitoring your Phone System Introduction 3CX Phone System is easy to monitor for any Windows...

Setting up Digital Receptionist

The Digital Receptionist / Auto Attendant Introduction The digital receptionist feature allows...

Setting up Queues

Call Queues Introduction Call Queues allow calls to be queued whilst agents (members of a call...

Setting up Outbound Call Rules

Creating Outbound Call Rules An outbound rule denotes on which VoIP gateway/provider an outbound...

Setting up Extentions

Extension Management Introduction This chapter explains how to create and configure extensions...

Powered by WHMCompleteSolution