ESME_RINVEXPIRY in SMPP

What is ESME_RINVEXPIRY?

ESME_RINVEXPIRY (Error Code: 0x00000062) is an SMPP error indicating that the validity_period field in a submit_sm request contains an invalid format or value.

Possible Causes

  • The validity_period field is incorrectly formatted.
  • The date and time provided are in an unsupported format.
  • The validity period is set in the past or exceeds the SMSC's maximum limit.
  • The SMSC does not support the provided expiry format.

When Does It Happen?

This error occurs when an ESME submits an SMS with an invalid validity_period field, causing the SMSC to reject the request.

Example SMPP PDU Transaction

Incorrect submit_sm PDU (Invalid Validity Period)

0000003F (Length)
00000004 (Command ID for submit_sm)
00000000 (Command Status)
00000001 (Sequence Number)
00 (Service Type)
01 (Source Address TON - International)
01 (Source Address NPI - ISDN)
31323334 00 (Source Address: "1234")
01 (Destination Address TON - International)
01 (Destination Address NPI - ISDN)
39383736 00 (Destination Address: "9876")
00 (ESM Class)
00 (Protocol ID)
00 (Priority Flag)
00000000 (Schedule Delivery Time - Not Set)
31323039 3031303030303030 00 (Invalid Validity Period)
00 (Replace If Present Flag)
00 (Sm Default Msg ID)
0005 (Message Length)
48656C6C 6F (Message: "Hello")

Response PDU (submit_sm_resp) with ESME_RINVEXPIRY

00000010 (Length)
80000004 (Command ID for submit_sm_resp)
00000062 (Command Status - ESME_RINVEXPIRY)
00000001 (Sequence Number)

Issue: The validity_period field is incorrectly formatted, causing the SMSC to reject the message.

How to Solve It?

  • Ensure the validity_period follows the correct SMPP absolute or relative time format:
    • Absolute Time Format: YYMMDDhhmmss000R (e.g., 240211153000000R for Feb 11, 2024, 15:30:00 UTC)
    • Relative Time Format: 000001000000000R (valid for 1 hour from now)
  • Ensure the expiry time is in the future.
  • Check with the SMSC provider whether there are limits on validity periods.
  • Use correct termination characters (e.g., 00 for NULL-terminated strings).

If the issue persists, enable SMPP debugging and verify the validity_period format in the request.

More information