LwM2M Overview and Functionality

Last modified: Nov 1, 2018 @ 12:58


Network View

The following figure shows the different interfaces between the LwM2M-related network entities.

Open Mobile Alliance (OMA) specifies application layer communicating protocol between a LwM2M Client and a LwM2M Server, as well as between a LwM2M Client and the LwM2M Bootstrap Server (LwM2M BSS).

External link to LwM2M Specification 1.0.1: OMA-TS-LightweightM2M-V1_0_1-20170704-A.pdf

LwM2M supported interfaces are:

  • Bootstrapping, see LwM2M specification, Section 5.2 “Bootstrap Interface”.
  • Client Registration, see LwM2M specification, Section 5.3 “Client Registration Interface”.
  • Device management and service enablement, including Read, Write, Execute, Discover, Create, Delete and Write-Attributes operations, see LwM2M specification, Section 5.4 “Device Management & Service Enablement Interface”.
  • Information Reporting, including Observe and Notify operations, see LwM2M specification, Section 5.5 “Information Reporting Interface”.

The LwM2M specification 1.0.1 specifies two transport options between the LwM2M Client and the LwM2M Server:

  • Coap/UDP/IP
  • CoAP/SMS

The DDM LwM2M Gateway supports LwM2M over IP. The IP connection can be carried over cellular, WiFi, Ethernet etc.

The following figure shows the relationships between network items:

Control of Notification Sending

The control of when a LwM2M device should send Notifications is managed by the Write-Attributes, according to the LwM2M specification. Write-Attributes  is supported by DDM, but only on Object level. There are two ways to control when a Notification should be sent from the device:

  1. Configure a LwM2M Device through the Notification class attributes (Write-Attributes).
  2. Controlled by the implemented logic in the LwM2M Device, without the possibility of changing the behavior remotely via DDM and the LwM2M Gateway.

The Observe time, which determines for how long a LwM2M device should send Notifications, can be managed from DDM. The time can be forever, or a limited time span.

UDP Stream Keep-Alive through NAT and Firewalls

The default timeout value for UDP streams is 180 s in Linux-based NAT or Firewalls (client firewall). This is used to track established UDP streams, so that resources  are not unnecessarily kept reserved.

In order to prevent a timeout of the UDP stream and a loss of communication between the LwM2M server and the LwM2M device, the LwM2M server sends empty UDP packets regularly to keep the clients UDP streams alive.

The function is on by default, and the sending interval is 90 seconds.