cSMPP
Melrose Labs cSMPP for narrowband applications
cSMPP is an optional alternative communication protocol that can be used with Message Hub.
cSMPP PDU format
| PDU component | Description | Length |
|---|---|---|
| Length | Overall length of PDU including the length component | 2 bytes |
| Command bit sequence | SMPP command as bit sequence (see Command bit sequence) | Variable (bits) |
| Field bitmap | Bitmap indicating presence of SMPP PDU fields in fields segment | Variable (bits) |
| Fields | SMPP fields indicated in field bitmap. All other fields are assumed to be set to default values and not included in PDU. | Variable (bytes) |
Command bit sequence and field bitmap are a continuous sequence of bits that is padded to bytes (e.g. 5 bits command bit sequence + 25 bits field bitmap = 30 bits which is then padded to 32 bits = 4 bytes).
Command bit sequence
| SMPP command | Bit sequence |
|---|---|
| bind_transceiver | 000000 |
| bind_transceiver_resp | 000001 |
| bind_transmitter | 000010 |
| bind_transmitter_resp | 000011 |
| bind_receiver | 000100 |
| bind_receiver_resp | 000101 |
| submit_sm | 100 |
| submit_sm_resp | 101 |
| deliver_sm | 110 |
| deliver_sm_resp | 111 |
| data_sm | 00110 |
| data_sm_resp | 00111 |
| alert_notification | 000110 |
| enquire_link | 0110 |
| enquire_link_resp | 0111 |
| query_sm | 010010 |
| query_sm_resp | 010011 |
| cancel_sm | 010100 |
| cancel_sm_resp | 010101 |
| replace_sm | 010110 |
| replace_sm_resp | 010111 |
| unbind | 0001110 |
| unbind_resp | 0001111 |
| generic_nack | 010000 |
cSMPP supports all SMPP v3.4 and v5 standard commands except outbound/_resp, submit_multi/_resp, broadcast_sm/_resp, query_broadcast/_resp and cancel_broadcast_sm/_resp.
Fields
Representation of fields in cSMPP PDUs is more closely aligned to type of field in favour of PDU size.
| Field | |
|---|---|
| validity_period | Absolute value only supported. Stored as 32-bit unsigned integer representing seconds since epoch. |
| schedule_delivery_time | Absolute value only supported. Stored as 32-bit unsigned integer representing seconds since epoch. |
Updated 9 months ago