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 |
|---|---|---|
|
4747 |
Port for the dedicated mobile device listener. |
|
4 |
Base size of the mobile device thread pool. |
|
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 |
|---|---|
|
Altitude in meters (from GPS). |
|
Battery percentage (0—100, -1 if unknown). |
|
Communication protocol string. |
|
Unique device identifier. |
|
GPS heading/direction. |
|
UNIX timestamp of the last status update. |
|
Device model name. |
|
Operating system name. |
|
Operating system version. |
|
Device serial number. |
|
Speed (from GPS). |
|
Device manufacturer. |
|
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.