Skip to content
OmniChannels.ai

SMS

What do SMS delivery report statuses mean?

Updated

Short answer

SMS delivery report statuses tell the sender what happened to a message after the operator accepted it. In SMPP 3.4 receipts, DELIVRD means delivered to the handset, UNDELIV means undeliverable, EXPIRED means the validity period ran out, and REJECTD means the network refused it. HTTP APIs usually map these to statuses like DELIVERED or FAILED.

What do the SMPP stat values mean?

The SMPP 3.4 specification gives a sample receipt format with a stat field holding the final message state. The exact receipt text is SMSC-specific, but these values are widely used.

statMeaningTypical cause
DELIVRDDelivered to the handsetNormal success
UNDELIVUndeliverableInvalid, inactive or barred number
EXPIREDValidity period expired before deliveryPhone off or out of coverage for too long
REJECTDRejected by the networkUnregistered sender ID, blocked content or route
DELETEDDeleted before deliveryCancelled at the SMSC
ACCEPTD or UNKNOWNAccepted state or invalid/unknown stateSMSC-specific; check with your provider

How do platform webhook statuses relate?

APIs normalise operator receipts into simpler statuses. On the OmniChannels.ai platform, every channel reports SUBMITTED, SENT, DELIVERED, READ, FAILED and REJECTED. SUBMITTED and SENT are interim; DELIVERED, FAILED and REJECTED are final for SMS. Statuses can arrive out of order, so never let a late SENT overwrite a DELIVERED.

How do I read a raw delivery receipt?

  1. Match the receipt id to the message_id returned by submit_sm_resp.
  2. Read stat for the final state and err for the operator error code.
  3. Compare submit date and done date to see how long delivery took.
  4. For long messages, aggregate the receipts of every segment before marking the message delivered.

What are the limits of delivery reports?

Some operators return no receipts or return them late, and some report delivery when the message reached the network rather than the phone. Fake DELIVRD receipts are a known sign of grey routes. Treat a receipt as strong evidence, not proof that the message was read.

Official sources