Applications / Stress & Load-Test Tools / ANSI/DLMS Modem Simulator - Single Port Stress Test
Stress & Load-Test Tools

Stress-test GPRS services with simulated modem turnover

Load-test gateway resilience by simulating multiple GPRS modems cycling through a constrained pool of serial ports, with injected protocol errors to validate robustness.

What it is

A standalone Java utility that emulates multiple GPRS modems competing for a limited pool of physical serial ports (a serial port, a serial port, a serial port for ANSI modems; a serial port for DLMS). Each simulated modem loads active controller configurations from the platform database, establishes a TCP connection to the GPRS client service, relays commands between the service and a physical meter over serial, and releases the port after a 5-minute session to simulate real-world modem disconnect/reconnect cycles. The tool intentionally corrupts 1-in-6 identification messages to test error handling and server resilience.

Key benefits

Realistic modem churn testing

Simulate rapid modem connection/disconnection cycles and port contention without deploying multiple physical modems. Exposes race conditions and resource leaks in production services before live deployment.

Injected protocol corruption

Systematically distort 1-in-6 modem identification messages (omit port/ID fields) to validate server error handling and recovery paths. Builds confidence in service robustness against malformed data.

Minimal infrastructure footprint

Runs on Windows with 4 serial ports and a local database connection. No cloud infrastructure, no exotic hardware — suitable for lab validation, integration testing, and pre-production stress runs.

FIFO port pooling

Fair-queued COM port borrowing ensures all simulated modems get equal access. Threads block-wait with 10-second polling intervals, preventing starvation and validating service behavior under contention.

Capabilities

  • Load ANSI (Type 11) and DLMS (Type 13) controller configurations from the platform database
  • Spawn per-modem worker threads with 5-minute session timeouts to simulate real-world connect/disconnect patterns
  • Manage separate COM port pools (ANSI: 3 ports; DLMS: 1 port) with synchronized FIFO queuing for thread-safe borrowing
  • Relay raw command/response bytes between GPRS client service and simulated meter over serial
  • Inject intentional modem identification message corruption (1-in-6 rate) to stress error handling
  • Dynamically configure logging from the platform database at startup; support rolling file output with size/backup rotation
  • Enforce license validation on startup; fail safely if license is missing or expired

Put ANSI/DLMS Modem Simulator - Single Port Stress Test to work on your estate.

Request a demo →