1. Introduction #
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? #
- Offers a streamlined approach to calling the 3CX Call Control APIs.
- Creates an abstraction layer to insulate VoIPTools products from changes made by 3CX.
- Allows VoIPTools products to run on a remote server separate from the 3CX server.
- Enforces a consistent approach to integrating with 3CX.
- Reduces the time required to develop custom 3CX integrations through code reuse.
- Encrypts authentication between VoIPTools and 3CX.
- 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.
2. Prerequisites #
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
3. Installation #
You can download the Relay from our website at http://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 http://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.
- Position the mouse on the zip file and right-click.
- From the popup menu, select Extract All to extract the software.
Step 4: Start the installation process
- From the extracted folder, find the file RelayServicesInstaller.exe
- Double-click the file to start the VoIPTools Installer.
- Click Next to continue.Figure 1: Installation in progress
4. When the software installation is complete, click Close.
3.2. Relay Login #
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 browser and in the address bar, enter the URL. Your URL should be something similar to the following:
NOTE: Replace <3cx-server-ip> with the IP address of your 3CX server, or FQDN.
2. In the Voiptools Relay login screen, and in the Extension and Password fields, enter valid 3CX Extension and 3CX Voicemail Pin Number respectively.
NOTE: Only 3CX Extensions with system admin rights can login.
3.3. Register License #
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:
NOTE: Replace <3cx-server-ip> with the IP address of your 3CX server, or FQDN.
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.
NOTE: It is not necessary to restart the Relay after registering your key.
3.4 Services #
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.4.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://*:88013.3.1.1 Instructions to Create SSL (Secure Socket Layer) Connection
i) In the 3CX Console Management, navigate to Dashboard and then in the Information section, click the IP link.
ii). In the Network Settings page, click Public IP tab.
iii). In the Select Network Card Interface dropdown list, copy the default internet facing IP Address
iV). 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.
v). Click Restart.
vi). In the 3CX Console Management, navigate to Dashboard and then in the Information section, click the FQDN link.
vii). In the Network Settings page, click FQDN tab and in the Fully Qualified Domain Name field, copy the FQDN name.
viii). 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.
NOTE: Restarting the Relay during production hours will temporarily stop the sending of events to client applications. Use wisdom when choosing a time to restart the Relay.
3.4.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.
NOTE: The “Hour” field assumes a 24-hour clock. For example, to configure the service to perform updates at 5:00 P.M., enter 17 in the hour field.
Default Value: Disabled, 23:59
3.4.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.
NOTE: Regardless of configured IP address restrictions, we do allow access to the Relay from localhost.
3.4.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.
4. Support #
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.
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
- 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.