The new 3CX Relay Agent for Windows is used by VoIPTools products to communicate with 3CX either locally or in the cloud. 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 via a REST-based API, as well as phone system events using SignalR. The Relay manages requests and events between VoIPTools products and 3CX. The Relay also makes it possible to install our VoIPTools products on a remote server (including over the internet).
1.1. What are the Benefits?
1. Offers a streamlined approach to calling the 3CX Call Control APIs.
2. Creates an abstraction layer to insulate VoIPTools products from changes made by 3CX.
3. Allows VoIPTools products to run on a remote server separate from the 3CX server.
4. Enforces a consistent approach to integrating with 3CX.
5. Reduces the time required to develop custom 3CX integrations through code reuse.
6. Encrypts authentication between VoIPTools and 3CX.
7. Provides an easy-to-use REST API for developing custom integrations with 3CX
1.2. What’s New?
* Supports cross-platform support for both Windows and Linux
* Provides an easy-to-use REST API for developing custom integrations with 3CX
1.3. How does it work?
3CX Relay Agent is used in combination with other VoIPTools products. The agent accepts multiple connections from VoIPToys products while making a single connection to 3CX.
1.4. How often should you install it?
When you upgrade 3CX to a new FULL version, you must upgrade the Relay too. If you have already installed the Relay for your version of 3CX, you need not install it again unless a newer version of the Relay is required by a newer VoIPTools add-on.
Before installing the 3CX Relay Agent for Windows, you need to ensure that your computer meets the minimum requirements mentioned below:
1. .Net 4.7.2 or above
2. 3CX Version V16 and V18 (Windows)
3. Windows 10 or above / Windows Server 2012 or above
4. Latest version of VoIPTools product
You can download the Relay from our website at https://www.voiptools.com.
There are a number of prerequisites that must be installed prior to installing the 3CX Relay Agent For Windows.
Install 3CX Relay Agent
This User Guide contains step-by-step instructions to successfully install the 3CX Relay Agent for Windows. Begin by extracting the installer from the downloaded zip file (Step 1 above), then run the setup program named RelaySerivcesInstaller.exe
3.1.Step by step Installation Procedure
The following section guides you through a detailed walk-through of the installation process.
Step 1: Download the 3CX Relay Agent for Windows
You can visit online at https://www.voiptools.com and download the free utility.
Step 2: Login to 3CX Server
VoIPTools applications interact with 3CX through the VoIPTools 3CX Relay Service. The Relay MUST be installed directly on the server where 3CX is installed.
Step 3: 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 4: Start the installation process
1. From the extracted folder, find the file RelayServicesInstaller.exe
2. Double-click the file to start the VoIPTools Installer.
3. Click Next to continue.
4. When the software installation is complete, click Close.
1. When the installation is complete, the setup program will display a message with the URL needed to access the web-based Relay administration console. Open your browser and in the address bar, enter a URL similar to the following:
Replace <3cx-server-ip> with the IP / FQDN of your 3CX server.
2. You can login to the Relay with either your 3CX Administrator credentials, or with any 3CX extension that has 3CX System Admin rights. To login with an extension, use your 3CX extension number and WEB password.
Figure 3: Voiptools Relay login
You can obtain your web password by editing your extension in the 3CX web console.
You are permitted 3 attempts to login to the Relay console successfully. After 3 unsuccessful attempts, the Relay console will be locked FOR ALL USERS for the next 15 minutes.
The only way to clear a failed login before the 15 minute lock period, is to reboot the Relay service.
When the installation is complete, the setup program will display a message with the URL needed to access the web-based Relay administration console. Your URL should be something similar to the following:
If you previously registered your Relay, the existing licensing information will be preserved. For new installs, select the licensing option from the left-side panel. Enter your license information and press the “Register” button. If you do not have a license key, you can still use our free tools. To access the Relay API, you must register with a valid license key.
When registering your license key, the contact information should be the end-user (customer). Be sure to include the Reseller company name if purchased through a 3CX Reseller. When complete, press the “Register” button to activate your license key.
The Relay can be configured to respond to an IP address or FQDN (or both), and you can change the default port used (not recommended). Typically the default settings are sufficient, but you can use the “Server Bindings” field to define the URLs accepted by the Relay/REST API. You can enter multiple URLs separated by a space. For example:
3.3.1 Web Server Bindings
The Relay’s built-in web server (Kestrel) only binds to IP addresses, not to domain names (with a few exceptions). You can use “*” to represent 0.0.0.0, or “localhost” to represent 127.0.0.1. You can also specify IPV6 addresses. You cannot use a FQDN like “pbx.mydomain.com”. Each URL should be separated with a space.
If you wish to secure the Relay using SSL/TLS, all you have to do is ensure one of the URLs specified uses “https”. Remember if you want both http and https support, you will need at least two entries each with their own port number (see example below).
Default value: [http://*]http://*: 8800 https://*:8801
1. In the 3CX Console Management, navigate to Dashboard and then in the Information section, click the IP link.
2. In the Network Settings page, click Public IP tab.
3. In the Select Network Card Interface dropdown list, copy the default internet facing IP Address
4. In the 3CX Relay Agent, navigate to Services and then in the Server Bindings field, beside existing value, type comma(,) and then type the value in following format:
https://< internet facing IP Address>:<8801> , where ‘8801’ is the relay port number.
5. Click Restart.
6. In the 3CX Console Management, navigate to Dashboard and then in the Information section, click the FQDN link.
7. In the Network Settings page, click FQDN tab and in the Fully Qualified Domain Name field, copy the FQDN name.
8. Open browser and in the address bar, type the url in following format and hit enter to open ‘3CX Relay Agent’ through SSL connection:
https://<FQDN Name>:<Relay Port>
To change these settings, select “Services” from the left-hand side panel. After making changes to either the server bindings or port, it is necessary to restart the Relay. You can restart the relay by pressing the “Restart” button.
3.3.2 Update Time
The Relay Auto-Update service checks for software updates daily. If an update is found, the service will download the latest available Relay and install the update.
You can enter the hour and minute that the service checks for updates. Pressing the “Start” button saves your settings and starts the service. To disable the service, simply press the button to stop the service.
3.3.3 IP Restrictions
As a security measure, it is prudent (where feasible) to limit what devices can access your Relay. Normally you would restrict what IP addresses are permitted to communicate with your relay at your firewall. However, if your firewall does not support this feature, or you do not know how to implement this feature in your firewall, you can easily implement this restriction at the Relay.
By restricting what IP addresses can communicate with the Relay, you block hackers access even if they obtain passwords and authorization tokens. If you enable this feature, only the authorized IP addresses will be able to access the Relay. At this time we do not support entering ranges of IP addresses.
To authorize an IP address (device) to access the Relay, press the “New” button. You can also edit or delete existing entries using the “Edit” and “Delete” buttons.
3.3.4 IP Enable 3CX Events
The Relay can “publish” 3CX events to client applications using SignalR (websockets under the covers). The Relay can publish phone call events, as well as file events (new recordings, voicemails, and CDR files). These events are enabled by default, but can be disabled at the recommendation of VoIPTools support if not needed by any of the tools you have installed. Disabling unused events will reduce the resources required by the Relay.
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.
Our team is ready to assist you with answers to your technical questions and we now offer 24/7, 365 days a year.
• 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.
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.
You can email us at: firstname.lastname@example.org. Be sure to describe your issue in detail. We’ll get back to you within one business day of receiving your request.
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
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.
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.