Page 1 of 169 Issue 1.2
Short Message Peer to Peer
Protocol Specification v3.4
Document Version:- 12-Oct-1999 Issue 1.2
Page 2 of 169 ©SMPP Developers Forum Issue 1.2
SMPP Protocol Specification v3.4
Short Message Peer to Peer Protocol Specification v3.4
12-Oct-1999 Issue 1.2
1999 SMPP Developers Forum.
COPYRIGHT
All rights reserved. This document or any part thereof may not, without the prior written
consent of SMPP Developers Forum, be copied, reprinted or reproduced in any material form
including, but without prejudice to the foregoing and not by way of exception photocopying,
transcribing, transmitting or storing in any medium or translating into any language, in any form
or by any means, including but not limited to, electronic, mechanical, xerographic, optical,
magnetic, digital or other methodology.
DISCLAIMER
WHILST THE GREATEST CARE HAS BEEN TAKEN TO ENSURE THE ACCURACY OF THE
INFORMATION
AND DATA CONTAINED HEREIN, SMPP DEVELOPERS FORUM DOES NOT
WARRANT
THE ACCURACY OR SUITABILITY OF SAME FOR ANY SPECIFIC USE. SMPP
D
EVELOPERS FORUM EXPRESSLY DISCLAIMS ALL AND ANY LIABILITY TO ANY PERSON,
WHETHER A PURCHASER OR OTHERWISE, IN RESPECT OF ANY CONSEQUENCES OF ANYTHING
DONE
OR OMITTED TO BE DONE BY ANY SUCH PERSON IN PARTIAL OR TOTAL RELIANCE UPON
THE
WHOLE OR ANY PART OF THE CONTENTS OF THIS PUBLICATION OR ANY DERIVATIVE
THEREOF
.
T
HE INFORMATION CONTAINED HEREIN IS BELIEVED TO BE ACCURATE AND RELIABLE.
H
OWEVER, SMPP DEVELOPERS FORUM ACCEPTS NO RESPONSIBILITY FOR IT’S USE BY ANY
MEANS
OR IN ANY WAY WHATSOEVER. SMPP DEVELOPERS FORUM SHALL NOT BE LIABLE FOR
ANY
EXPENSES, COSTS OR DAMAGE THAT MAY RESULT FROM THE USE OF THE INFORMATION
CONTAINED
HOWSOEVER ARISING IN THIS DOCUMENT OR ANY DERIVATIVE THEREOF.
NOTE 1:THE INFORMATION CONTAINED IN THE WITHIN DOCUMENT AND ANY
DERIVATIVE THEREOF IS SUBJECT TO CHANGE WITHOUT NOTICE.
NOTE 2:THE CORPORATE NAME OF SMPP DEVELOPERS FORUM IS NORTHGROVE
LIMITED, COMPANY NUMBER 309113, REGISTERED OFFICE GARDNER HOUSE,
WILTON PLACE, DUBLIN 2.
SMPP Protocol Specification v3.4 Errata
Issue 1.2 ©SMPP Developers Forum Page 3 of 169
Errata
Erratum
Description of Correction to
address Erratum
Change
Request
Reference
In the SMPP Protocol Specification
v3.4. version 30-July-1999 Issue 1.1
section 4.1.5 “Bind_Transceiver”
the interface_version field was
inadvertently not included in the
bind_transceiver PDU.
The erratum was corrected in the
SMPP Protocol Specification v3.4
version 12-Oct-1999 Issue 1.2 as
follows:
In section 4.1.5 “Bind_Transceiver”
the interface_version field was
added as a mandatory field to the
bind_transceiver PDU.
Since it is a mandatory field all
implementations of the SMPP
Protocol Specification v3.4 must
include the interface_version field
when using the bind_transceiver
PDU.
SMPPV3.4-
05Oct99-01
Page 4 of 169 ©SMPP Developers Forum Issue 1.2
Table of Contents SMPP Protocol Specification v3.4
Table of Contents
1. Introduction.................................................................................................................8
1.1 SMPP Overview...............................................................................................8
1.2 Scope................................................................................................................9
1.3 Glossary .........................................................................................................10
1.4 References......................................................................................................11
2. SMPP Protocol Overview.........................................................................................12
2.1 SMPP Protocol Definition .............................................................................13
2.2 SMPP Session Description ............................................................................14
2.2.1 Outbind .........................................................................................16
2.3 SMPP PDUs...................................................................................................17
2.4 SMPP Network Layer Connections...............................................................19
2.5 SMPP messages sent from ESME to SMSC..................................................20
2.5.1 SMPP Message Response from SMSC to ESME.........................20
2.5.2 Typical SMPP session sequence - ESME Transmitter .................21
2.6 SMPP messages sent from SMSC to ESME..................................................23
2.6.1 SMPP Message Response from ESME to SMSC.........................23
2.6.2 Typical SMPP session sequence - ESME Receiver......................24
2.7 Duplex message exchange between an SMSC and an ESME .......................26
2.7.1 Typical SMPP session sequence - ESME Transceiver.................27
2.8 SMPP Error Handling....................................................................................29
2.9 SMPP Timers.................................................................................................29
2.10 Message Modes..............................................................................................30
2.10.1 Store and Forward Message Mode ...............................................30
2.10.2 Datagram Message Mode .............................................................32
2.10.3 Transaction Message Mode ..........................................................33
2.11 Message Types...............................................................................................34
3. SMPP PDU Type and Format Definitions..............................................................36
3.1 SMPP PDU - Type Definitions......................................................................36
3.1.1 SMPP Parameter Field Size Notation...........................................37
3.2 SMPP PDU Format - Overview.....................................................................38
3.2.1 SMPP PDU Layout.......................................................................39
3.2.2 SMPP PDU Length.......................................................................41
3.2.3 SMPP Message length and extended message length...................41
3.2.4 Optional Parameters......................................................................42
3.2.4.1 Optional Parameter Format.....................................42
3.3 Guidelines for SMPP Forward Compatibility................................................43
3.4 Guidelines for SMPP Backward Compatibility.............................................44
4. SMPP PDU Definition ..............................................................................................45
4.1 “BIND” Operation .........................................................................................45
4.1.1 “BIND_TRANSMITTER” Syntax...............................................46
4.1.2 “BIND_TRANSMITTER_RESP” Syntax....................................47
4.1.3 “BIND_RECEIVER” Syntax........................................................48
4.1.4 “BIND_RECEIVER_RESP”........................................................50
4.1.5 “BIND_TRANSCEIVER” Syntax................................................51
4.1.6 “BIND_TRANSCEIVER_RESP”................................................53
SMPP Protocol Specification v3.4 Table of Contents
Issue 1.2 ©SMPP Developers Forum Page 5 of 169
4.1.7 “OUTBIND” Operation................................................................54
4.1.7.1 “OUTBIND” Syntax..............................................54
4.2 “UNBIND” Operation....................................................................................55
4.2.1 “UNBIND” ...................................................................................56
4.2.2 “UNBIND_RESP”.......................................................................56
4.3 “GENERIC_NACK” PDU ............................................................................57
4.3.1 “GENERIC_NACK” Syntax ........................................................57
4.4 “SUBMIT_SM” Operation ............................................................................58
4.4.1 “SUBMIT_SM” Syntax................................................................59
4.4.1.1 Source and Destination Addressing .......................66
4.4.1.2 Message Replace operation in “SUBMIT_SM”.....66
4.4.2 “SUBMIT_SM_RESP”.................................................................67
4.5 “SUBMIT_MULTI” Operation .....................................................................68
4.5.1 “SUBMIT_MULTI” Syntax.........................................................69
4.5.1.1 Destination Address definition...............................75
4.5.1.2 Distribution List (DL) definition ............................75
4.5.2 “SUBMIT_MULTI_RESP” Syntax..............................................76
4.5.2.1 Unsuccessful deliveries ..........................................77
4.6 “DELIVER_SM” Operation ..........................................................................78
4.6.1 “DELIVER_SM” Syntax..............................................................79
4.6.2 “DELIVER_SM_RESP” Syntax ..................................................85
4.7 “DATA_SM” Operation ................................................................................86
4.7.1 “DATA_SM” Syntax....................................................................87
4.7.2 “DATA_SM_RESP” Syntax ........................................................93
4.8 “QUERY_SM” Operation..............................................................................94
4.8.1 “QUERY_SM” Syntax .................................................................95
4.8.2 “QUERY_SM_RESP” Syntax......................................................96
4.9 “CANCEL_SM” Operation ...........................................................................97
4.9.1 “CANCEL_SM” Syntax...............................................................98
4.9.2 “CANCEL_SM_RESP” Syntax..................................................100
4.10 “REPLACE_SM” Operation........................................................................101
4.10.1 “REPLACE_SM” Syntax ...........................................................102
4.10.2 “REPLACE_SM_RESP” Syntax................................................104
4.11 “ENQUIRE_LINK” Operation....................................................................105
4.11.1 “ENQUIRE_LINK” Syntax........................................................106
4.11.2 “ENQUIRE_LINK_RESP” Syntax ............................................106
4.12 “ALERT_NOTIFICATION” Operation......................................................107
4.12.1 “ALERT_NOTIFICATION” Syntax..........................................108
5. SMPP Parameter Definition...................................................................................109
5.1 Command Header Parameters.....................................................................109
5.1.1 command_length.........................................................................109
5.1.2 command_id................................................................................109
5.1.2.1 SMPP Command set.............................................110
5.1.3 command_status..........................................................................112
5.1.4 sequence_number........................................................................115
5.2 Mandatory SMPP Parameters......................................................................116
5.2.1 system_id ....................................................................................116
5.2.2 password .....................................................................................116
5.2.3 system_type.................................................................................116
5.2.4 interface_version.........................................................................116