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.

Written by Jakub Kubinski

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. The device is most likely not registered on GSM services, temporarily unavailable to receive SMS. The SMS will be automatically retried every 2 hours, up to 10 times.

  • unidentifiedSubscriber - The device cannot be located in the telecom provider's database. It could signal an error within the local network core or that the device had never registered on this network.

  • unknownSubscriber - Typically, Onomondo is responding this when protection is kicked in or the IMSI is actively being blocked. Alternatively, the error can occur when the SIM is deactivated. In this case - the SMS will not be automatically retried. Make sure to activate the SIM before re-attempting SMS.

  • 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?