3CX Http API User Guide


Our 3CX Http API makes it easy to integrate phone functions into your applications. By abstracting the complexities of the 3CX Call Control API into a simple-to-use API, even a novice programmer can integrate with 3CX.

1.1. What are the API Methods?

Our Http API makes it easy for even novice programmers to incorporate 3CX phone functions into your applications. With over a dozen methods to choose from, HTTP API is perfect for helping create your custom 3CX solution.

A view of all the API methods is displayed in the Appendix section of this manual.

Some of the methods that API includes are as mentioned below:

• Barge-in
• Drop Call
• Listen
• Make Call
• Make Call Play File
• Outbound Caller ID
• Park Call
• Record
• Transfer
• Whisper

1.2. How does it work?
The API is self-documenting. To display the syntax for a given method, simply call the method without any parameters and the API will return the required syntax along with examples. This makes working with the API simple. For example, to display the syntax for the WhisperTo method, simply call the method by browsing to http://localhost:5505/WhisperTo.aspx and the following table will display:

Figure 1: Display of Syntax for the ‘WhisperTo’ method

1.3. What’s New?
Our API extends the existing 3CX API methods, and adds new API methods. For example, our MakeCall method has the following additional features:

• All parameters are validated to ensure extensions, queues, ring groups, and shared parking orbits exist

• Enforces security by requiring a PIN for extension parameters

• Adds an optional parameter to swap the outbound Caller ID before placing a call

• Supports a default tenant

• Adds an optional parameter to override the default tenant


Before installing 3CX Http API, you need to ensure that your computer meets the minimum requirements mentioned below:

1. 3CX Version 16

2. .Net Framework 4.7.2 (or above)

3. Microsoft Internet Information Server (IIS) 7.0 or above

4. The VoIPTools Relay must be installed directly on the 3CX server

5. The API can be installed on a separate server (recommended)

  • When installing SQL Server, we recommend you install it in “Mixed Mode” to include SQL Authentication, and install SQL Management Studio
  • When installing IIS, be sure to install Basic Authentication, .Net Extensibility, and ASP.Net 4.X


Download software

You can order 3CX Http API on-line at http://www.voiptools.com. Your order confirmation email will include your license key and a link to download the software.


Install Prerequisites

There are a number of prerequisites that must be installed prior to installing 3CX Http API. These prerequisites include Microsoft Internet Information Server (IIS).


Install 3CX Http API

This User Guide contains step-by-step instructions to successfully install 3CX Http API. Begin by extracting the installer from the downloaded zip file (Step 1 above), then run the setup program named VoIPToolsHttpAPIInstaller.exe

Register your License Key

You must register your license key to activate 3CX Http API. Your license key is included in your order confirmation email, and can also be found in your order history on our website. A separate license is required for each server utilizing the API. You do not require license for workstations.

4.Step by Step Installation Procedure

The following section guides you through a detailed walk-through of the installation process.

Step 1: Download 3CX Http API

You can check for the software download link included in your order confirmation email. As an alternative, you can also find the link from your order history on our website.

Step 2: Extract the installer from the downloaded .zip file

The file you downloaded in the above step is a compressed .zip file.

1. Position the mouse on the zip file and right-click.

2. From the popup menu, select Extract All to extract the software.

Step 3: Start the installation process

1. From the extracted folder, find the file VoIPToolsHttpAPIInstaller.exe

2. Double-click the file to start the VoIPTools Setup Wizard.

3. Click Next to continue.

Figure 2: Setup Wizard

Step 4: Download the VoIPTools 3CX Relay (if required)

3CX permits one 3rd party application to communicate with the 3CX server at a time. To overcome this limitation, VoIPTools created the 3CX Relay Service. The Relay is a lightweight application that is installed directly on the 3CX server. The Relay exposes the 3CX Call Control API (and other VoIPTools services) to all our applications, and manages requests and events between by VoIPTools products and 3CX. The Relay also makes it possible to install our VoIPTools products on a remote server (including over the internet).

1. If you have not previously installed the Relay on your 3CX Server, you can download the Relay installer by clicking on the Download Relay button. The Relay must be installed directly on the 3CX server.

2. If you are installing 3CX Http API directly on the 3CX server, you can install the Relay simply by clicking the Install/ Upgrade Relay button and following the Relay install instructions.

If you have already installed the Relay, you need not install it again unless a newer version is required.

Step 5: Test Relay Settings

1. In the Relay Type drop down, select Legacy Relay for old Relay or New Relay for new Relay based on the 3CX version of your application.

Figure 3: Test VoIPTools 3CX Relay settings

If you choose ‘Relay Type’ as ‘Legacy Relay’ then ‘3CX Http API’ will communicate with old Relay Service, and if you choose ‘New Relay’ then it will communicate with new Relay Service.

2. In the Relay Services Host field, enter “localhost” if installing ‘3CX Http API’ on the 3CX server. If 3CX resides on a different server, enter the IP address or FQDN of the 3CX server.

3. In the Relay Services Port field, enter the value as 8700 for Legacy Relayor 8800 for New Relay.

Figure 4: Relay Services Port

The ‘3CX Http API’ will take default port as 8700 for ‘Legacy Relay’ and 8800 for ‘New Relay’. If the default port number doesn’t appear automatically, you can manually enter the respective default port number.

4. Click Test Relay Settings to confirm ‘3CX Http API’ can communicate with the Relay services running on the 3CX server.

5. If the ‘3CX Http API’ is successfully able to communicate with the Relay services that run on the 3CX server, a Success message box appears. Click OK.

