Call or Text 877.840.2444
Have you ever wondered what happens when your text message marketing solution sends out texts to your target audience? Assuming you encounter no problems, the texts are coded within the system as “queued” until they have been sent which changes their code to “sent”. When a recipient receives the message, it will be coded as “delivered”. If there are any problems delivering the SMS text message an error code will be created. We’ve created the table below to help you decipher the SMS error codes you may encounter and what they mean.
If you have any questions then feel free to contact us and we will gladly help you address any issues you may be encountering with your text message marketing campaign or solution.
Error | Error Class | Description | Comment | Treated As |
0 | NO ERROR | No error / Unknown error | Temporary | |
1 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
2 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
3 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
4 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Temporary |
5 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
6 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
7 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
8 | ROUTING ERROR | Routing error with gateway provider | Report to Pocketstop | Permanent |
9 | ROUTING ERROR | Unsupported number plan | Permanent | |
10 | ROUTING ERROR | Unsupported type of number | Permanent | |
11 | ROUTING ERROR | Message not deliver | Permanent | |
12 | ROUTING ERROR | Dialling zone not found | Permanent | |
13 | ROUTING ERROR | Not home zone and IMSI not allowed | Permanent | |
14 | ROUTING ERROR | Not home zone and IMSI fetch failed | Temporary | |
15 | SCREENING ERROR | Screening block | Permanent | |
16 | SCREENING ERROR | Terminating IMSI blocked | Permanent | |
17 | ROUTING ERROR | Destination network type unknown | Permanent | |
18 | ESME ERROR | ESME error | Temporary | |
19 | SCREENING ERROR | Originating location mismatch | Permanent | |
21 | Facility Not Supported | Rejection due to subscription not supporting SMS | Temporary | |
27 | Absent Subscriber | Subscriber handset is not logged onto the network due to it being turned off or out of coverage, likely to have been unavailable for 12 hours or more | Temporary | |
28 | Absent subscriber no-pageresponse | Subscriber handset is not reachable on the network due to it being turned off or out of coverage, likely to have very recently become unavailable | Temporary | |
29 | Absent subscriber IMSI-detached | Subscriber handset is not reachable on the network due to it being turned off or out of coverage, likely to have been unavailable for several hours | Temporary | |
30 | Controlling MSC Failure | The MSC that the subscriber is currently registered to is experiencing a fault | Temporary | |
31 | Subscriber Busy For MT-SM | MSC is busy handling an exisiting transaction with the handset, the subscriber could be currently receiving an SMS at exactly the same time | Temporary | |
32 | Equipment notSMEquipped | Recieving handset or equipment does not support SMS or an SMS feature, this is temporary because the subscriber could switch to a different device | Temporary | |
33 | Memory Capacity Exceeded | Rejection due to subscriber handset not having the memory capacity to recieve the message, likely to have been in state for 12 hours or more | Temporary | |
34 | System Failure | Rejection due to SS7 protocol or network failure | Temporary | |
35 | Data Missing | Rejection due to subscriber network decoding error or signalling fault | Temporary | |
36 | Unexpected Data Value | Rejection due to subscriber network decoding error or signalling fault | Temporary | |
37 | System Failure | Rejection due to SS7 protocol or network failure | Temporary | |
38 | Data Missing | Rejection due to subscriber network decoding error or signaling fault | Temporary | |
39 | Unexpected Data Value | Rejection due to subscriber network decoding error or signaling fault | Temporary | |
40 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Temporary |
50 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Temporary |
51 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Temporary |
52 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Temporary |
53 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Permanent |
54 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Permanent |
55 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Permanent |
56 | INTERNAL ERROR | Error with gateway provider | Report to Pocketstop | Temporary |
60 | SCREENING ERROR | Error, originator blocked | Permanent | |
61 | SCREENING ERROR | Error, destination blocked | Permanent | |
62 | SCREENING ERROR | Error, keyword blocked | Permanent | |
63 | SCREENING ERROR | Error, SC address blocked | Permanent | |
64 | SCREENING ERROR | Error, blocked due to exceeded quota | Permanent | |
65 | SCREENING ERROR | Error, loop detected | Permanent | |
66 | SCREENING ERROR | Error, data coding scheme blocked | Permanent | |
67 | SCREENING ERROR | Error, information element identifier blocked | Permanent | |
69 | Generic delivery failure | Generic delivery failure | Permanent | |
70 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
71 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
72 | ESME ERROR | Internal error | Report to Pocketstop | Permanent |
73 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
74 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
75 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
76 | ESME ERROR | Internal error | Report to Pocketstop | Temporary |
77 | ESME ERROR | IMSI lookup blocked | Permanent | |
100 | SMSC ERROR | Unidentified Subscriber | Permanent | |
101 | SMSC ERROR | Facility not supported | Temporary | |
102 | SMSC ERROR | System failure | Temporary | |
103 | SMSC ERROR | Unexpected data value | Permanent | |
104 | SMSC ERROR | Data missing | Permanent | |
105 | SMSC ERROR | Equipment protocol error | Permanent | |
106 | SMSC ERROR | Unknown service centre address | Temporary | |
107 | SMSC ERROR | Service centre congestion | Temporary | |
108 | SMSC ERROR | Invalid short message entity address | Permanent | |
109 | SMSC ERROR | Subscriber not service centre subscriber | Temporary | |
110 | SMSC ERROR | Reject | Indicates temporary problem or lost reach | Permanent |
111 | SMSC ERROR | Local Cancel | Indicates temporary problem or lost reach | Temporary |
112 | SMSC ERROR | Abort | Indicates temporary problem or lost reach | Temporary |
113 | SMSC ERROR | Exception (internal) | Report to Pocketstop | Permanent |
114 | SMSC ERROR | Unknown error | Temporary | |
140 | SS7 Communication Error | Internal SMSC error due to invalid message syntax | Temporary | |
150 | HLR ERROR | Unknown subscriber | Message is rejected because there is no directory number for the mobile subscriber | Permanent |
151 | HLR ERROR | Call barred | Message is rejected due to barring of the MS | Permanent |
152 | HLR ERROR | Teleservice not provisioned | Message is rejected because the recipient MS has no SMS subscription | Permanent |
153 | HLR ERROR | Absent subscriber | Temporary | |
154 | HLR ERROR | Facility not supported | The message is rejected due to no provision of the SMS in the VPLMN | Permanent |
155 | HLR ERROR | System failure | Message rejected due to network or protocol failure | Temporary |
156 | HLR ERROR | Unexpected data value | Permanent | |
157 | HLR ERROR | Data missing | Permanent | |
158 | HLR ERROR | Memory capacity exceeded | Message rejected because the MS doesn’t have enough memory | Temporary |
159 | HLR ERROR | Mobile subscriber not reachable | Temporary | |
160 | HLR ERROR | Reject | Indicates temporary problem or lost reach | Permanent |
161 | HLR ERROR | Local Cancel | Indicates temporary problem or lost reach | Temporary |
162 | HLR ERROR | Abort | Indicates temporary problem or lost reach | Temporary |
163 | HLR ERROR | Exception (internal) | Report to Pocketstop (Local error) | Permanent |
164 | HLR ERROR | Unknown error | Temporary | |
200 | MSC ERROR | Unidentified subscriber | Temporary | |
201 | MSC ERROR | Absent subscriber, IMSI detached | Subscriber is absent and have been for a period of time | Temporary |
202 | MSC ERROR | Absent subscriber, no page response | The message is rejected because there was no paging response | Temporary |
203 | MSC ERROR | Subscriber busy for MT SMS | The message is rejected because of congestion encountered at the visited MSC | Temporary |
204 | MSC ERROR | Facility not supported | The message is rejected due to no provision of the SMS in the destination SIM | Permanent |
205 | MSC ERROR | Illegal subscriber | Message rejected because of failed authentication | Permanent |
206 | MSC ERROR | Illegal equipment | Message rejected because the MS was black-listed | Permanent |
207 | MSC ERROR | System failure | Message rejected due to network or protocol failure | Temporary |
208 | MSC ERROR | Unexpected data value | Permanent | |
209 | MSC ERROR | Data missing | Permanent | |
210 | MSC ERROR | Memory capacity exceeded | Message rejected because the MS doesn’t have enough memory | Temporary |
211 | MSC ERROR | Equipment protocol error | Temporary | |
212 | MSC ERROR | Equipment not short message equipped | Temporary | |
213 | MSC ERROR | Reject | Indicates temporary problem or lost reach | Permanent |
214 | MSC ERROR | Local Cancel | Indicates temporary problem or lost reach | Temporary |
215 | MSC ERROR | Abort | Indicates temporary problem or lost reach | Temporary |
216 | MSC ERROR | Exception (internal) | Report to Pocketstop | Permanent |
217 | MSC ERROR | Unknown error | Temporary | |
250 | SCREENING ERROR | Error, personal service barring, MO Personal | Determined Barring White List | Permanent |
251 | SCREENING ERROR | Error, personal service barring, MO Personal | Determined Barring Black List | Permanent |
252 | SCREENING ERROR | Error, personal service barring, MO Operator | Determined Barring White List | Permanent |
253 | SCREENING ERROR | Error, personal service barring, MO Operator | Determined Barring Black List | Permanent |
254 | SCREENING ERROR | Error, personal service barring, MT Personal | Determined Barring White List | Permanent |
255 | SCREENING ERROR | Error, personal service barring, MT Personal | Determined Barring Black List | Permanent |
256 | SCREENING ERROR | Error, personal service barring, MT Operator | Determined Barring White List | Permanent |
257 | SCREENING ERROR | Error, personal service barring, MT Operator | Determined Barring Black List | Permanent |
300 | ESME EXTERNAL ERROR | Invalid destination address | Permanent | |
301 | ESME EXTERNAL ERROR | Invalid destination numbering plan | Permanent | |
302 | ESME EXTERNAL ERROR | Invalid destination type of number | Permanent | |
303 | ESME EXTERNAL ERROR | Invalid destination flag | Permanent | |
304 | ESME EXTERNAL ERROR | Invalid number of destinations | Permanent | |
305 | Carrier Routing Error | SMSC partner cannot route this message and it will not be retried | Permanent | |
310 | ESME EXTERNAL ERROR | Invalid source address | Permanent | |
311 | ESME EXTERNAL ERROR | Invalid source numbering plan | Permanent | |
312 | ESME EXTERNAL ERROR | Invalid source type of number | Permanent | |
320 | ESME EXTERNAL ERROR | ESME Receiver permanent error | Permanent | |
321 | ESME EXTERNAL ERROR | ESME Receiver reject error | Permanent | |
322 | ESME EXTERNAL ERROR | ESME Receiver temporary error | ||
330 | ESME EXTERNAL ERROR | Invalid command length | Permanent | |
331 | ESME EXTERNAL ERROR | Invalid service type | Permanent | |
332 | ESME EXTERNAL ERROR | Invalid operation | Permanent | |
333 | ESME EXTERNAL ERROR | Operation not allowed | Permanent | |
334 | ESME EXTERNAL ERROR | Invalid parameter | Permanent | |
335 | ESME EXTERNAL ERROR | Parameter not allowed | Permanent | |
336 | ESME EXTERNAL ERROR | Invalid parameter length | Permanent | |
337 | ESME EXTERNAL ERROR | Invalid optional parameter | Permanent | |
338 | ESME EXTERNAL ERROR | Optional parameter missing | Permanent | |
339 | ESME EXTERNAL ERROR | Invalid validity parameter | Permanent | |
340 | ESME EXTERNAL ERROR | Invalid scheduled delivery parameter | Permanent | |
341 | ESME EXTERNAL ERROR | Invalid distribution list | Permanent | |
342 | ESME EXTERNAL ERROR | Invalid message class | Permanent | |
343 | ESME EXTERNAL ERROR | Invalid message length | Permanent | |
344 | ESME EXTERNAL ERROR | Invalid message reference | Permanent | |
345 | ESME EXTERNAL ERROR | Invalid number of messages | Permanent | |
346 | ESME EXTERNAL ERROR | Invalid predefined message | Permanent | |
347 | ESME EXTERNAL ERROR | Invalid priority | Permanent | |
348 | ESME EXTERNAL ERROR | Invalid replace flag | Permanent | |
349 | ESME EXTERNAL ERROR | Request failed | Permanent | |
350 | ESME EXTERNAL ERROR | Invalid delivery report request | Temporary | |
360 | ESME EXTERNAL ERROR | Message queue full | Temporary | |
361 | ESME EXTERNAL ERROR | External error | Report to Pocketstop | Temporary |
362 | ESME EXTERNAL ERROR | External error | Report to Pocketstop | Temporary |
370 | ESME EXTERNAL ERROR | Cannot find information | Temporary | |
399 | ESME EXTERNAL ERROR | Unknown | Temporary | |
400 | Queued | Queued | Message is queued within REST API system and will be dispatched according to the rate of the account | |
401 | Dispatched | Dispatched | Message has been dispatched to SMSC | |
402 | Message unroutable | Aborted | SMSC rejected message, retrying is likely to cause the same error | |
403 | Internal error | Aborted | An unexpected error caused the message to fail | |
404 | Temporary delivery failure | Aborted | Message failed because of temporary delivery failure, message can be retried | |
405 | Unmatched Parameter | Aborted | One or more parameters in the message body has no mapping for this recipient, see Parameterization | |
406 | Internal Expiry | Aborted | Message was expired before reaching SMSC, this may happen if the expiry time for the message was very short | |
407 | Canceled | Aborted | Message was canceled by user before reaching SMSC | |
408 | Internal Reject | Aborted | SMSC rejected the message, retrying is likely to cause the same error | |
410 | Unmatched default originator | Aborted | No default originator exists/configured for this recipient when sending message without originator | |
411 | Exceeded parts limit | Aborted | Message failed as the number of message parts exceeds the defined max number of message parts | |
412 | Unprovisioned region | Aborted | SMSC rejected the message, the account has not been provisioned for this region | |
999 | Congestion | SS7 signalling link at destination network, SMSC, or 3rd party signalling partner is overloaded | Temporary |
Terminology | |
MSISND | Mobile Subscriber Integrated Services Digital Network: the mobile number in international format. |
MSC | Mobile Switching Centre: the destination network equipment that receives an SMS (via forward-SM operation) in a destination mobile network. |
HLR | Home Location Register: the destination network equipment that returns status and routing information about an MSISDN to the SMSC (via SRI-SM operation). |
SMSC | Short Message Service Centre: the equipment belonging to Mblox or one of its carriers that transmits SMS to the destination network via SS7. |
SS7 | Signalling System 7: the transport protocol that interconnects global GSM networks. |
MNP | Mobile Number Portability: the process of a subscriber moving from one mobile network to another, but retaining the same MSISDN. |
IMSI | International Mobile Subscriber Identity: a unique identification number which identifies the destination country, actual network, and network subscriber ID. |
SUBSCRIBER | The mobile user who has a SIM card. |
Status Code | Description |
200 | No error |
201 | Successfully created |
204 | Successfully deleted |
400 | Bad request |
401 | Requires authentication |
406 | Missing Accept header. example: Accept: application/json |
429 | Too many requests |
500 | Internal server error |
Name | Description |
Processed | This event fires when the email server receives an individual message and prepares it to be delivered. Think of this as the top of the funnel–unless it is dropped (see below), each message you push to the email server will create a processed event. |
Dropped | There are a number of reasons your email will not even be sent to a recipient for delivery. This event informs your system when an email has been dropped. Further, it provides a reason for the drop, such as if we’ve found spam content (if spam checker app is enabled) or we see the recipient has unsubscribed previously. |
Deferred | When an email cannot immediately be delivered, but it hasn’t been completely rejected, the deferred event fires. Sometimes called a soft bounce, the email server will continue to try for 72 hours to deliver a deferred message |
Bounce | If a server cannot or will not deliver a message, it fires a bounce event. Bounces often are caused by outdated or incorrectly entered email addresses. Many times you won’t know a bounced email address until it bounces. This event can help you ensure it doesn’t bounce again by removing it from your lists. |
Delivered | When an email has been accepted at the receiving server, the delivered event fires. This event does not guarantee that the email was placed in the recipient’s inbox. In fact, a delivered email is only the beginning of an opaque process. The remaining four events begin to give us hints about whether anyone will ever see this delivered email. |
Open | An opened email is the first step toward the action you want your recipient to take. This event fires every time the email is viewed with images turned on. Like all email service providers, SendGrid uses a transparent image beacon to track opened messages. This beacon is currently the only way a sender can tell if an email has been opened. |
Click | The pinnacle of email engagement is the click. Your call to action, whether it is to confirm a newly registered account or to view a recommended product, asks the recipient to click a link. SendGrid tracks that interaction and fires a click event. |
Spam Report | Most internet service providers provide a feedback loop, sending specific spam complaints to the email service providers. When the email server receives a notice, we fire a spam event, so that you can react appropriately–or at the very least, never send another email to that address. |
Unsubscribe | One of the most important events fires when a recipient unsubscribes from your mailings. Reacting immediately to an unsubscribe by removing the email from your lists can pay long term dividends in fewer spam reports and a higher engagement rate. |