smpp version/v1/messages

SMPP Specification

SMPP Version 3.4 Short Message Peer-to-Peer (SMPP) is a protocol that the telecommunications industry uses to exchange SMS messages between Short Message Service Centers (SMSC) and/or External Short Messaging Entities (ESME).

HollaTags SMPP interface provides support for almost all features of SMPP within the official specification and without proprietary deviation. You can download the full specification here - http://opensmpp.org/specs/SMPP_v3_4_Issue1_2.pdf

The following pages provide details on authentication, configuration, supported pdu and sample smpp client configurations.


smpp servers/v1/messages

SMPP Servers

SMPP Version 3.4 HollaTags has multiple SMPP servers for you to connect to. Each SMPP server offers the ability to connect to it via the regular (plaintext) method, a TLS1.0, or better connection.

We will activate SMPP on your account, and based on your setup you will need to bind into either of the following SMPP servers.

HostnamePortTLS Port
smpp1.hollatags.com90099119
smpp-sandbox.hollatags.com90099119

If you are having trouble establishing a bind, confirm that you are able to reach the HollaTags' SMPP server from your network by testing a simple telnet request to our host and port number from your server. If this is not successful there is most likely an issue with your network. If this is successful, check your SMPP application logs and verify that you are attempting your bind connection with the correct credentials.


authentication/v1/messages

SMPP Authentication

Authentication is required to access the HollaTags' SMPP API. The authentication requirements consist of two layers; Firewall and Credentials which are described below.

Firewall Prior to accessing the HollaTags' SMPP API, all accounts must white list their source IP addresses. This can be done within the HollaTags Platform or you can send us a mail on help@hollatags.com

Credentials All SMPP connections require a SystemID and Password to be able to establish your bind to our gateway. Your credentials can be obtained within the HollaTags Platform portal.


configuration/v1/messages

SMPP Configuration

At setup, your SMPP account will have the default values of 4 binds and 50 messages per second.

It might be interesting to note that these values are enforced on a per-server basis. That means that given the above example, you can set up 8 binds in total with a throughput of 100 messages per second when you connect to the two servers.

If you bind on both SMPP server with the same username, your MOs/DLRs will be sent out from either one of the SMPP server. Your will need to accept and process all MOs/DLRs from either servers to avoid lost MOs/DLRs.

Security

We support end-2-end encryption between your server and our servers. If you need to enable this, connect using the TLS port 9119


Supported Message PDU

  • bind_transmitter
  • bind_receiver
  • bind_transceiver
  • unbind
  • submit_sm
  • deliver_sm
  • enquire_link

Command status

We use SMPP command status as per the SMPP v 3.4 standard. Below are some of the HollaTags's specific command_status response codes:

Status and Descriptions

Here's the data converted to a basic HTML table:

Property NameDescription
0x00000400Message Not Routeable.
0x00000401Out of Credit.
0x00000402Maximum Credit Exceeded
0x00000403Account Frozen
0x00000404Bad Data.
0x0000040aSubscriber on DND or Restricted SenderID
0x00000430Invalid Payload Length. Used to Limit Short_message and Message_payload to GSM PDU Length.
0x00000431Internal Error
0x00000432Restricted PDU. Means Message Denied in SPAM Filter.
0x00000433DCS Inconsistency. Which Means the Data_coding Value Does not Seem to Match the Encoding in the Payload.
0x000004ffInternal Error.
0x00000045Subscriber on DND.
0x00000058Throughput Exceeded.

Delivery Report Format

Below is the description of each field

PropertyDescription
idThe unique message ID allocated to the message, this will be hexadecimal in most cases except if otherwise required by the upstream MNO.
subThe number of short messages originally submitted.
dlvrdThe number of short messages delivered.
submit dateThe date and time at which the short message was submitted in YYMMDDHHMMSS.
done dateThe date and time at which the short message reached its final state in YYMMDDHHMMSS.
statThe final status of the message.
errSMPP DLR error code.
textNone.

The short_message field will contain the contents relevant information on the delivery status of your message for DLR and contents of the messaage for MO.

The format is as below:

Property NameValue
id187b876a-ee61-44d8-9086-40631a25fce6
sub001
dlvrd001
submit date200506111011
done date200507121720
statDELIVRD
err000
textHello world

