Skip to content
English
  • There are no suggestions because the search field is empty.

Understanding SMS Delivery Status and Error Codes (DLR)

When you send campaigns or notifications via smsmode, each message is assigned a delivery status (Delivery Receipt or DLR). These codes allow you to track the progress of your sends, diagnose API integration issues, and clean up your databases.

Below is the detailed meaning of these codes, grouped by category, along with the recommended actions.

🟢 Success and Progress Statuses (Normal Lifecycle)

These codes indicate that your message is proceeding normally or has been successfully delivered to the recipient.

  • 0 - Sent: The message has been successfully transmitted by smsmode to the telecom operator's servers.

  • 1 - In progress: The message is currently being processed by our platform.

  • 10 - Expected to be sent: The message is scheduled (delayed sending) and is waiting for its dispatch time.

  • 11 - Received / 14 - Delivered: Complete success. The operator has confirmed that the message has arrived on the recipient's mobile phone.

  • 12 - Partially delivered / 15 - Partially received: Applies to long (concatenated) SMS. A part of the message has arrived, and the rest is still being routed.

  • 13 - Delivered by operator: Transitory status. The operator has recognized the recipient's number, but the message has not yet been delivered to the handset (e.g., if the phone is temporarily turned off or out of coverage).

🟡 Temporary Errors (Soft Bounces)

These errors (350X series) mean that the message could not be delivered due to a temporary technical issue.
👉 Required Action: Do not delete these numbers from your database. They are still valid and may receive messages during your future campaigns.

  • 3501 - Temporary Operator Error: The number is recognized, but a temporary malfunction on the operator's network is preventing delivery.

  • 3502 - Temporary Absence Error: The number could not be located by the network (phone unreachable, airplane mode, no signal) within 24 hours of sending.

  • 3503 - Temporary telephone error: The recipient's handset is unable to receive the SMS (memory full, phone turned off for too long) within 24 hours.

  • 3504 - Temporary Portability Error: The number is currently undergoing a porting process (transfer) between two mobile operators.

🔴 Permanent Errors (Hard Bounces)

These errors (352X series) are definitive. The number no longer exists or actively rejects your communications.
👉 Required Action: These numbers are invalid. You must strictly remove them from your address book to maintain list quality and protect your account's reputation.

  • 3521 - Permanent Operator Error: Unassigned number, invalid format, or canceled line.

  • 3522 / 3523 - Permanent Absence or Phone Error: The number no longer exists, or the SIM card has been permanently deactivated.

  • 3524 - Permanent anti-spam error: The message was blocked by the operator's filters because it was identified as spam (or reported by users).

  • 3525 - Permanent content error: The SMS text violates the operator's rules (forbidden keywords, spoofing, missing opt-out mention).

  • 3526 - Permanent porting error: The number has been ported to an unknown or unsupported operator.

  • 3527 - Permanent roaming error: The recipient is abroad on a network that is not covered by roaming agreements.

⚙️ Account, API, and Parameter Errors

These errors occur before the message is even sent to the operators. They are usually related to your API request configuration or your smsmode account status.

  • 32 - Authentication error: Your login credentials (username / password) or your API key are incorrect.

  • 33 - Not sent - insufficient credit: The send failed because your SMS credit balance is empty. You need to top up your account.

  • 35 - Incorrect parameters: Your API request is poorly formatted. Ensure that the mandatory parameters (pseudopasssmsIDnumeromessage) are provided.

  • 34 - Routing error: The recipient's phone number format is unrecognized (e.g., missing country code), or the destination is not supported by your routing channel.

  • 38 - Message too long: If you are using a "Low-Cost SMS" channel, the message size is strictly limited to 160 characters.

  • 3998 - Invalid message: The text contains unsupported characters (encoding issue).

  • 2 / 31 - Internal error: An unexpected sending problem occurred due to a malfunction on the smsmode platform. If the error persists, please contact technical support.

🚫 Rejections and Blacklists

  • 3999 - Blacklisted: The recipient previously replied "STOP" to one of your campaigns. smsmode automatically blocks the sending to respect their right to opt-out and comply with GDPR.

  • 21 / 50 - Undeliverable: Generic failure returned by the telecom operator, with no specific reason provided.

  • 22 - Rejected: The telecom operator has actively refused to process the message.