Figure 5: Success message box

6. Click Next to continue the installation.

Step 6: Run the Application

When the installation is complete, click Run Application button.

Figure 6: Run Application

Step 7: Registration

Registration is required to authorize your license key. Registering also makes it possible for VoIPTools to provide a replacement key if your license key is ever lost. Also, it enables VoIPTools to notify you of any product updates, and reminders if your key is reaching the renewal date.

Figure 7: Software Registration

Instructions to Register the software:

1. On the Settings menu, and in the License tab, enter your registration information in all the fields (Note the red dot denotes a required field).

2. Click Register.

The license key permits you to install the software on one computer. This is not free software.

5.Web Portal

To access the ‘3CX Http API’ web portal, click the Web Portal button on the configuration program, or click on the desktop icon that was created during the installation process (3CX Http API).

The login screen is as shown below:

Figure 8: 3CX HttpAPI Home screen


Visit our website to access our on-line manuals and receive quick answers to most of your questions. Otherwise, you can contact us by phone, email, live chat and on the VoIPTools forums.

• Support Hours (USA and India)

Our team is ready to assist you with answers to your technical questions, during normal business hours, which is Monday through Friday, 8:00 AM to 6:00 PM (Central Standard Time), and 8:00 AM to 12:00 AM (Indian Standard Time).

• Windows Event Log (Applications and Services ? VoIPTools)

The Windows Event Log lists various errors, information messages and warnings related to all our VoIPTools applications and services. The data here can be used for troubleshooting various application errors.

• Forums

Our forum is intended for VoIPTools customers to collaborate on real-life challenges, solutions and best practices. You can participate on our forum at: https://www.voiptools.com/community/

• Submit a Bug

If you suspect a bug in any of our VoIPTools products, you can bring it to our notice by reporting your issue at: https://www.voiptools.com/report-a-bug/

• Live Chat

Our chat support team is ready to acknowledge your queries in real-time. You can start a live chat with us by simply clicking on the Live Chat button at the lower right corner of our web page.

• Email

You can email us at: support@voiptools.com. Be sure to describe your issue in detail. We’ll get back to you within one business day of receiving your request.

• Phone

You can call us at +1 801-642-4655 to reach a representative. VoIPTools will accept calls at this number from 8:00 AM to 6:00 PM (Central Standard Time).

• Support Services

Free Support:

If you purchased our products through a VoIPTools Partner, your Partner will provide first level support. Partners have access to 100% free technical support, provided they participate actively in the troubleshooting process.

VoIPTools customers have access to our on-line manuals and we will respond to emails (next business day) and live chat, but we will not login to your servers remotely.

Paid Support:

If you purchase “Installation Support’ our support team can login to your servers and install and configure all our tools for you. This includes installing SQL Server Express and Internet Information Server if required. Our team will work with you to configure our applications to best meet your needs.


API Methods

Through Http API, novice programmers can incorporate 3CX phone functions into your applications. With over a dozen methods to choose from, HTTP API is perfect for helping create your custom 3CX solution.

A view of all the API methods is displayed in this section. All you have to do is to add valid values to the syntax of appropriate function that you want to perform, and then add it to the url in the address bar of your browser. You can see the image below for your reference:

Figure: How to use API Method

I. BargeinCall Method

BargeinCall method allows you to listen to active calls without the caller or agent knowing that it is under ‘silent call monitoring’. You can also barge into the call to speak with both the call participants.

Figure API-1: BarginCall.aspx

II. DropCall Method

DropCall method allows you to disconnect an active participant from a live call. If this is the last participant, the call will be dropped.

Figure API-2: DropCall.aspx

III. Listen Method

Listen method allows you to listen to active calls without the caller or agent knowing that it is under ‘silent call monitoring’, However, you cannot speak to the call participants. In other words, it works just like BargeinCall method except that you cannot speak to the call participants.

Figure API-3: Listen.aspx

IV. MakeCall Method

MakeCall method allows you to make a request to an extension for a call to the desired number.

Figure API-4: MakeCall.aspx

Once the call is successfully running, you can see that in the 3CX Console Management, the Caller ID column of the associated extension requesting call will display the outbound Caller ID you have set. You can refer the image below:

Figure: 3CX Console Management: Extension Caller ID

V. MakeCallPlayFile Method

MakeCallPlayFile method allows you to make a call to the desired number and play the .wav file. Once the audio file has finished playing, the call will hang up.

Figure API-5: MakeCallPlayFile.aspx

VI. OutboundCallerId Method

OutboundCallerID method allows you to update the current outbound caller ID of the desired extension to the desired caller ID.

Figure API-6: OutboundCallerId.aspx

VII. ParkCall Method

Figure API-7: ParkCall.aspx

VIII. RecordCall Method

RecordCall method allows you to start or stop the recording of an active call.

Figure API-8: RecordCall.aspx

IX. TransferCall Method

TransferCall method allows you to transfer a call to another number. In other words, it enables you to replace the current participant of the call with a new participant.

Figure API-9: TransferCall.aspx

X. WhisperTo Method

WhisperTo method allows a new participant to barge into an active call and ‘whisper’ to the desired participant of the call. By doing so, the participant of the call will hear the ‘whisper’ from the new participant and be able to talk to the other participant of the call.

Figure API-10: WhisperTo.aspx

Suggest Edit

Get the Best Solution for your Business

Whether through one of our commercial products, or a custom solution built to meet your specific needs, we can help you get the most out of your 3CX investment. Call us today!

Contact Us