Skip to main content
How do I understand SMS errors?

SMS errors are responses from the local infrastructure when SMS cannot be delivered. Understanding them helps debug why delivery is failing.

Jakub Kubinski avatar
Written by Jakub Kubinski
Updated over a month ago

While SMS was originally designed for mobile phones, the technology has been adapted to IoT use cases to send messages and update config on IoT devices while the devices are only connected to the circuit-switched (GSM) part of the network and data services may not be available.

SMS could also be a step in debugging when the devices do not connect to data.


What are the main issues?

The two most common reasons behind SMS errors are because:

  1. Devices are often only on for a short period of time and go offline before the SMS is sent.

  2. Devices are not "ready" to receive SMS when the RAN tries to deliver the SMS sent to the device.

Depending on how you have set up SMS, you may be able to send SMS to a device that is offline. For more information on sending SMSs to Onomondo SIMs, check out:


How does SMS work when a device is offline?

  1. The SMS is placed in queue for when the device is back online.

  2. When Onomondo receives a UpdateLocation notification from the local RAN in the signaling, we trigger the SMS to be sent.

  3. The RAN receives the request and checks if the device is online.

  4. If the device is online, the SMS is sent to the device. Otherwise, we receive an error from the RAN (most commonly: absentSubscriber).

  5. If the device fails to receive the SMS, it will send the RAN a response, resulting in Onomondo receiving an error from the RAN.

  6. If we do not receive an error, the SMS remains in queue in our SMS Center and will be retried again next time it is triggered (up to 10 tries and a year in queue - current industry practice is 5 tries and 2 weeks in queue).


Most common SMS errors

  • absentSubscriber - Typically, the absentSubscriber error indicates that the network cannot locate the device in the system that handles SMS routing, even though the device may be attached to the network for data services.

  • unknownSubscriber - Typically, Onomondo is responding this when protection is kicked in or the IMSI is actively being blocked.

  • L_cancel / systemFailure - Generic error. Could point to either network issues or device issues.

Are you having SMS issues and struggling to interpret them, feel free to reach out to [email protected].

Did this answer your question?