Delivery Status

  • DELIVRD
  • UNDELIV
  • EXPIRED
  • ACCEPTED
  • UNKNOWN
  • ENROUTE
  • REJECTED

SMPP Client Configuration

Kannel Configuration

Kannel is a popular open source SMPP client software. The configuration below have been provided as an example SMPP connection block that will work out of the box for HollaTags SMPP server. You can make modifications as necessary.

#HollaTags SMSC SMPP


group = smsc
smsc = smpp
smsc-id = HollaTags
allowed-smsc-id = HollaTags
host = smpp1.hollatags.com
smsc-username = "{YOUR CREDENTIAL USERNAME}"
smsc-password = "{YOUR CREDENTIAL PASSWORD}"
port = 9009
receive-port = port
system-type = smpp
wait-ack-expire=0x02
throughput = 50
instances = 4
alt-charset = LATIN1
enquire-link-interval = 30
# you can uncomment the following two lines to enable debug logs
#log-file="/var/log/kannel/HollaTags_SMPP.log"
#log-level=2

PHP Client Configuration

There are some publicly available open-source implementation of SMPP client with PHP. How well this can scale will depend on the mode of implementation.


SMPP Response Codes

These codes are gotten immediately the messages are sent

Here is the HTML table representation for the given properties and descriptions:

NameDescription
0x00000000Success
0x00000400Message Not Routeable
0x00000401Out of Credit
0x00000402Maximum Credit Exceeded
0x00000403Message Account Frozen
0x00000404Bad Data
0x00000405ESME Client Error
0x0000040aSubscriber on DND or Restricted SenderID
0x00000430Invalid Payload Length. Used to Limit Short_message and Message_payload to GSM PDU Length.
0x00000431Internal Error
0x00000432Restricted PDU. Means Message Denied in SPAM Filter
0x00000433DCS Inconsistency. Which Means the Data_coding Value Does not Seem to Match the Encoding in the Payload.
0x000004ffInternal Error
0x00000045Subscriber on DND
0x00000058Throughput Exceeded

SMPP DLR Codes

Common SMPP DLR Codes and Descriptions Here is the HTML table representation for the given properties and descriptions:

NameDescription
UNDELIV err:0dcAbsent subscriber
EXPIRED err:206Absent subscriber
EXPIRED err:21bAbsent subscriber
UNDELIV err:21bAbsent subscriber
EXPIRED err:023Absent subscriber
EXPIRED err:054Absent subscriber
EXPIRED err:027Absent subscriber
EXPIRED err:053Absent subscriber
UNDELIV err:439Absent subscriber or ported subscriber or subscriber is barred
UNDELIV err:254Subscriber’s phone inbox is full
EXPIRED err:254Subscriber’s phone inbox is full
EXPIRED err:220Subscriber’s phone inbox is full
EXPIRED err:120Subscriber’s phone inbox is full
REJECTD err:008Subscriber’s phone inbox is full
UNDELIV err:255Invalid or inactive mobile number or subscriber's phone inbox is full
UNDELIV err:20bInvalid or inactive mobile number
EXPIRED err:215Invalid or inactive mobile number
UNDELIV err:004Invalid or inactive mobile number
UNDELIV err:510Invalid or inactive mobile number
EXPIRED err:20dSubscriber is barred on the network
UNDELIV err:131Subscriber is barred on the network
UNDELIV err:130Subscriber is barred on the network
EXPIRED err:222Network operator system failure
EXPIRED err:602Network operator system failure
UNDELIV err:032Network operator system failure or operator not supported
EXPIRED err:306Network operator system failure
UNDELIV err:008Subscriber is on DND
085Subscriber is on DND
UNDELIV err:065Message content or senderID is blocked on the promotional route
UNDELIV err:060Message content or senderID is blocked on the promotional route
UNDELIV err:058Absent subscriber
EXPIRED err:40aSenderID not whitelisted on the account
UNDELIV err:082Network operator not supported
UNDELIV err:00aSenderID is restricted by the operator
EXPIRED err:078Restricted message content or senderID is blocked
UNDELIV err:432Restricted message content or senderID is blocked

Was this page helpful?