SMPP Server API#
This document is targeted at software designers/programmers wishing to integrate SMS messaging through a stateful tcp protocol SMPP v3.4, if you feel this does not fit your needs and that you are more “web-service-guy” then you still can try HTTP API.
SMS Messages can be transmitted using SMPP protocol, the following requirements must be met to enable the service :
You need a Jasmin user account
You need sufficient credit on your Jasmin user account [1]
Note
The ABCs:
MT is referred to Mobile Terminated, a SMS-MT is an SMS sent to mobile
MO is referred to Mobile Originated, a SMS-MO is an SMS sent from mobile
Features#
The SMPP Server API allows you to send and receive SMS and delivery receipts (DLR) through Jasmin’s connectors, send and receive long (more than 160 characters) SMS and unicode/binary content.
jasmin.cfg / smpp-server#
The jasmin.cfg file (INI format, located in /etc/jasmin) contain a section called smpp-server where all SMPP Server API related config elements are:
1[smpp-server]
2id = "smpps_01"
3bind = 0.0.0.0
4port = 2775
5
6sessionInitTimerSecs = 30
7enquireLinkTimerSecs = 30
8inactivityTimerSecs = 300
9responseTimerSecs = 60
10pduReadTimerSecs = 30
11
12log_level = INFO
13log_file = /var/log/jasmin/default-smpps_01.log
14log_format = %(asctime)s %(levelname)-8s %(process)d %(message)s
15log_date_format = %Y-%m-%d %H:%M:%S
Element |
Default |
Description |
---|---|---|
id |
smpps_01 |
The SMPP Server id, used to identify the instance in case you use multiple servers per Jasmin process. |
bind |
0.0.0.0 |
The SMPP Server API listener will only bind to this specified address, given 0.0.0.0 the listener will bind on all interfaces. |
port |
2775 |
The binding TCP port. |
sessionInitTimerSecs |
30 |
Protocol tuning parameter: timeout for a bind request. |
enquireLinkTimerSecs |
30 |
Protocol tuning parameter: timeout for an enquire_link request. |
inactivityTimerSecs |
300 |
Protocol tuning parameter: inactivity timeout. |
responseTimerSecs |
60 |
Protocol tuning parameter: global request timeout. |
pduReadTimerSecs |
30 |
Protocol tuning parameter: binary pdu ready timeout. |
log_* |
Python’s logging module configuration. |
Binding to SMPP Server#
Using a proper SMPP Client application (or a Jasmin SMPP Client), the following parameters must be considered:
Parameter |
Value / Pattern |
Example(s) |
Presence |
Description / Notes |
---|---|---|---|---|
system_id |
Text (30 char. max) |
jasmin_user |
Mandatory |
Username for Jasmin user account. |
password |
Text (30 char. max) |
jasmin_pass |
Mandatory |
Password for Jasmin user account. |
Supported SMPP PDUs#
Jamsin’s SMPP Server is supporting the following PDUs:
bind_transmitter
bind_transceiver
bind_receiver
unbind
submit_sm
deliver_sm
enquire_link
Footnotes