# Install Onsite Proxy

The Onsite Proxy runs on a host that shares a subnet (the same local network segment) with your IP phones and relays their call signaling to your Cloud Voice PBX (Private Branch Exchange, the system that routes your phone calls). This page walks through installing the proxy and connecting it to the PBX, using Ubuntu as the example. The same steps apply to [every supported operating system](/pbx/onsite-proxy-guide/system-requirements-for-onsite-proxy/#system-requirements-for-onsite-proxy__section_d2g_zqn_13c).

## Before you begin

### On the PBX

Make sure you have already [added an Onsite Proxy instance](/pbx/onsite-proxy-guide/add-an-onsite-proxy-instance-on-cloud-voice-pbx/) on your Cloud Voice PBX and have its connection credentials on hand: the **connection address**, **UUID** (Universally Unique Identifier, the unique ID for this proxy), and **secret key**. You will find them under **System > Onsite Proxy > Edit > Connection information**.

:::tip
To be sure the secret key hasn't already been claimed by another connection, refresh it first and copy the new value.
:::

![Connection address, UUID, and secret key shown on the PBX Onsite Proxy connection information panel](/images/pbx/copy-connection-information-cloud.png)

### On the proxy host

Confirm the host meets the following before you install.

| Item | Requirement |
| --- | --- |
| Network | The host sits on the same subnet as the IP phones, and that subnet can reach the PBX server. |
| Operating system | The host runs a [supported operating system](/pbx/onsite-proxy-guide/system-requirements-for-onsite-proxy/#system-requirements-for-onsite-proxy__section_d2g_zqn_13c). |
| Hardware | The host meets the [minimum specifications](/pbx/onsite-proxy-guide/system-requirements-for-onsite-proxy/#system-requirements-for-onsite-proxy__section_kn3_xqn_13c). |
| Ports | UDP (User Datagram Protocol) port `5060` is free on the host. This is the standard port the proxy uses for SIP (Session Initiation Protocol) call signaling. |
| IP address | The host has a static IP address assigned. |

:::caution
If another service on the host is already using UDP port `5060`, the proxy cannot claim it and the connection will not work. Confirm the port is free before you install.
:::

## Step 1: Download and unpack the installation package

1. Open a command line on the proxy host.
2. Switch to the root user:

   ```bash
   sudo -i
   ```

   :::note
   If prompted for a password, enter the current user's password and press `Enter`.
   :::
3. Download the latest installation package into a directory of your choice. Use the command that matches the host's CPU architecture, replacing `<desired_directory>` with the path where you want the file saved.

   

   For an x86_64 host:

   ```bash
   wget <package-url>/onsiteproxy-x86_64.tar.gz -O <desired_directory>/onsiteproxy.tar.gz
   ```

   For an ARM64 host:

   ```bash
   wget <package-url>/onsiteproxy-aarch64.tar.gz -O <desired_directory>/onsiteproxy.tar.gz
   ```

   For example, to save the x86_64 package to the desktop:

   ```bash
   wget <package-url>/onsiteproxy-x86_64.tar.gz -O /home/user/Desktop/onsiteproxy.tar.gz
   ```
4. Extract the package to the root directory, replacing `<your_package_path>` with the actual path to the file you downloaded:

   ```bash
   tar -xzf <your_package_path>/onsiteproxy.tar.gz -C /
   ```

   Following the example above:

   ```bash
   tar -xzf /home/user/Desktop/onsiteproxy.tar.gz -C /
   ```

## Step 2: Install the proxy and connect it to the PBX

1. Start the installer:

   ```bash
   onsite-proxy-install
   ```
2. In the **Onsite Proxy Installation** window, review the proxy version and operating system details, then select **Yes** and press `Enter`. Give it about a minute for the requirements prompt to appear.

   ![Terminal installer confirming the proxy version and operating system before install](/images/pbx/install-onsite-proxy.png)
3. At the **Important Requirements** prompt, press `Enter`.

   ![Important Requirements notice shown by the terminal installer](/images/pbx/install-onsite-proxy-requirement-prompt.png)
4. At the **Onsite Proxy Configuration Wizard** prompt, press `Enter` to begin configuration.

   ![Start screen for the Onsite Proxy configuration wizard](/images/pbx/configure-wizard-on-onsite-proxy.png)
5. Work through the wizard, supplying each value when its window appears. Paste the credentials you copied from the PBX exactly, and confirm your entry on the follow-up window for each setting.

   :::note
   You can skip the wizard now and [set up the connection later](/pbx/onsite-proxy-guide/configure-connection-information/) if you prefer. To skip, choose **&lt;Cancel&gt;** in any of the configuration windows, then select **No** in the **Configuration Failed** window.

   ![Prompt offering to cancel out of the configuration wizard](/images/pbx/skip-configuration-wizard.png)
   :::

   **a. PBX connection address**: In the **Configure PBX Connection Address** window, paste the connection address from the PBX, select **&lt;Ok&gt;**, and press `Enter`.

   ![Entering the PBX connection address in the wizard](/images/pbx/configure-pbx-connection-address-on-onsite-proxy-cloud.png)

   In the **Confirm Connection Address** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the entered PBX connection address](/images/pbx/configure-pbx-connection-address2-on-onsite-proxy-cloud.png)

   **b. UUID**: In the **Configure UUID** window, paste the UUID from the PBX, select **&lt;Ok&gt;**, and press `Enter`.

   ![Entering the UUID in the wizard](/images/pbx/configure-uuid-on-onsite-proxy.png)

   In the **Confirm UUID** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the entered UUID](/images/pbx/configure-uuid2-on-onsite-proxy.png)

   **c. Secret key**: In the **Configure Secret Key** window, paste the secret key from the PBX, select **&lt;Ok&gt;**, and press `Enter`.

   ![Entering the secret key in the wizard](/images/pbx/configure-secret-key-on-onsite-proxy.png)

   In the **Confirm Secret Key** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the entered secret key](/images/pbx/configure-secret-key2-on-onsite-proxy.png)

   **d. PBX external web server port**: In the **Configure PBX External Web Server Port** window, select **&lt;Ok&gt;** and press `Enter`.

   ![Confirming the PBX external web server port value](/images/pbx/configure-https-port-on-onsite-proxy-cloud.png)

   In the **Confirm PBX External Web Server Port** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the external web server port selection](/images/pbx/configure-https-port2-on-onsite-proxy-cloud.png)

   **e. PBX external tunnel port**: In the **Configure PBX External Tunnel Port** window, select **&lt;Ok&gt;** and press `Enter`.

   ![Confirming the PBX external tunnel port value](/images/pbx/configure-tunnel-port-on-onsite-proxy-cloud.png)

   In the **Confirm PBX External Tunnel Port** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the external tunnel port selection](/images/pbx/configure-tunnel-port2-on-onsite-proxy.png)

   **f. Local IP**: In the **Select Local IP** window, choose the static IP address assigned to the host, select **&lt;Ok&gt;**, and press `Enter`.

   ![Selecting the host's static IP from available network interfaces](/images/pbx/configure-local-ip-on-onsite-proxy.png)

   :::note
   If the address you want isn't in the **Available network interfaces** list, select **manual**, press `Enter`, and type the IP address yourself.

   ![Entering the local IP address manually](/images/pbx/configure-local-ip-mannually-on-onsite-proxy.png)
   :::

   In the **Confirm Local IP** window, select **&lt;Yes&gt;** and press `Enter`.

   ![Confirming the selected local IP address](/images/pbx/configure-local-ip2-on-onsite-proxy.png)
6. In the **Configuration Summary** window, check that every value is correct, then select **&lt;Yes&gt;** and press `Enter`.

   ![Summary of all configured connection values before applying](/images/pbx/configure-summary-on-onsite-proxy-cloud.png)
7. At the **Verification Successful** prompt, press `Enter`.

   ![Prompt confirming the connection was verified successfully](/images/pbx/verification-successful-on-onsite-proxy.png)
8. At the **Configuration Complete** prompt, press `Enter`.

   ![Prompt confirming configuration is complete](/images/pbx/configuration-complete-on-onsite-proxy.png)
9. At the **Installation Complete** prompt, press `Enter`.

   ![Prompt confirming installation is complete](/images/pbx/installation-complete-on-onsite-proxy.png)

## Result

The Onsite Proxy is installed and connected to the PBX.

:::note
The proxy starts automatically on boot and reconnects to the PBX on its own once network connectivity is restored.
:::

On the PBX, the Onsite Proxy instance now shows a connected status along with the proxy's details, such as its version, internal IP address, and public IP address.

![PBX listing showing the Onsite Proxy instance connected with its version and IP addresses](/images/pbx/connected-onsite-proxy-instance-cloud.png)

:::note
If the connection drops, or if the proxy's resource usage crosses any of the thresholds below, the PBX sends the **Onsite Proxy** event notification to your designated contacts:

- CPU usage above 85%
- Memory usage above 85%
- Disk usage above 95%
:::
