---
title: "Milestone GCXONE"
source: /gcxone/devices/milestone-gcx-one
locale: en
updated: 2026-09-29
---
## Introduction

Milestone servers are treated as **NVR devices** in **GCXONE**. Since Milestone is a VMS platform, additional configuration steps are required.

GCXONE uses the same Milestone SDK as the **Milestone XProtect Smart Client**.

To verify connectivity: Attempt a remote connection (outside the local network) using the **Milestone XProtect Smart Client**. If video streaming works successfully, GCXONE will also be able to connect.

## Milestone Configuration

### Required Ports

Ensure the following ports are open on the Milestone server:

- 80, 443 – Management Client
- 7563 – Streaming Port
- 8081 – Web Client
- 22331 – Event Service

### Authentication Requirements

Users must be able to log in to the **Management Client** using:

- Windows Authentication
- Basic Authentication

**Note:** If no VPN or direct IP connection is used, Windows or Basic authentication must be enabled. The user must have administrative privileges.

**Note:** Use **XProtect Smart Client 2021 R1** with the latest hotfixes applied.

### Recording Server Settings

On the Milestone server, open the **Management Client** and navigate to:

**Recording Server → Network** (bottom-right section).

![Milestone Recording Server network configuration, with Enable public access, Public address, Public port, and Local IP ranges fields.](/api/media/file/Screenshot-2026-09-03-144945-edited-e50dc281.png?prefix=media)

