Skip to content

Introduction

LTE devices such as the ioButton LTE send their messages over the cellular network to a Middleware (also called the uplink gateway). The Middleware sits between the device and your application: it receives the uplink, checks and decodes it, then forwards a readable message to the endpoint you choose.

Integration options

You can connect LTE devices in two ways. In both cases your application receives a decoded uplink; the difference is who runs the Middleware, Key Service, and Downlink Service.

Option A - ioThings backend

ioThings runs the Middleware, Key Service, and Downlink Service. Devices send their uplinks to the ioThings Middleware, which validates and decodes them and forwards the decoded message to your backend.

This is the simplest option if you only need to consume events in your own application.

Option B - Self-hosted middleware

You run the Middleware yourself. The Key Service and Downlink Service can optionally be self-hosted as well; otherwise they can still be provided by ioThings.

Device traffic to the Middleware stays in your environment. See Self-hosted middleware for what the service does and where to find setup and integration details.

Data flow

A typical uplink (heartbeat or button press) follows this path:

sequenceDiagram
    participant Device
    participant Middleware
    participant Keys as Key Service
    participant App as Your application
    participant Downlinks as Downlink Service

    Device->>Middleware: Uplink over UDP or HTTP
    Middleware->>Keys: Request device key (first message only)
    Keys-->>Middleware: Device key
    Middleware->>Middleware: Validate and decode
    Middleware->>App: Forward decoded uplink
    opt Remote configuration
        Middleware->>Downlinks: Request pending messages
        Downlinks-->>Middleware: Queued configuration
    end
    Middleware-->>Device: Acknowledgement (and optional configuration)
  1. The device sends an uplink to the Middleware over UDP or HTTP.
  2. If the message is secured, the Middleware looks up the device key (only on the first message from that device, then it is cached).
  3. The Middleware validates, decrypts if needed, and decodes the message.
  4. The decoded uplink is forwarded to your application.
  5. If remote configuration is enabled, the Middleware asks the Downlink Service for any queued messages and can send them back to the device together with the acknowledgement.

Downlinks can only be delivered when the device is already sending an uplink. They are not pushed to the device at an arbitrary time.