Skip to content
OmniChannels.ai

SMS and telecom

What is submit_sm?

submit_sm PDU · SMPP submit

Definition

submit_sm is the SMPP v3.4 operation (command_id 0x00000004) an application uses to submit a single SMS to the SMSC. The SMSC replies with submit_sm_resp containing a message_id used to match later delivery receipts.

Key fields are source_addr (the sender ID) with its TON/NPI, destination_addr, esm_class, registered_delivery (request a receipt), data_coding (for example 0x00 default alphabet or 0x08 UCS-2), sm_length and short_message.

short_message holds up to 254 octets. For longer user data the specification says to set sm_length to zero and put the content in the message_payload TLV instead.

If the sender builds its own concatenation header, it sets the UDHI bit (0x40) in esm_class and prepends the UDH to short_message.

A non-zero command_status in submit_sm_resp means the SMSC rejected the message, for example ESME_RINVDSTADR (invalid destination) or ESME_RTHROTTLED (throughput exceeded). Acceptance only means the SMSC took the message; the delivery receipt reports the final outcome.

Example

submit_sm: source_addr_ton=5 source_addr="AcmeBank" dest_addr_ton=1 destination_addr="971501234567" registered_delivery=1 data_coding=0x00 short_message="Your code is 482913"

Sources