1. Home
  2. Docs
  3. IoT Data Orchestration
  4. Instant Message Delivery

Instant Message Delivery

Instant Message Delivery

High Priority Messages  (Priority 1 or Priority 2) are transmitted instantly to devices if:

  1. Device is an “Offline by default” type device (power saving mode devices) -> AND The device recently performed an uplink activity therefore it is currently temporarily available. The device availability window is determined by the Device Idle Threshold setting in the device Service Template.
  2. Device is an “Online by default” type device AND
    • There is a valid connection from the device to the selected region. Device previously performed an uplink activity to the selected region with a SAP that matches the Delivery Restriction Settings, therefore the connection is still valid and will be used to deliver the message to the device.
    • There is no valid connection from the device to the selected region but the following conditions are met: 1) the last IP address device used to connect to one of the service region is still valid 2) device_port is specified in the message submit request 3) The service “Permit Downlink Connection Establishment” is enabled in the device Service Template.

 

Offline / Online type device setting is controlled from the device Service Template therefore a dedicated service template is required for the different types.

  • In the Service Template > Device Idle Threshold
    • Online by Default type devices set to 0
    • Offline by Default type devices set to 1-N seconds to indicate for how long device remains reachable after an uplink activity
  • Ensure your current subscription includes high priority messaging subscription (Priority 1 Messaging or Priority 2 Messaging). If not included in your subscription please upgrade your subscription or subscribe to the relevant Addon.

 

Message Transmit Using Last Seen (valid) Socket

Typically device establish a socket from a random device source port (client port) to access the IoTGtw cloud service.

When sending a downlink message submit request, If no device_port is specified in the request, and there is a valid socket that matches the SAP Delivery Restriction setting of the message submit request, the socket is used to transmit the message to the device.

 

Message Transmit to Specific Service Port on the Device

If a message is to be transmitted to a specific service port on the device, the service port (target port on the device for the message) must be specified in the device_port field in the Message Submit request. In the device service template the “Permited Downlink Connection Establishment” parameter must have been set to true to enabe the cloud service to establish connection to the device. If set to false then the message is only transmitted to the device when the device initiates a socket from the specified port. .

 

Mesage Queuing – OFFLINE by default Devices

It is highly recommended to enable Message Queueing for “Offline by Default” typpe devices. So that messages that are received outside of the device availability window are queued untill the next device availability window (device wakeup).

Mesage Queuing – ONLINE by default Devices

Message Queuing may also be enabled for Online by default type devices. This is especially important if message acknowledgement is required. If a confirmable message is transmitted to the device and no ACK is recevied from the device, after retry, the message is queued and re-transmitted at next event from the device. If the message expires in the queue before next device event then the queued message is flushed to the Failed Messages Storage. Therefore ensure the Message Queue Expiry Time is set appropriately.

 

Message queueing can be enabled by setting:

Device Service Template > Message Queueing Service > true

Device Service Template > Message Queueing Duration Minutes > 1..n

Was this article helpful to you? Yes No

How can we help?