ESME_RINVSRCNPI in SMPP

What is ESME_RINVSRCNPI?

ESME_RINVSRCNPI (Error Code: 0x00000049) is an SMPP error indicating that the source NPI (Numbering Plan Indicator) value provided in the PDU is invalid or not supported by the SMSC.

Possible Causes

  • The source NPI field contains an incorrect or unsupported value.
  • The SMSC does not recognize the specified NPI.
  • The source NPI does not match the source TON configuration.
  • Using a reserved or undefined NPI value.

When Does It Happen?

This error occurs when an ESME sends a submit_sm, deliver_sm, or similar PDU with an invalid source NPI value.

Example SMPP PDU Transaction

Incorrect submit_sm PDU (Invalid Source NPI)

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

Response PDU (submit_sm_resp) with ESME_RINVSRCNPI

00000010 (Length)
80000004 (Command ID for submit_sm_resp)
00000049 (Command Status - ESME_RINVSRCNPI)
00000001 (Sequence Number)

Issue: The source NPI field is set to an invalid value (0xFF), which is not recognized by the SMSC.

How to Solve It?

  • Use a valid source NPI value based on SMPP specifications:
    • 0x00 - Unknown
    • 0x01 - ISDN (E.164)
    • 0x03 - Data (X.121)
    • 0x04 - Telex (F.69)
    • 0x06 - Land Mobile (E.212)
    • 0x08 - National
    • 0x09 - Private
    • 0x0A - ERMES
    • 0x0E - Internet (IP)
    • 0x12 - WAP Client ID
  • Confirm with the SMSC which source NPI values are supported.
  • Ensure the source NPI is correctly paired with the source TON.
  • Review and correct the SMPP PDU construction before sending.

If the issue persists, enable debug logs and contact the SMSC provider for further troubleshooting.

More information