Key SMPP Parameters
Encoding (ASCII, Unicode, Binary)
SMPP supports a range of message encoding schemes to facilitate the transmission of different types of content and languages. The data_coding parameter in the submit_sm PDU specifies the encoding format for the message content:
- ASCII (7-bit): Commonly used for English text and basic characters. Each character is represented using 7 bits, allowing up to 160 characters per message. Suitable for standard SMS containing English letters, numbers, and basic symbols. data_coding value is typically 0x00.
- Unicode (UCS2 – 16-bit): Supports multilingual text, including non-Latin scripts such as Chinese, Arabic, Cyrillic, and emojis. Each character is represented using 16 bits, reducing the message length to 70 characters per SMS. Ideal for international messaging or when handling non-English characters. data_coding value is typically 0x08.
- Binary (8-bit): Used for binary data such as ringtones, WAP Push messages, and USSD services. Each character is represented using 8 bits, allowing the transmission of custom data formats. Suitable for non-text content and application-specific messages. data_coding value is typically 0x04.
Message priority and validity period.
Message Priority specifies the importance level of a message to guide the SMSC in deciding delivery order if multiple messages are queued. The priority_flag is optional in the submit_sm PDU.
Priority Levels typically ranges from 0 (lowest priority) to 3 (highest priority):
0: Non-urgent, bulk messages (e.g., promotions, notifications).
1: Normal priority for standard messages.
2: High priority for critical alerts.
3: Urgent messages such as emergency alerts, OTPs.
Note, that not all SMSCs enforce priority levels uniformly, so check with SMSC provider.
Validity Period specifies how long the SMSC should retain and attempt to deliver a message if the recipient is temporarily unavailable. Parameter validity_period is optional in the submit_sm PDU. Format defined using absolute time (YYMMDDhhmmss) or relative time (expressed in hours, minutes, or days). For example a validity period of +000003000000 means the message is valid for 3 hours.
Messages not delivered within the validity period are marked as “EXPIRED” in the delivery receipt.
Start innovating with Mobius
What's next? Let's talk!