BY NXGEN
Teltonika IoT
Device Configuration Guide
GCXONE Device Configuration
March 2026
Teltonika IoT devices are a core component of the GCXONE Tower Monitoring ecosystem, providing network connectivity, device health monitoring, GPS tracking, and I/O state management for remote tower sites.
This guide walks you through everything needed to onboard a Teltonika IoT router into GCXONE — from device configuration and credential setup to alarm rule activation. By the end, your device will be streaming live telemetry and generating automated alerts when thresholds are breached.
Once connected to GCXONE, Teltonika routers continuously report the following categories of telemetry:
Network connectivity status and signal quality (RSRQ, RSRP)
SIM card data usage against configured monthly limits
Physical input/output (I/O) port state changes — digital, analog, isolated, relay
GPS position relative to the assigned site boundary (geo-fencing)
Jammer detection based on sudden signal degradation patterns
💡 Tip: Teltonika handles communication, GPS tracking, and edge telemetry routing for the tower. This makes it the backbone of connectivity monitoring — without it, GCXONE cannot detect network outages, signal interference, or unauthorized device movement.
Before starting device onboarding, ensure the following information and access are available:
⚠ Warning: Ensure the Teltonika router is online, reachable from the GCXONE server (direct IP or via VPN), and that the administrative credentials provided have full API access.
Follow these steps to add a Teltonika IoT router to GCXONE. The device will be registered under an existing site and begin reporting telemetry immediately after configuration.
In GCXONE, navigate to the Site where the Teltonika device is physically installed. This is the parent entity under which the device will be registered.
Go to Configuration → Sites
Locate and open the target site
Click Edit to open the site's configuration panel
Within the site configuration, navigate to the Devices section and click Add Device to open the device creation dialog.
In the device dialog, open the Device Type dropdown and select Teltonika IoT to load the appropriate configuration fields.
Figure 1: Device Type dropdown — select 'Teltonika IoT'
Fill in all required fields to establish a secure connection between GCXONE and the Teltonika router. Each field is described in detail below.
Figure 2: Device configuration fields for Teltonika IoT
After entering all fields, click Save. GCXONE will immediately attempt to establish a connection with the Teltonika router using the provided credentials.
A successful connection results in:
The device appearing in the site's device list with an active status indicator
Live telemetry data beginning to flow into GCXONE (signal strength, network status, I/O states)
The device becoming available for alarm rule configuration
⚠ Warning: If the connection fails, verify that the IP address is reachable, the port is open, and the credentials are correct. Check that no firewall rules are blocking GCXONE's access to the device.
GCXONE uses a JSON-based alarm rule configuration to define which telemetry parameters are monitored, what thresholds trigger alerts, and how those alerts are identified in CMS integrations.
Alarm rules can be configured at the Site level or Device level. Teltonika connectivity rules are typically applied at the Device level for precision control.
Navigate to the target Site or Device in GCXONE.
Click Edit and go to the Additional Properties section.
Locate the property named Custom Alarm Rules.
Open the property's hamburger menu (⋮) and select Apply Default to load the preconfigured rule set. All rules are inactive by default.
Modify the JSON to enable specific rules by setting "active": true for the relevant parameters.
Set your thresholds, event codes, and group codes as needed.
Click Save. GCXONE will immediately begin evaluating incoming telemetry against the configured rules.
Figure 3: Custom Alarm Rules property in Additional Properties — click Apply Default to load
💡 Tip: By default, all alarm rules are inactive. You must explicitly set "active": true for each rule you want GCXONE to monitor. This prevents accidental alerts during initial setup.
Each alarm rule follows a consistent JSON structure. Understanding the common fields helps when customizing rules:
💡 Tip: Event Codes are used for cross-system CMS notification (e.g., IMMIX, Evalink). Group Codes are GCXONE-internal identifiers for tower alarm workflows. Both must be present for full integration.
The following alarm rules are available for Teltonika IoT devices under the Connectivity Monitoring section of the Custom Alarm Rules JSON. Each rule monitors a specific aspect of network health, physical I/O, or security.
Monitors physical state changes on Teltonika I/O ports. This rule covers digital, analog, isolated, and relay inputs and outputs — essential for detecting door openings, power events, external sensor triggers, and equipment state changes.
"IOStatusChange": {
"input": {
"AnalogCurrentLoop": {"active": false, "low": 4, "high": 20},
"AnalogInput": {"active": false, "low": 11, "high": 14},
"DigitalInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"IsolatedInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"PowerSocketInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"eventCode": "input.statechange",
"groupCode": "tower.input.statechange"
},
"output": {
"IsolatedOutput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"Relay": {"active": false, "ranges": ["open", "closed"], "alertOn": "open"},
"PowerSocketOutput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"eventCode": "output.statechange",
"groupCode": "tower.output.statechange"
}
}
Tracks monthly mobile data consumption for the Teltonika router's SIM card. Triggers a warning when data usage reaches the configured percentage of the total monthly allowance — preventing unexpected overage charges or service interruptions.
"simCardDataPackage": {
"active": false,
"simBillingStartDate": 1,
"simDataPackageGB": 10,
"usageWarningPercent": 80,
"eventCode": "sim.data.usage.warning",
"groupCode": "tower.connectivity.simdata.alert"
}
With simDataPackageGB set to 10 and usageWarningPercent set to 80, GCXONE triggers an alert when cumulative SIM data usage exceeds 8GB in the billing period.
The alert clears automatically when data usage resets at the start of the new billing cycle.
Adjust the threshold lower (e.g., 70%) for early warning on sites with limited connectivity alternatives.
Detects when the Teltonika router loses mobile network connectivity or the signal drops to an unacceptable level. Immediately alerts operators to potential site communication failures.
"cellNetworkLoss": {
"active": false,
"eventCode": "modem.signal.warning",
"groupCode": "tower.connectivity.signal.alert"
}
GCXONE triggers an alert when the cellular signal drops below the acceptable threshold or connectivity is lost entirely.
The alert automatically clears once the signal returns to an acceptable level.
This rule has no threshold parameters — it relies on GCXONE's built-in signal quality evaluation for the router's reported modem status.
Monitors the GPS position of the Teltonika router relative to its assigned site location. Triggers an alert if the device moves beyond the configured radius — detecting potential tower displacement, theft, or unauthorized movement.
"geoFencing": {
"active": false,
"radiusMetersWarning": 500,
"eventCode": "geo.fence.breach",
"groupCode": "tower.connectivity.geofence.alert"
}
The geo-fence boundary is centered on the coordinates defined in the parent Site's configuration in GCXONE.
If the GPS position reported by the Teltonika router exceeds 500 meters from the site center, a breach alert is generated.
The alert clears automatically when the device returns within the defined boundary.
Reduce the radius for permanent fixed installations; use a larger radius for mobile or semi-mobile tower deployments.
Detects potential radio frequency jamming attempts based on sudden signal degradation and poor Reference Signal Received Quality (RSRQ). Jammer detection is critical for security-sensitive tower deployments where signal interference may indicate deliberate disruption attempts.
"jammerDetection": {
"active": false,
"criteria": {
"signalDropThreshold": 25,
"minSignalLevel": -113,
"rsrqThreshold": -20
},
"eventCode": "modem.jammer.detected",
"groupCode": "tower.connectivity.jamming.alert"
}
GCXONE evaluates both absolute signal level (RSRQ) and the rate of signal change (drop percentage) to distinguish genuine jamming from normal signal variation.
An alert is triggered when the signal drop exceeds 25% OR the RSRQ falls below -20 and signal level is below -113 dBm simultaneously.
The alert clears automatically once normal signal stability is restored.
💡 Tip: Jammer detection thresholds may need tuning based on local RF environment conditions. Sites in urban areas with natural signal variation may require a higher signalDropThreshold to reduce false positives.
The following is the complete default JSON configuration for all Teltonika connectivity alarm rules. Copy this into the Custom Alarm Rules property and modify as needed for your deployment.
"connectivityMonitoring": {
"IOStatusChange": {
"input": {
"AnalogCurrentLoop": {"active": false, "low": 4, "high": 20},
"AnalogInput": {"active": false, "low": 11, "high": 14},
"DigitalInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"IsolatedInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"PowerSocketInput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"eventCode": "input.statechange",
"groupCode": "tower.input.statechange"
},
"output": {
"IsolatedOutput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"Relay": {"active": false, "ranges": ["open", "closed"], "alertOn": "open"},
"PowerSocketOutput": {"active": false, "ranges": ["Low level", "High level"],
"alertOn": "High Level"},
"eventCode": "output.statechange",
"groupCode": "tower.output.statechange"
}
},
"simCardDataPackage": {
"active": false,
"simBillingStartDate": 1,
"simDataPackageGB": 10,
"usageWarningPercent": 80,
"eventCode": "sim.data.usage.warning",
"groupCode": "tower.connectivity.simdata.alert"
},
"cellNetworkLoss": {
"active": false,
"eventCode": "modem.signal.warning",
"groupCode": "tower.connectivity.signal.alert"
},
"geoFencing": {
"active": false,
"radiusMetersWarning": 500,
"eventCode": "geo.fence.breach",
"groupCode": "tower.connectivity.geofence.alert"
},
"jammerDetection": {
"active": false,
"criteria": {
"signalDropThreshold": 25,
"minSignalLevel": -113,
"rsrqThreshold": -20
},
"eventCode": "modem.jammer.detected",
"groupCode": "tower.connectivity.jamming.alert"
}
}
Quick reference for all Teltonika connectivity event codes and group codes:
Always start with Apply Default to load the complete preconfigured rule set before making changes.
Enable rules incrementally — start with critical rules (network loss, jammer detection) before enabling threshold-sensitive rules like I/O state changes.
Test alarm rules in a staging environment or on a single device before deploying to all sites.
Set usageWarningPercent for SIM data at 70–80% to give operators enough time to take action before the plan is exhausted.
For geo-fencing on permanent sites, use a small radius (100–200m). For temporary deployments, use 500m or more.
Document your event codes and group codes in your CMS configuration to ensure correct alarm routing.
Ensure the Teltonika router is reporting SIM data usage metrics to GCXONE.
Verify that simDataPackageGB matches your actual SIM plan size.
The simBillingStartDate field is currently inactive — data usage tracking uses the calendar month for now.