On this page
Encoding & multipart messages
Understand GSM-7, UCS-2, transformations and part-based charging.
Character sets#
GSM-7 normally holds 160 septets in one SMS. Characters from its extension table consume an additional septet. UCS-2 uses a smaller segment, normally 70 characters for one part; supplementary Unicode characters can require more than one UTF-16 unit.
Multipart headers reduce the usable payload. Common concatenated limits are 153 GSM septets or 67 UCS-2 units per part. Use the panel's counter as an estimate and the actual CDR parts and encoded outgoing content for reconciliation.
Transformations can change the result#
- The Bengali prefix adds non-ASCII content and switches the message to Unicode.
- Unicode templates and bracket replacement text can change encoding.
- Send generated URLs as Unicode forces data coding
0x08when the final SMS contains a generated tracking link. - URL removal and URL-only delivery alter the final message length.
- Reassembled multipart messages may require a different number of outgoing parts after processing.
Operational check#
- Compare the original text and transformed text.
- Inspect data coding and outbound segmentation in the trace.
- Compare the part count used by the active billing path.
- Confirm the provider accepts the encoding and concatenation scheme.
Billing context#
Do not infer a price from visible character count alone. Review the assigned tariff, billing mode, actual part count and CDR charge. Voice currently retains the existing SMS tariff/part charging model; it is not billed by call duration in this release.
Relevant configuration#
SMPP_MULTIPART_REASSEMBLY_TIMEOUT_SECONDS controls group waiting time. SMPP_MULTIPART_REASSEMBLY_MAX_GROUPS bounds buffered groups. These are runtime service settings, not limits set by the static website.
Screenshots show fictional data from the public demo. Your instance may have different records and permissions.