SMPP USER MANUAL

(Document version 1.5)   This document describes how to interface to and use the Route Mobile Messaging Platform for connecting to the Route Mobile Network for Mobile Originated and Mobile Terminated SMS services

1. Introduction

The Route Mobile® Messaging Platform uses the SMPP v3.4 Protocol Specification Issue 1.5, However it has been designed to be backward compatible with SMPP v3.3. This document should be read in conjunction with SMPP v3.4 Specification v1.5 and assumes with SMPP a level of familiarity functionality.

2. Connecting to the Service

Clients may connect to the Route Mobile® Messaging Platform Server multiple numbers of times. This may be of importance if the client wishes to deploy multiple applications simultaneously. To connect to the Route Mobile® Messaging Platform one needs to specify the following parameters: IP Address and Port : This is the TCP/IP endpoint on which the ESME should connect to the Route Mobile® Messaging Platform. system_id : This is the username of your account configured on the Route Mobile® Messaging Platform. password : Password for the above account. Required for security reasons to prevent unauthorized access to your account. system_type : This field is not used by us, hence set to null. interface_version: The client application should connect with the interface_version field set to 0x34 (52 decimal), if it is using SMPP v3.4, otherwise the Route Mobile® Messaging Platform assumes that the application is using SMPP v3.3. If the application uses SMPP v3.3 then the optional fields cannot be used. These optional fields may be required to implement extra facilities like long SMS, etc. enquire_link: The application should issue an enquire_link every minute. This will ensure the link stays active even when it is not in use. The Route Mobile® Messaging Platform will automatically disconnect any link which is inactive for more than 5mins.  

3. Submitting Messages

Submission Types:

Messages may be submitted with either submit_sm or data_sm, using either the short_message or message_payload fields. The message length may not exceed the byte limit for the network that the message is being sent to (for example 140 bytes on GSM networks). The Route Mobile® Messaging Platform does not support submit_multi. If the same message has to be sent to multiple destinations, each message must be sent separately. The sar optional parameters are also not supported. Concatenated messages are supported by using the User Data Header (UDH), which is included in the message size byte limit.

Submit Responses:

A positive response to a submit will contain an error code of zero and a non null message reference. A negative response will contain a Route Mobile® vendor specific error code. The complete set of SMPP Error Codes and their associated values are defined in the following table.  

Error Code

Value

Description

ESME_ROK

0x00000000

No Error.

ESME_RINVMSGLEN

0x00000001

Message Length is invalid.

ESME_RINVCMDLEN

0x00000002

Command Length is invalid.

ESME_RINVCMDID

0x00000003

Invalid Command ID.

ESME_RINVBNDSTS

0x00000004

Incorrect BIND Status for given command.

ESME_RALYBND

0x00000005

ESME Already in Bound State.

ESME_RINVPRTFLG

0x00000006

Invalid Priority Flag.

ESME_RINVREGDLVFLG

0x00000007

Invalid Registered Delivery Flag.

ESME_RSYSERR

0x00000008

System Error.

ESME_RINVSRCADR

0x0000000A

Invalid Source Address.

ESME_RINVDSTADR

0x0000000B

Invalid Dest Addr.

ESME_RINVMSGID

0x0000000C

Message ID is invalid.

ESME_RBINDFAIL

0x0000000D

Bind Failed.

ESME_RINVPASWD

0x0000000E

Invalid Password.

ESME_RINVSYSID

0x0000000F

Invalid System ID.

ESME_RINVSERTYP

0x00000015

Invalid Service Type.

ESME_RINVESMCLASS

0x00000043

Invalid esm_class field data.

ESME_RSUBMITFAIL

0x00000045

submit_sm failed

ESME_RINVSRCTON

0x00000048

Invalid Source address TON

ESME_RINVSRCNPI

0x00000049

Invalid Source address NPI

ESME_RINVDSTTON

0x00000050

Invalid Destination address TON

ESME_RINVDSTNPI

0x00000051

Invalid Destination address NPI

ESME_RINVSYSTYP

0x00000053

Invalid system_type field

Throttling error (ESME has exceeded

ESME_RTHROTTLED

0x00000058

allowed message limits)

