Mobile Clients

NetXMS provides native mobile clients for Android and iOS. Both connect to the server through the WebAPI (REST API) over HTTPS using token-based authentication — they do not use the protocol of the desktop and web management clients.

The Android client requires Android 9 or later; the iOS client requires iOS 18.5 or later. The mobile applications are maintained in separate repositories on their own release schedules, so feature availability may differ between app versions.

Server Requirements

The WebAPI must be installed and reachable from the mobile devices. See WebAPI setup for Linux or Windows.

Certificate handling differs between the platforms:

  • The iOS client relies on the operating system’s certificate validation. The WebAPI endpoint must present a certificate the device trusts — issued either by a public CA or by a private CA whose profile is installed on the device. Self-signed certificates are not supported.

  • The Android client can connect to servers with self-signed certificates: the certificate is presented for interactive approval with its SHA-256 fingerprint and can be accepted temporarily or permanently.

Connection and Authentication

The server address is entered as a URL; when no scheme is given, https:// is assumed. Login uses regular NetXMS user accounts. On successful login the client receives an API token that is used for the rest of the session; credentials and tokens are stored encrypted on the device.

Two-factor authentication is supported: when the account requires it, the client prompts for a verification code (for example, a TOTP code or a code delivered via Telegram) after password verification. Setting up a two-factor authentication method is not possible from the mobile clients — the method must already be configured for the account (see User Management).

The iOS client can additionally lock the app with Face ID or Touch ID.

Features

Both clients provide:

  • Object tree browsing with status colors, and object details. The detail views differ between the platforms: the iOS client shows overview and alarms tabs (last values are not yet implemented), while the Android client shows overview information, comments, location, and object actions (alarms are available as a global view rather than per object).

  • Alarm management: list of active alarms with severity filtering; acknowledge, resolve, and terminate actions.

  • Dashboards defined on the server. Not every dashboard element type is available in the mobile clients; unsupported elements are shown as placeholders. Historical DCI charts are available inside dashboard elements. Dashboards use the element format introduced in NetXMS 6.1 — dashboards served by older servers cannot be displayed.

  • Object tools, including tools with input fields. Confirmation prompts are shown by the iOS client only; the Android client executes such tools without prompting.

  • Screenshot capture from nodes through the agent.

  • Remote control of nodes with VNC capability.

Legacy Mobile Agent and Mobile Device Objects

Earlier NetXMS versions included a separate Android mobile console and an Android mobile agent that reported device information (location, battery level, and other device metrics) to the server. Both are deprecated; the mobile console has been removed from the NetXMS source tree, while the mobile agent client library still ships. The current mobile clients do not report device data. Server-side support for the mobile agent remains and is described below.

The mobile agent connects to a dedicated mobile device listener on port 4747 and requires the "Login as mobile device" system access right and a pre-created Mobile Device object.

The following server-side settings affect the mobile device listener:

Parameter Default Description

MobileDeviceListenerPort

4747

Port for the dedicated mobile device listener.

ThreadPool.MobileDevices.BaseSize

4

Base size of the mobile device thread pool.

ThreadPool.MobileDevices.MaxSize

256

Maximum size of the mobile device thread pool.

The number of concurrent mobile device sessions is fixed at 256 and cannot be changed. The ThreadPool.MobileDevices.* variables are not registered in the server configuration and do not appear in the Server Configuration view; to change them, create the variables manually.

The server does not create Mobile Device objects automatically. Before a mobile agent can log in, a Mobile Device object with a device ID matching the one reported by the agent must be created in the object tree. In addition, the user account used for the mobile agent login must have the "Push data" access right on that object. If no matching Mobile Device object exists, or the user lacks the required access right, the login is denied.

Once the mobile agent is connected, the following internal metrics are available for the Mobile Device object:

Metric Description

MobileDevice.Altitude

Altitude in meters (from GPS).

MobileDevice.BatteryLevel

Battery percentage (0—​100, -1 if unknown).

MobileDevice.CommProtocol

Communication protocol string.

MobileDevice.DeviceId

Unique device identifier.

MobileDevice.Direction

GPS heading/direction.

MobileDevice.LastReportTime

UNIX timestamp of the last status update.

MobileDevice.Model

Device model name.

MobileDevice.OS.Name

Operating system name.

MobileDevice.OS.Version

Operating system version.

MobileDevice.SerialNumber

Device serial number.

MobileDevice.Speed

Speed (from GPS).

MobileDevice.Vendor

Device manufacturer.

MobileDevice.UserId

User identifier reported by the mobile agent (a free-form string, not a NetXMS user ID).

See also the MobileDevice NXSL class for scripting with mobile device data.