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 componentDescriptionLength
LengthOverall length of PDU including the length component2 bytes
Command bit sequenceSMPP command as bit sequence (see Command bit sequence)Variable (bits)
Field bitmapBitmap indicating presence of SMPP PDU fields in fields segmentVariable (bits)
FieldsSMPP 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 commandBit sequence
bind_transceiver000000
bind_transceiver_resp000001
bind_transmitter000010
bind_transmitter_resp000011
bind_receiver000100
bind_receiver_resp000101
submit_sm100
submit_sm_resp101
deliver_sm110
deliver_sm_resp111
data_sm00110
data_sm_resp00111
alert_notification000110
enquire_link0110
enquire_link_resp0111
query_sm010010
query_sm_resp010011
cancel_sm010100
cancel_sm_resp010101
replace_sm010110
replace_sm_resp010111
unbind0001110
unbind_resp0001111
generic_nack010000

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_periodAbsolute value only supported. Stored as 32-bit unsigned integer representing seconds since epoch..
schedule_delivery_timeAbsolute value only supported. Stored as 32-bit unsigned integer representing seconds since epoch.