Invalid message validity period (Expiry

ESME_RINVEXPIRY

0x00000062

time)

Error in the optional part of the PDU

ESME_RINVOPTPARSTREAM

0x000000C0

Body.

ESME_ROPTPARNOTALLWD

0x000000C1

Optional Parameter not allowed

ESME_RINVPARLEN

0x000000C2

Invalid Parameter Length

ESME_RMISSINGOPTPARAM

0x000000C3

Expected Optional Parameter missing.

ESME_RINVOPTPARAMVAL

0x000000C4

Invalid Optional Parameter Value

Delivery Failure (used for

ESME_RDELIVERYFAILURE

0x000000FE

data_sm_resp)

ESME_CREDIT_ERROR

0x00000401

Credits are over.

ESME_SPAM_MESSAGE

0x00000404

Spam content.

Message length is exceeding in

short_sm(e.g. for message type text

ESME_RINVSMLEN

0x00000405

max message length is 160 char).

Invalid UDH length indicator (Currently

we allow 05, 06 with all type of data

ESME_RINVUDHLEN

0x00000406

coding and 0b with data coding 245).

Message body not found in either

ESME_RINSMSEMPTY

0x00000407

short_sm or message_payload.

ESME_RINDSTDND

0x00000408

Destination in DND.

ESME_RINSRCMSG

0x00000409

Invalid source/template.

Source/Template long message error

ESME_RINSRCMSG

0x00000410

code

ESME_RINSRCMSG

0x00000411

Duplicate Submission

ESME_RINSRCMSG

0x00000412

Destination Barred/Source Barred

 

Character Sets, Class and Data Coding:

The Route Mobile® Messaging Platform supports the following two types of data coding schemes: GSM 03.38 Encoding (default) Latin 1 (ISO-8859-1) encoding The default character set is GSM 338. Although for data_coding=1 the character set GSM 03.38 is supported it is NOT RECOMMENDED, as it is known to cause problems with character encoding. Please set data_coding = 3 for ISO-8859-1(if and only if told so explicitly) encoded messages and data_coding=0 for GSM 03.38 encoded messages. For Unicode messages you have to set data_coding = 8 and the message is expected in UTF-16 Big Endean format.  

Originators and Destination:

The default originator type is full International MSISDN. Alpha numeric o network short code originators can be sent by using the following ton values in source_addr_ton field. Alpha-numeric 5 National / Network Short Code 3 International MSISDN 1 Destination Address types are not supported. They can be set to any value but are always interpreted as 1. This requires all the destination numbers to be sent in an international format without the leading 00.  

Long Messages:

Long Messages as the name suggests are messages whose length exceeds the normal length imposed on short messages (160 for text and 70 for Unicode). The user can send long messages via the Route Mobile® Messaging Platform using the following two methods:

- Concatenated Messages

In this method the long message is sent in parts as multiple short messages which are then joined together on the mobile (If the mobile supports long messages, else each message part will be displayed as a separate message). In this method the client sends the UDH (User Data Header) as part of the short_message field. The UDH contains all the details required for the mobile join the parts and make the complete message at its end. In this method the client has to set the esm_class field in the submit_sm pdu to 0x43 (Store and Forward with UDHI) Message Payload Here the Route Mobile® Messaging Platform can accept a message with length up to 64K octets. In this method the client uses the optional message_payload of the submit_sm pdu. To use this method the client should set the interface_version to 0x34; else this field will not be available for sending messages.  

- Delivery Reports:

The Route Mobile® Messaging Platform will return a delivery report (Intermediate and/or final depending on the route) for a specific message to the client application when the registered_delivery field, while submitting the message, is set to 1. In order to retrieve the delivery report from our server the client will have to connect to the Route Mobile® Messaging Platform in the receiver or transceiver mode.  

Alpha-numeric

5

National / Network Short Code

3

International MSISDN

1

Adding status and error code which can be returned by Messaging Platform.

Status

Description

DELIVRD

Message delivered to handset

FAILED

Message could not be delivered

Message validity period expired, before any

EXPIRED

successful tries of submission

UNDELIV

Message is Undeliverable

REJECTD

Message REJECTD.