Short message peer-to-peer protocol

The short message peer-to-peer protocol (SMPP) is a protocol for exchanging SMS messages between SMS peer entities such as short message service centres. It is often used to allow third parties (e.g. content suppliers like news organisations) to submit messages, often in bulk.

It was originally designed by Aldiscon, a small Irish company that was later bought by Logica. In 1999, SMPP was formally handed over to the SMPP Developers Forum, later renamed as The SMS Forum.

The latest version of SMPP is V5.0.

The protocol is based on pairs of request/response PDUs (protocol data units, or packets) exchanged over OSI layer 4 (TCP/IP session or X.25 SVC3) connections. PDUs are binary encoded for efficiency.

Contents

Example

This is an example of a 60-octet submit_sm PDU.

Hexdump

00 00 00 3C 00 00 00 04 00 00 00 00 00 00 00 05 00 02 08 35 35 35 00 01 01
 35 35 35 35 35 35 35 35 35 00 00 00 00 00 00 00 00 00 00 0F 48 65 6C 6C 6F
 20 77 69 6B 69 70 65 64 69 61
 

PDU Header

'command_length', (60) ... 00 00 00 3C
 'command_id', (4) ... 00 00 00 04
 'command_status', (0) ... 00 00 00 00
 'sequence_number', (5) ... 00 00 00 05
 

PDU Body

'service_type', () ... 00
 'source_addr_ton', (2) ... 02
 'source_addr_npi', (8) ... 08
 'source_addr', (555) ... 35 35 35 00
 'dest_addr_ton', (1) ... 01
 'dest_addr_npi', (1) ... 01
 'dest_addr', (555555555) ... 35 35 35 35 35 35 35 35 35 00
 'esm_class', (0) ... 00
 'protocol_id', (0) ... 00
 'priority_flag', (0) ... 00
 'schedule_delivery_time', () ... 00
 'validity_period', () ... 00
 'registered_delivery', (0) ... 00
 'replace_if_present_flag', (0) ... 00
 'data_coding', (0) ... 00
 'sm_default_msg_id', (0) ... 00
 'sm_length', (15) ... 0F
 'short_message', (Hello wikipedia) ... 48 65 6C 6C 6F 20 77 69 6B 69 70 65 64 69 62
 

External link

See also: Short message peer-to-peer protocol, Ireland, Logica, Numbering plan, Open source, Short message service, Short message service centre, Content supplier