---
title: VoIPTools Relay V20.7.34 (Linux)
description: "# Introduction The VoIPTools Relay is a software application that enables remote applications to communicate with the 3CX Call Control API. Applications can send requests to 3CX using our REST API, or subscribe to real-time 3CX events using our “events”…"
url: "https://voiptools.com/docs/voiptools-relay-v20-7-34-linux/"
updated: "2026-07-27"
category: 3CX Relay
---

# VoIPTools Relay V20.7.34 (Linux)

# Introduction

The VoIPTools Relay is a software application that enables remote applications to communicate with the 3CX Call Control API. Applications can send requests to 3CX using our REST API, or subscribe to real-time 3CX events using our “events” API.

![](https://voiptools.com/wp-content/uploads/2023/01/Animation-Relay.gif)

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png)***NOTE:***
>
>
>
>
>
>
>
>
>
>
>
> *The Relay is the only VoIPTools application that is installed directly on the 3CX server. All other VoIPTools applications must be installed on a separate server.*

# What’s new? JWT!

The VoIPTools Relay is a software application that enables remote applications to communicate with the 3CX Call Control API. Applications can send requests to 3CX using our REST API, or subscribe to real-time 3CX events using our “events” API.

 

> *****![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png)** **NOTE**:***
>
>
>
>
>
>
>
>
>
>
>
> Want more information about how we use JWT? Take a look at our prerecorded JWT webinar [here](https://www.youtube.com/watch?v=O5p61tyDRYw)

# Prerequisites

| **Linux Console Access** | You need root access to your Linux console to run the setup program. You will need your 3CX server IP address, an administrative user (root), and a password. |
| --- | --- |
| **Putty** | You need a remote access program such as Putty to issue Linux commands. |
| **Firewall** | To enable our tools to communicate with the Relay remotely, you must open (port forward) TCP 8801 on your firewall, pointing to the 3CX server. If you use the built-in Linux firewall (iptables/nftables), the setup program will attempt to **open port 8801** for you. If you use a different firewall or select a different port, you will need to configure your firewall to provide remote access to the Relay. |
| **Notify Manager Access** | Ensure your firewall does not block access to the registration service at **[keymanagerV3.voiptools.com:83.](http://keymanagerv3.voiptools.com:82)** The relay must maintain uninterrupted access to this URL to receive notifications and successfully register your license key. |

# Installing the 3CX Relay for Linux (Debian)

The only application you install directly on the 3CX server is the Relay.  The Relay allows our tools to communicate with the 3CX Call Control API.   The remainder of our tools are always installed on a separate Windows server.

Once you have installed 3CX and have access to the Linux console, you can download the Relay setup program directly to your Linux server.

> **![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png)** **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> If you are upgrading, be sure to look at the steps in [Upgrade Relay](https://web.archive.org/web/20220626140905/https://www.voiptools.com/3cx-relay-agent-for-linux-v18-user-guide/#upgraderelay) section before continuing.

1.

1. 1. Download the setup program with the following command:

```
sudo wget https://installers.voiptools.com/Downloads/20.7/3CXRELAY/LINUX/setup-20.7.33
```

![](https://voiptools.com/wp-content/uploads/2026/06/Figure_1_20.7.33.png)
Figure 1: Download Setup program

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) ****NOTE****:
>
>
>
>
>
>
>
>
>
>
>
> Wait until the setup program downloads successfully before entering the next command.

![](https://voiptools.com/wp-content/uploads/2026/06/Figure_2_20.7.33.png)
Figure 2: Setup Program Downloaded

1.

1. 1. Give execute permissions to the setup program by entering this command.

```
sudo chmod +x setup-20.7.33
```

![](https://voiptools.com/wp-content/uploads/2026/06/Figure_3_20.7.33.png)
Figure 3: Give execute permissions to setup program

1.

1. 1. Execute the setup program with the following command.

```
sudo ./setup-20.7.33
```

![](https://voiptools.com/wp-content/uploads/2026/06/Figure_4_20.7.33.png)
Figure 4: Execute Setup Program

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:

```
https://<3cx-server-FQDN>:8801
```

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> Replace <3cx-server-FQDN> with the IP address of your 3CX server, or FQDN.

![](https://voiptools.com/wp-content/uploads/2026/05/Figure_5_URL_for_Accessing_Web-Based_Relay_Administration_Console_v20.7.32.png)
Figure 5: URL for Accessing Web-Based Relay Administration Console

# Relay Login

To access the Relay, you can log in with either your 3CX Administrator credentials or with any 3CX extension that has 3CX System Admin rights.  To log in with an extension, use your 3CX extension number and Web Password.

![](https://voiptools.com/wp-content/uploads/2026/03/Relay_Login_Screen.png)
Figure 6: Login Page

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> You can obtain your web password by editing your extension in the 3CX web console.

You are permitted 3 attempts to log in to the Relay console successfully.  After 3 unsuccessful attempts, the Relay console will be locked ***FOR ALL USERS* **for the next 15 minutes.

[![](https://voiptools.com/wp-content/uploads/2024/01/screenshot-relay-linux-v20-login-attempt-exceeded.jpeg)](https://voiptools.com/wp-content/uploads/2024/01/screenshot-relay-linux-v20-login-attempt-exceeded.jpeg)
Figure 7: Login Attempts Exceeded

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> The only way to clear a failed login before the 15 minute lock out period, is to reboot the Relay service.  You can restart the Relay from a secure shell session with the following commands:

```
systemctl stop voiptools_relay.service
systemctl start voiptools_relay.service
```

# License Registration

As the relay starts for the first time, it currently displays **Free Mode**since it has not yet had the chance to validate the license key,

[![](https://voiptools.com/wp-content/uploads/2023/10/screenshot-relay-free-mode-1024x388.jpeg)](https://voiptools.com/wp-content/uploads/2023/10/screenshot-relay-free-mode.jpeg)
Figure 8: Relay Free Mode

To ensure the authorization of your license key, it is necessary to complete the registration process. By registering with VoIPTools, you gain access to a range of benefits:

| **Access to VoIPTools Applications** | Upon completing Relay registration, further registrations for our tools are not necessary. Directly login to our tools using the extension and PIN without additional registrations. |
| --- | --- |
| **Key Replacement Assistance** | In the unfortunate event of a lost license key, registering with VoIPTools lets us provide you with a replacement key promptly. |
| **Product Updates and Reminders** | By registering, you will receive timely notifications from VoIPTools regarding any product updates. Additionally, we will send reminders when your key is nearing its renewal date, ensuring uninterrupted access to our services. |

The existing licensing information will be preserved if you previously registered your Relay. Follow the procedure if you are registering the relay for the first time,

1. In the left side panel, select the ![](https://voiptools.com/wp-content/uploads/2023/01/key.png) **Register** option.
2. Enter *your license key* in the **License Key** field.
3. In the **Contact Name** field enter the *end-user (customer)*. Include the *Reseller company name* if purchased through a 3CX Reseller.
4. Click the **Register** button to complete your registration.
   - 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.

![](https://voiptools.com/wp-content/uploads/2026/03/Register_Homescreen.png)
Figure 9: Registration Page

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> When registering your license key, . When complete, press the “Register” button to activate your license key. It is not necessary to restart the Relay after registering your key.

# Home Screen:

On the Home screen, you can do the following tasks,

-

- - Upgrade the VoIPTools Relay to make sure it is compatible with the latest 3CX version.

- - Learn how to set up the relay.

- - Know the reasons to have VoIPTools Relay in the first place.

![](https://voiptools.com/wp-content/uploads/2026/03/Relay_Homescreen-scaled.png)
Figure 10: Home Screen

# Settings Screen:

The Services screen is used to configure how the Relay functions. This includes setting the protocol (HTTPS), the IP address the webserver will bind to, and the TCP port number. The IP whitelist is maintained on this screen, and you can turn on/off monitored events as well as the Swagger (Open API) documentation.

![](https://voiptools.com/wp-content/uploads/2026/05/Relay_Settings_Screen_Latest.png)
Figure 11: Settings Screen

## Warning Popup:

Two different Warning popups appear when you open the Settings menu

-

- - **Whitelist IP Filtering Warning popup** when you did not add any extra IP addresses or ranges in the whitelist. Click here to learn how to add an IP address to the Whitelist.

- - **Unrestricted Relay Access Detected popup**when you allow everyone to use the relay.

### ****Unrestricted Relay Access Detected**Popup**

This popup apprears when your Relay currently allows access from any IP due to the ‘0.0.0.0/0’ whitelist setting, posing risks of unauthorized use. We strongly advise removing this setting and whitelisting specific IPs for enhanced security. Allowing unrestricted access exposes your Relay to potential hackers, increasing the likelihood of security vulnerabilities. To fortify your Relay, eliminate the ‘0.0.0.0/0’ setting and limit access to trusted IP addresses. Promptly review and update whitelist settings for optimal security.

[![](https://voiptools.com/wp-content/uploads/2024/01/ss-linux-relay-v20-ip-whitelist-popup-1.jpeg)](https://voiptools.com/wp-content/uploads/2024/01/ss-linux-relay-v20-ip-whitelist-popup-1.jpeg)
Figure 12: Unrestricted Relay Access Detected Warning Message

### **Whitelist IP Filtering Warning Popup**

This popup appears when your current setup lacks extra IP addresses in the whitelist, allowing only the 3CX server interaction. Enhance access control by adding ‘localhost’ and another IP, usually your VoIPTools server’s. To secure the Relay, create an IP whitelist, permitting only approved IPs to connect, reducing unauthorized API access risk. It’s advisable to limit access primarily to the VoIPTools server. Implement these restrictions on the Relay if your firewall lacks this feature, ensuring a secure configuration.

Click here to learn how to add an IP address to the Whitelist.

[![](https://voiptools.com/wp-content/uploads/2024/01/ss-linux-relay-v20-ip-whitelist-popup-2.jpeg)](https://voiptools.com/wp-content/uploads/2024/01/ss-linux-relay-v20-ip-whitelist-popup-2.jpeg)
Figure 13: Whitelist (IP Filtering) Popup

## Server Bindings

Ensure remote access to the specified port (Default: TCP/8801) by configuring your firewall. Restrict access to Relay APIs and the web console through the Whitelist section.

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> The Relay utilizes JWT (JSON Web Tokens), necessitating SSL/TLS for secure credential and token transmission.

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 by a comma.

No separate certificate is needed for the Relay, sharing the same certificate as 3CX on the server. Customize certificate paths if needed. Configure firewalls for TCP traffic forwarding on configured ports. Default: [https://0.0.0.0:8801](https://0.0.0.0:8801/).

![](https://voiptools.com/wp-content/uploads/2026/03/Server_Binding.png)
Figure 14: Server Bindings

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> Typically, it is not necessary to change the default setting. If you make changes to the server bindings, a restart of the Relay may be required.

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **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.*

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE**:
>
>
>
>
>
>
>
>
>
>
>
> Access to the Relay is always permitted from localhost. We do not support configuring IP ranges. You must enter at least one IP address in the whitelist.

## Whitelist

### Why You Need IP Whitelist?

Enhance your Relay security by implementing IP restrictions. Limit communication with the Relay API and web portal to specific devices. Ensure to include the 3CX server’s IP address at a minimum. Examples for valid entries is given in the following table,

| IP Address Type | Example |
| --- | --- |
| Single IPs | 127.0.0.1 |
| IP ranges | 192.168.1.0/24 |
| IPv6 address | ::1 |

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> Immediate application of whitelist changes is effective, and no reboot of the Relay is necessary for these modifications.

### Steps to add an IP to the IP Whitelist

1.

1. 1. In the **Whitelist** section, click the **Add** button.

![](https://voiptools.com/wp-content/uploads/2026/03/Whitelist_Allowed_Devices.png)
Figure 15: Add New IP to Whitelist

1.

1. 1. Enter *the IP address*in the **IP Address/Range**field

1. 1. You can enter *a description for of the IP address*in the **Description**field.

1. 1. Click the **Save**button to save your Whitelist.

![](https://voiptools.com/wp-content/uploads/2026/03/Whitelist_Add_Allowed_Devices.png)
Figure 16: Details of IP Address/Range

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> In most cases, the only device that needs to communicate with the Relay is the Windows server where your VoIPTools applications are installed. We recommend configuring your parameter firewall to reject requests from any other IP address. However, if your firewall does not support this feature, you can easily block access to the Relay using the IP Whitelist.

## Certificates

### How Does it Work?

The VoIPTools Relay leverages the existing TLS certificate managed by 3CX eliminating the need for an additional certificate for encryption. On startup, the Relay scans for existing .pem cert and key files in standard 3CX locations, securing communications with client applications.

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> You must use HTTPS for REST API authorization due to JSON Web Tokens (JWT); the Relay doesn’t support unencrypted HTTP connections.

### Updating your Web Server Certificates and Schedule Relay Restart

Certificates do expire periodically. The Relay is designed to track updates to the certificate files and can be configured to automatically restart the Relay to ensure it uses the updated certificates.

1.

1. 1. You can update the certificates in either of the two ways,

      -

      - - Click the **Update**button to prompt the Relay to locate these certificate files.

      - - If 3CX uses certificate files in a non-standard location, you can enter *the full path of the location*in the **Certificates** section.

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> The Relay requires both “crt” and “key” files, and it doesn’t support other certificate file types.

1.

1. 1. Select the**Automatically Restart Relay After Certificate Updates** box and set the time to restart in the**Restart Time** field to restart the relay.

![](https://voiptools.com/wp-content/uploads/2026/03/Certificates.png)
Figure 17: Restart Time after Certificate Update

## JWT Authorization (JSON Web Token)

Ensure secure communication with the Relay by using TLS encryption and JWT for applications. To connect, obtain a token by submitting your public key, ensuring its inclusion in every API request. Tokens expire, necessitating new ones for ongoing communication.

![](https://voiptools.com/wp-content/uploads/2026/03/Relay_Settings_Screen_JWT_Authorization.png)
Figure 18: Authorization (JWT)

To implement JWT authorization, two keys are required:

-

- - The **Private Secret Key**is only needed by the Relay. It serves to verify the public key submitted by the client.

- - The **Public Key**is used by client applications when requesting a new token.

You can copy the keys by clicking the **Copy**![](https://voiptools.com/wp-content/uploads/2023/01/copy.png) icon.

Upon Relay installation, unique public and private keys are auto-generated, but you can create new ones anytime. Safeguard the JWT public key, promptly generating a new one if compromised. if you choose to generate a new public key, the client applications will need to be updated.

For key changes, manually update the configuration file at:

```
C:WindowsSystem32driversetcVoIPToolsappsettings.json
```

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> No Relay restart is needed after generating new keys, but update the new shared JWT Public key on the VoIPTools server.

## REST API

The VoIPTools Relay features an API that operates using REST/ RPC principles.The automatically generated documentation through the “Swagger” tool provides thorough insights into each method. This enables seamless method execution directly from the documentation, a valuable asset for testing purposes.

While this direct execution is advantageous, it introduces an additional potential target for cyber attacks. To enhance security, it is advisable to**deactivate the Swagger user interface when not actively in use.**

![](https://voiptools.com/wp-content/uploads/2026/03/Rest_API.png)
Figure 19: API Documentation Disabled

The Swagger documentation is not available once you toggle the disable button,

![](https://voiptools.com/wp-content/uploads/2026/03/Rest_API_Side_Panel.png)
Figure 20: REST API Documentation Disabled

## Real Time Events

You can use SignalR via the Relay to receive 3CX real-time events like phone calls, presence changes, file events (e.g., new recordings, voicemails, and CDR files). Most events are enabled by default but can be disabled if not needed, reducing Relay resources. VoIPTools support can guide you on this. A paid license key is necessary for real-time events, and if your license expires, the events will be automatically disabled

> ![](https://voiptools.com/wp-content/uploads/2025/10/sticky_note_2_50dp.png) **NOTE:**
>
>
>
>
>
>
>
>
>
>
>
> Registration events are necessary only when using the Emergency Notifier and the Location service features. If you’re not using these specific functions in the relay, deactivate the Registration events.

[![](https://voiptools.com/wp-content/uploads/2024/01/ss-linux-relay-v20-real-time-events.jpeg)](https://voiptools.com/docs/voiptools-relay-v20/ss-linux-relay-v20-real-time-events/)
Figure 21: Real-Time Events

## VoIPTools AI Voice Service Integration

Set up the VoIPTools AI Voice Service to enable features like barge-in and voice commands. To do this, assign a dedicated 3CX extension and create a generic phone configuration in 3CX. This step gives you the Auth ID and Password you need for the service.

![](https://voiptools.com/wp-content/uploads/2026/03/VoIPTools_AI_Voice_Service.png)
Figure 22: VoIPTools AI Voice Service Integration

You must first enter the necessary 3CX credentials into the VoIPTools configuration panel.

| **Setting** | **Purpose** |
| --- | --- |
| **Extension** | The dedicated 3CX extension number you have reserved for the VoIPTools AI Voice Service. |
| **Auth ID** | The unique **SIP Username** required for the service to authenticate with 3CX. |
| **Password** | The secure **SIP Authentication Password** linked to the Auth ID. |

Configure a generic phone on the chosen extension to get the Auth ID and Password.

#### 1. Locate the Extension

1. Open the **3CX Management Console**.
2. Go to **Users**.
3. Select the extension you want to use for the VoIPTools AI Voice Service.

#### 2. Configure the Generic Phone

1. Click the **IP Phone** tab.
2. Select **Configure a phone**.
3. In the prompt, choose **I’ll configure the phone myself**, then click **Next**.
4. Under **Local LAN/VPN**, click **Add Phone**.

#### 3. Retrieve Credentials

1. A configuration popup appears showing:
   - **Auth ID** (SIP Username)
   - **Password** (SIP Authentication Password)
2. Copy these credentials.
3. Paste them into the **VoIPTools AI Voice Service** configuration panel.
4. Click **Save** in both the 3CX console and VoIPTools to complete the setup.

## Auto Update:

The Relay Auto-Update service checks for software updates daily. If an update is available, it will download and install. You can customize the update time according to your preference.

![](https://voiptools.com/wp-content/uploads/2026/03/Auto-Update.png)
Figure 23: Auto Update Relay

# Logs Screen

The Relay logs information about how the application is functioning. Each day a new log file is created automatically. The 7 most recent log files are kept. Older log files are deleted automatically.

![](https://voiptools.com/wp-content/uploads/2026/03/Relay_Logs_Screen.png)
Figure 24: Logs Screen Overview

### Open a Log File:

VoIPTools Relay stores the Seven most recent log files. Older log files are deleted automatically.

-

- - Click the **Select Log File**dropdown and select the desired log file.

![](https://voiptools.com/wp-content/uploads/2026/03/Select_Log_File_Dropdown.png)
Figure 25: Select Log File Dropdown

 

Once selected the log file you can see its log entries,

[![](https://voiptools.com/wp-content/uploads/2024/01/log-output-1024x487.jpeg)](https://voiptools.com/wp-content/uploads/2024/01/log-output.jpeg)
Figure 26: Log Entries

# Code Samples Screen

This section provides you with sample codes. You can get these sample codes without purchasing a subscription. The relay can be installed and accessed in free mode, allowing access to the documentation. The only requirement is that you **install the relay directly on a 3CX server.**

## Real-Time Events

It is a C# example that specifically shows you how to connect to real-time events.

![](https://voiptools.com/wp-content/uploads/2026/03/Code_Samples_Real-Time_Events.png)
Figure 27: Sample Code For Real Time Events

 

## .Net SDK

In contrast to the technical complexities involved in the process of submitting a JWT authorization token request and subsequently making a web service request to our REST relay, our approach simplifies this workflow. All you need to do is request a list of extensions, and the intricate details associated with web interfaces and tokens are hidden from view.

Here’s how it works: You set up a client, request an extension, and you won’t have to worry about the intricate steps of submitting a JWT token request, adding the token to the web request header, executing a REST API request, retrieving a JSON string, and then dealing with the conversion to an object. All of this complexity is neatly concealed.

With the help of our Software Development Kit (SDK), you can accomplish this with a single line of code. Just ask for all the information about extension 100, and it’s as simple as that.

This is the true advantage of using our SDK, a method that underpins the operation of all our applications. Our development team is liberated from the need to become experts in JWT token requests and REST API interactions because they use our SDK to streamline the software development process. The level of simplification introduced is profound, making the workflow remarkably straightforward.

![](https://voiptools.com/wp-content/uploads/2026/03/Code_Samples_NET_SDK.png)
Figure 28: Sample Code For .NET SDK

## C#

This is the procedure you’d follow if you weren’t using our SDK.

1. Request a JWT token:
   1. You initiate the process by creating a web client and configuring the web interface components.
   2. Subsequently, you need to request a JWT token.
2. Scroll further for steps on executing the REST API command. Manage the returned JSON string carefully.

Carrying out these actions in C# can be quite intricate. However, for those who aren’t using .NET, they might wonder how to accomplish these tasks in other programming languages. This provides them with an example of how to do so.

![](https://voiptools.com/wp-content/uploads/2026/03/Code_Samples_C.png)
Figure 29: Sample Code For C#

# SQL Test Screen

The SQL Test Screen allows you to assess connectivity between your 3CX Server and an external SQL server. This testing capability is invaluable for diagnosing issues with 3CX Call Flow Designer applications that necessitate direct interaction with a remote SQL server.

![](https://voiptools.com/wp-content/uploads/2026/03/SQL_Test.png)
Figure 30: SQL Test Screen

# Rest API Screen

The REST API screen offers many methods, encompassing functions like initiating phone calls, retrieving active call listings, generating extensions, modifying a user’s presence status, and more. Our auto-generated documentation, powered by Open API (Swagger), remains consistently current as it directly reflects our code, guaranteeing up-to-date reference materials.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Homescreen.png)
Figure 31: Rest API Screen

# Executing API from Swagger

1.

1. 1. In the **Left Side Panel**click the **Settings**![](https://voiptools.com/wp-content/uploads/2023/03/settings.png) menu.

![](https://voiptools.com/wp-content/uploads/2026/03/Execute_API_Settings_Menu.png)
Figure 32: Left Side Panel – Settings Menu

1.

1. 1. Click the **JWT Authorization**![](https://voiptools.com/wp-content/uploads/2023/01/key.png)section to view the public key. Click the **Copy** ![](https://voiptools.com/wp-content/uploads/2024/01/notes.jpg)icon to copy the JWT Public Key.

![](https://voiptools.com/wp-content/uploads/2026/03/JWT_Authorization_Public_Key_Field.png)
Figure 33: JWT Authorization Section – Public Key Field

1.

1. 1. In the**Left Side Panel**, click the **Rest API**menu.

![](https://voiptools.com/wp-content/uploads/2026/03/Execute_API_REST_API_Menu.png)
Figure 34: Left Side Panel – Rest API Menu

1.

1. 1. Click to expand the **Authentication**section and click the **Try It Out**button.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Authentication_Try_It_Out.png)
Figure 35: Authentication Section – Try it out Button

1.

1. 1. Paste the *JWT public key* in the **Public Key String**field.

![](https://voiptools.com/wp-content/uploads/2026/03/Paste_Public_Key_String_Field.png)
Figure 36: Public Key String Field

1.

1. 1. Click the **Execute**button to get the JWT token response.

![](https://voiptools.com/wp-content/uploads/2026/03/Execute_Public_Key_Button.png)
Figure 37: Execute Button

1.

1. 1. Copy the **Token Response,**excluding the double quotes.

![](https://voiptools.com/wp-content/uploads/2026/03/JWT_Response_Token.png)
Figure 38: JWT Response Token

1.

1. 1. Scroll up the screen and click the **Authorize**![](https://voiptools.com/wp-content/uploads/2024/01/lock-open.jpg) button.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Authorize.png)
Figure 39: Authorize Button

1.

1. 1. In the **Value**field, enter the word *Bearer,* leave a space*,* and paste the *JWT Token*.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Authorization_Popup.png)
Figure 40: Available Authorizations Popup

1.

1. 1. Click the **Authorize**button and click the **Close**button to close the popup.

      -

      - - Now, you receive a JWT token for Swagger and authorize API calls. These tokens expire, and you must obtain a new one every few minutes.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Authorization_Popup_Close.png)
Figure 41: JWT Key Authorized

1.

1. 1. In the **Call Control** section, click to expand the**MakeCall**API.

![](https://voiptools.com/wp-content/uploads/2026/03/REST_API_Call_Control_Section.png)
Figure 42: Call Control Section – MakeCall API

1.

1. 1. Click the **Try It Out**button to enable the **JSON String**field.

![](https://voiptools.com/wp-content/uploads/2026/03/MakeCall_API_Try_Button.png)
Figure 43: MakeCall API – Try It Out Button

1.

1. 1. Enter *the string* in the **JSON String**field using the syntax provided and click the **Execute**button.

![](https://voiptools.com/wp-content/uploads/2026/03/JSON_String_Field.png)
Figure 44: JSON String Field

# How to Upgrade the Relay?

There are three ways you can upgrade the Relay:

-

- - **[Enable automatic updates](https://voiptools.com/docs/voiptools-relay-v20/#21-toc-title)**

- - Click the **Upgrade**button in the **Settings**screen.

![](https://voiptools.com/wp-content/uploads/2026/07/Figure_45_20.7.png)
Figure 45: Upgrade Relay in Settings Screen

-

- - Click the **Upgrade**button on the **Home Screen** and in the popup menu click the **Update**button.

![](https://voiptools.com/wp-content/uploads/2026/03/Relay_Update_Homescreen.png)
Figure 46: Upgrade the Relay in Home Screen

-

- - Manually run the setup program again.

Running the setup program again deletes the existing Relay (while preserving any settings) and downloads and installs the latest Relay.