Enable **public access**, then configure the **Public address** (the server's public IP or DDNS) and **Public port**.

**Important:** The **Public port must be set to 7563** — GCXONE uses this port for streaming, and remote video will not work if it is missing or set incorrectly.

Ensure that the user has the required permissions enabled.

![Milestone GCXONE](/api/media/file/6d9774e5cc847185cd982f30638d8ffe60f0e8c4-1920x1009.png)

Additionally, ensure that the IP address of the recording server is defined in the **RecorderConfig** file on the Management Server machine. Otherwise, DNS resolution issues may occur, and remote video streaming may not function properly.

![Milestone GCXONE](/api/media/file/d8bfd9e65fca9c76f2271ac414f452670a8e3825-747x371.png)

Device addition in **GCXONE** must be performed using the same credentials that are used in the Milestone **Management Client** (refer to the attached image for reference).

![Milestone GCXONE](/api/media/file/4ced8489c1fd44d8399367fc7d06fc38af3b1fe2-1920x1032-1.png)

After this procedure, the device can be configured with **GCXONE**.

**Note:** Device configuration in GCXONE is only possible if the user can successfully log in to the Management Client with the required privileges.

## Milestone Config Guide with GCXONE

Steps to configure a Milestone device in GCXONE:

**Step 1:** Navigate to the **Devices** tab.

![Milestone GCXONE](/api/media/file/7c3d40624d4c0d2ce189d2b30bfaa49840b13e72-1920x1140.png)

**Step 2:** Click the **Add New** button.

![Milestone GCXONE](/api/media/file/3bf7c17c0ee170ef3f7ab30900b870e2e1884b51-1920x1140-2.png)

**Step 3:** The **Add Device** dialog will be displayed.

![Milestone GCXONE](/api/media/file/509f6ca7534cc5ae39671f69ff0563cb029cb4d5-1920x1140.png)

**Step 4:** In the dialog, open the **Device** dropdown and select **Milestone NVR**.

![The Add Device dialog with MilestoneNVR chosen, showing the name and entity group fields above connection settings for address, serial number, credentials and login type.](/api/media/file/2d47a0cbf169a45a9388415d240f139c5de66759-1257x810.png)

**Step 5:** Enter all required fields: Name, IP Address or Host, User Name, and Password. Optionally enter a Serial Number, and select the **Login Type** — Basic Authentication or Windows Authentication — matching the authentication method enabled on the Milestone server (see Authentication Requirements above).

![Milestone GCXONE](/api/media/file/d50fb64a8a8d12d6b6079adb1ee9101ebc8c931b-1920x1140.png)

**Step 6:** Below the connection fields, the dialog also has a **Select Entity Group** dropdown, an **Enable Audio** toggle (on by default), a required **Timezone**, a **Device Configuration** section (Site Pulse Configuration), an **Advanced Settings** section (Event Polling, Configure Heatmap Mask, Periodic Health Check, Event Retention Time — 30 days by default), and an optional **Location** section (Latitude, Longitude, Plus Code, What3Words).

**Step 7:** Click **Discover**.

![Milestone GCXONE](/api/media/file/ca3205ab2f75c6fb40c5bcb6f2fcf88699d7737c-1920x1032.png)

**Step 8:** Once the device is successfully discovered, click **Save**.

![Milestone GCXONE](/api/media/file/4b675c75c4d38dfcf05ed5539f4ac5082d2d3b55-1920x1032.png)

![Milestone GCXONE](/api/media/file/75ea161042e3937eb74563ce93dc1480a3884725-1795x1090-1.png)

### Managing a Configured Device

After a device is added, use the three-dot menu next to it to **View**, **Edit**, **Arm/Disarm**, **Deactivate**, **Turn Event Off**, **Move**, or **Delete** the device.

![12](/api/media/file/image-54--edited-e0a61e98.png?prefix=media)

### Streaming Verification

**Note:** Custom Properties cannot currently be configured in GCXONE; this is available only through Genesis. For streaming to function correctly, the **Local Node URL** and **Local Stream URL** must be configured in Genesis before verifying Milestone sensor streaming in GCXONE.

After adding the device, navigate to Configuration and select the corresponding sensor to verify that streaming is working correctly. Once confirmed, streaming becomes available across the rest of the platform.

## Alarm Configuration

GCXONE can monitor both alarms and events from Milestone. By default, listening is enabled only for Milestone alarms, as most customers configure specific event rules. Contact NXGEN Support if event listening needs to be enabled.

Customer-defined alarms must be set up in the GCXONE alarm mapping table. Ensure consistent naming across Milestone servers. During the initial set up of the Milestone receiver, provide NXGEN Support with a list of your alarm events. NXGEN Support will then add these to the alarm mapping table. If new events are added, notify NXGEN Support so that the changes can be applied.

If the alarm is not mapped, it will appear as **General Alarm** in Talos.

**Step 1:** Connect to the **Milestone Server**.

**Step 2:** Open the **Milestone XProtect Management Client** and log in.

![Milestone GCXONE](/api/media/file/e149c4afa188943f9b9110e42d328bdf7628dd24-680x660.png)

**Step 3:** Select **Rules and Events** from the menu.

**Step 4:** Select **User-Defined Event**.

![Milestone GCXONE](/api/media/file/e3feced90313c1d7a93a1e31c913fac1ccbe1553-1253x610.png)

**Step 5:** Right-click and select **Add User-Defined Event**.

![Milestone GCXONE](/api/media/file/ce774a115e53c9e48fc5a72ad2cfb9cf867dfa9d-1253x591.png)

**Step 6:** Enter the event name and click **OK** to save.

![Milestone GCXONE](/api/media/file/175e2e077cf4de441ff73594dae0ee29d8480466-1253x613.png)

The event will be added to the list.

![Milestone GCXONE](/api/media/file/7c254afe8fbbb3e33716bbb7e7d842bd20faf10d-1253x623.png)

**Step 7:** Select **Rules** from the left menu.

**Step 8:** Select the required event to create the corresponding rule.

![Milestone GCXONE](/api/media/file/6726ca267731cf5903b63b7326f96aaa30e78642-1254x655.png)

**Step 9:** Right-click and select **Add Rule**.

![Milestone GCXONE](/api/media/file/3f7e33336851604cee4cbd701ca8da9f271a5c73-1254x617.png)

**Step 10:** Enter a name for the rule.

**Step 11:** In Step 1, select the type of rule.

![Milestone GCXONE](/api/media/file/94d444972068c9cb1424e7da75ae7be71c87ac9a-1253x638.png)

**Step 12:** Select the event and click **Next**.

![Milestone GCXONE](/api/media/file/0c9a9c2f003a2a8a6edd8be270a1de813df66bff-1254x627.png)

![Milestone GCXONE](/api/media/file/c518d85783d42f301207f0eca6d776d0349a41eb-1253x622.png)

**Step 13:** In Step 2, select a condition to be applied and click **Next**.

![Milestone GCXONE](/api/media/file/6a58514e95c3ed063f5a5d9720be353f9e91f064-1254x659.png)

![Milestone GCXONE](/api/media/file/324dbac1dc5800953e454d69717142d5d4498def-1253x635.png)

**Step 14:** In Step 3, configure the required condition and click **Next**.

![Milestone GCXONE](/api/media/file/45aa6c1d1d474cae516bf3637e94ab8cec69c5c0-1253x610.png)

**Step 15:** In Step 4, select the stop criteria and click **Finish**.

![Milestone GCXONE](/api/media/file/1cf7e62d003e7628aec138e57088c4f4d93f3000-1253x599.png)

![Milestone GCXONE](/api/media/file/12ecf4b4d7ebef637545f8dba4c5aa4ed6e3d6ad-1254x632.png)

**Step 16:** To trigger an event, select the event and click **Test Event**.

The event will be triggered.

![Milestone GCXONE](/api/media/file/5dc3320ca6bd619786d0583801a6ac9fc890a72f-1253x615.png)

![Milestone GCXONE](/api/media/file/34fca0582717bb7a13bbf4232dec98206eeee180-1253x619.png)

**Step 17:** Select **Server Log** to verify the triggered event logs.

![Milestone GCXONE](/api/media/file/d4ee0b66764f48c62f751b6415077567fe955202-1253x614.png)

The log will be listed as shown in the reference image.

![Milestone GCXONE](/api/media/file/6ebfa658f3fe81e45ab2b55bba69325c5d6acac9-1253x632.png)

**Step 18:** Select **Alarm** from the left menu.

![Milestone GCXONE](/api/media/file/392e8b936d7eb3e86cca1c2d46a5e058c87bc3b1-1253x661.png)

**Step 19:** Select **Alarm Definition** from the submenu.

![Milestone GCXONE](/api/media/file/06fdd11bb842ab41bcff143560c03cb2ce3ed6ab-1253x647.png)

**Step 20:** Enter a name for the alarm.

![Milestone GCXONE](/api/media/file/4b14ce7fc6d6efd8393fb1b7c85b6247ae13778e-1254x642.png)

**Step 21:** From the **Triggering Event** list, select the required event.

![Milestone GCXONE](/api/media/file/fff7fe0e12dc1b00ea17362a33cb36d7aef2b8e2-1253x633.png)

**Step 22:** Select a source. Under **Servers**, select the event that needs to be appended, then click **OK**.

![Milestone GCXONE](/api/media/file/8d4b1b67e5763979a05c5189459896997e1b5f24-1253x624.png)

![Milestone GCXONE](/api/media/file/fe42250d45810dc323de67c9fc2983b03ef9eb19-1253x645.png)

**Step 23:** Configure the required time settings:

- Time schedule
- Time limit
- Priority

**Step 24:** Click **Save** (top-left corner) to apply the configuration.

![Milestone GCXONE](/api/media/file/577cee17f698b3c6ab18bfb280397472a476be71-1254x637.png)

**Troubleshooting:** If GCXONE isn't receiving alarms even after the steps above are configured, check the following in the Milestone Management Client: the camera's built-in **Motion** rule is set to **Active** — some Milestone recorders ship with per-camera motion detection disabled by default — and the correct alarm rule (created above) is set so the Smart Client starts receiving the alarms.

![2](/api/media/file/Screenshot-2026-09-15-113546-edited-7043a38d.png?prefix=media)

![1](/api/media/file/Screenshot-2026-09-15-113705-edited-481f5744.png?prefix=media)

Once alarms appear in the Smart Client's **Alarm Manager**, the events become available in GCXONE's Video Search.

**Step 25:** Log in to **GCXONE**.

**Step 26:** Navigate to the **Map** view.

![Milestone GCXONE](/api/media/file/66a331dc718f97c03904103799aa26ade258b8ee-1920x1032-1.png)

**Step 27:** Select the required customer and click **Edit Mode**.

![Milestone GCXONE](/api/media/file/2afd15a76d021ce03b2009ae63ee3437040de2e4-1920x1032-1.png)

**Step 28:** At the bottom of the screen, click **Add**.

![Milestone GCXONE](/api/media/file/ac59bdb8793dbe3a10a8292bbda1287c626039b8-1920x1032-1.png)

**Step 29:** From the dropdown menu, select the required device.

![Milestone GCXONE](/api/media/file/e0406ce07bdb69c1d697d7768a3d1b8ce818fc52-1920x1032-1.png)

**Step 30:** Click Save to confirm and add the I/O to the map.

![Milestone GCXONE](/api/media/file/24cd2c5a98d4ca92b9784e85458b59e3e6a50a5d-1920x1032-1.png)

<!-- Not represented in Markdown: video. Read the page at /gcxone/devices/milestone-gcx-one -->
