There are two segment counts, and confusing them causes most questions
A message can arrive as three and leave as three without those two 3s being related: FireFlo
reassembles what the customer sent, then splits the whole body again for the carrier using that
carrier’s encoding.
How a customer sends one
Two ways, both accepted and treated identically.- UDH
- SAR TLVs
Set the UDHI bit —
esm_class bit 6, 0x40 — and prefix each short_message with a
concatenation header: 8-bit 050003 RR TT SS or 16-bit 060804 RRRR TT SS.How many ids the customer gets
Onemessage_id per submit_sm. A three-segment message gives three, seconds apart.
All of them resolve. query_sm, the control panel and the customer portal each accept any id the
gateway issued and return that one message. Only the first is the id the message is filed under, so
the panel says which part you asked about when they differ.
How many receipts
Set byconf.dlr.multipart on the listener:
Every receipt reports the same outcome, because the outbound segments are aggregated before any
receipt is built.
all is what this gateway has always done, so an upgrade changes nothing; the other
two exist for aggregators expecting one message in and one receipt out.
The outcome is the worst segment, not the first
What it costs
smsg.restapi.billing.units decides whether a multipart message is charged once or per segment.
Limits
An incomplete set at the timeout is logged as
message.parts.incomplete. Content whitelisting still
applies on the timeout path, so what does go out is checked.