# Onsite Proxy Overview

Onsite Proxy is a lightweight, command-line proxy application that bridges your Cloud Voice system and the IP phones on a local network. It works around the firewall and NAT (Network Address Translation) obstacles that normally complicate remote phone deployments.

## How it works

When several IP phones share a single subnet, you install Onsite Proxy on a host in that same subnet and connect only the proxy back to the Cloud Voice PBX (Private Branch Exchange, the phone system that manages your calls). Once the link is established, you provision the phones through the proxy, and it relays SIP and RTP traffic between the phones and the PBX. SIP (Session Initiation Protocol) is the signaling that sets up, changes, and ends calls; RTP (Real-time Transport Protocol) carries the live audio. To the PBX, the phones behave as though they sit on the same network.

Because one connection carries the traffic for every phone behind it, you no longer need to open per-phone port-forwarding or firewall rules for the remote network on the PBX side. Keeping media on this more direct path also cuts the latency and packet loss that traditional remote-access methods tend to introduce.

:::note
Reach for Onsite Proxy when a group of IP phones sits behind a firewall or NAT router at a remote site. Instead of opening a separate port-forwarding rule for every phone, you point one proxy at Cloud Voice and let it carry the traffic for all of them.
:::

![Cloud Voice, Onsite Proxy sitting in the phones' subnet and relaying traffic to the PBX over one connection](/images/pbx/onsite-proxy-scenario.png)

## Requirements

Confirm the following before you deploy Onsite Proxy.

**Cloud Voice PBX**

- Running firmware version `84.23.0.24` or later.

:::caution
Check the PBX firmware first. Onsite Proxy needs version `84.23.0.24` or later; on an earlier build you cannot connect a proxy. Update the PBX before you begin.
:::

**Onsite Proxy host**

| Item | Requirement |
| --- | --- |
| Network | The host resides in the same subnet as the IP phones, and that subnet has network connectivity to the PBX server. |
| Operating system | The host runs one of the supported operating systems. |
| Hardware | The host meets the minimum hardware specifications. |
| Available port | UDP (User Datagram Protocol) port `5060` on the host is free. |
| IP address | The host has a static IP address. |

:::caution
Two host settings are easy to miss and will break provisioning if they are wrong:

- **UDP port 5060 must be free.** No other SIP service on the host can already be using it, or the proxy cannot start.
- **The host must keep a static IP address.** If the address changes (for example, from a DHCP, or Dynamic Host Configuration Protocol, lease renewal), the phones lose their path to the PBX and calls stop working.
:::

## Key features

**Automatic phone discovery**: Onsite Proxy uses PnP (Plug and Play) to find the IP phones on its subnet and reports each phone's details to Cloud Voice, including MAC (Media Access Control hardware) address, IP address, vendor, and model.

**Zero-touch provisioning**: When you assign an extension to a PnP-discovered phone, the proxy forwards the PBX's SIP NOTIFY message to that phone. The phone then downloads its configuration file and registers on its own, with no manual setup at the device.

**SIP signaling relay**: The proxy forwards registration requests to the PBX and maintains a stable registration. From then on it passes all SIP messages between the phones and the PBX, such as `REGISTER`, `INVITE`, and `BYE`, through a single UDP `5060` port on the host.

**Audio RTP passthrough**: When this option is enabled, phones registered through the same Onsite Proxy exchange their RTP audio streams directly, peer-to-peer, bypassing both the PBX and the proxy. This lowers latency, saves bandwidth, and noticeably improves call quality.

:::tip
Turn on Audio RTP passthrough. For a call between two phones registered through the same proxy, the audio then flows straight between the two phones instead of looping through the PBX and the proxy. Note that this shortcut applies only when both phones use the same Onsite Proxy.
:::

## Get started

### Connect Onsite Proxy to Cloud Voice

1. Add an Onsite Proxy instance on the PBX to generate the connection details you will need during setup. See [Add an Onsite Proxy Instance on Cloud Voice PBX](/pbx/onsite-proxy-guide/add-an-onsite-proxy-instance-on-cloud-voice-pbx/).
2. Install and configure Onsite Proxy on a host in the phones' subnet, using those connection details to link it to the PBX. See [Install Onsite Proxy](/pbx/onsite-proxy-guide/install-onsite-proxy/).

### Auto provision IP phones

After the proxy is connected, provision the phones through it. See [Auto Provision IP Phones Remotely with Proxy](/pbx/administrator-guide/auto-provision-ip-phones-remotely-with-proxy/).
