SMPP

SMPP documentation

Crazy Tomato SMPP server (CTSMPP) implements parts of SMPP 3.4 documentation with following restrictions.

Supported commands

Current version of CTSMPP support following commands:

GENERIC_NACK
Generic negative acknowledgement (both ways).
BIND_TRANSMITTER
Receive client transmitter connection (from client to server).
BIND_TRANSMITTER_RESP
Response to client transmitter connection (from server to client).
BIND_RECEIVER
Receive client receiver connection (from client to server).
BIND_RECEIVER_RESP
Response to client receiver connection (from server to client).
BIND_TRANSCEIVER
Receive client transceiver connection (bidirectional connection).
BIND_TRANSCEIVER_RESP
Response to client transceiver connection (bidirectional connection).
SUBMIT_SM
Submitting message from client (from client to server).
SUBMIT_SM_RESP
Response to submitting message from client (from server to client).
DELIVER_SM
Sending delivery report to client (from server to client).
DELIVER_SM_RESP
Response to sending delivery report to client (from client to server).
ENQUIRE_LINK
Connection ping (both ways).
ENQUIRE_LINK_RESP
Response to connection ping (both ways).

Following documentation describes restrictions/explanation for supported commands. Supported commands without restrictions/explanation follows SMPP 3.4 documentation.

In all cases header part of message follows SMPP 3.4 documentation.

BIND_TRANSMITTER

system_id
Represents connection login, each customer will be provided by login by Crazy Tomato.
password
Represents connection password, each customer will be provided by login by Crazy Tomato.
system_type, interface_version, addr_ton, addr_npi, address_range
Parameters are ignored.

BIND_RECEIVER

system_id
Represents connection login, each customer will be provided by login by Crazy Tomato.
password
Represents connection password, each customer will be provided by login by Crazy Tomato.
system_type, interface_version, addr_ton, addr_npi, address_range
Parameters are ignored.

BIND_TRANSCEIVER

system_id
Represents connection login, each customer will be provided by login by Crazy Tomato.
password
Represents connection password, each customer will be provided by login by Crazy Tomato.
system_type, interface_version, addr_ton, addr_npi, address_range
Parameters are ignored.

SUBMIT_SM

Current CTSMPP does not support any optional parameters.

service_type
Parameter is ignored.
source_addr_npi
Values 0, 1. See below for possible NPI/TON combination.
source_addr_ton
Values 0, 1, 2, 3, 5. See below for possible NPI/TON combination.
dest_addr_npi
Must always be 1 (number in international format).
dest_addr_ton
Must always be 1 (number in international format).
esm_class
2 states are recognized: value higher or equal than 64 represents message with UDH; lower values represent message without UDH. No other estimation (meaning) is recognized.
protocol_id
Parameter is ignored.
priority_flag
Parameter is ignored.
schedule_delivery_time
Parameter is ignored.
validity_period
Only relative time is recognized. Default value is 2 days.
registered_delivery
Value other than 0 represent delivery report request.
replace_if_present_flag
Parameter is ignored.
data_coding
Only following data coding are supported:
0
GSM encoding (default SMS encoding). E.g. messages in US-ASCII
3
Latin 1 (ISO-8859-1), no encoding transformation is done.
4
Octet unspecified (8-bit binary). E.g. for wappush messages
8
UCS2 (ISO/IEC-10646). E.g. messages in UTF-8
241
GSM encoding (default SMS encoding). E.g. messages in US-ASCII
245
Octet unspecified (8-bit binary). E.g. for wappush messages
sm_default_msg_id
Parameter is ignored.

Source NPI/TON

NPI TON use
0 0 alphanumeric
0 3 shortcode
0 5 alphanumeric
1 1 international
1 2 shortcode

Above description creates several rules:

  1. Destination number must always be in international format.
  2. Source number/identifier must be either in international format or alphanumeric format.

DELIVER_SM

All mandatory fields are passed but should be ignored (carries no meaning) except for following:

esm_class
Always set to 4.
sm_length
Length of short_message.
short_message
Delivery report data according to "Delivery Receipt Format" appendix B in SMPP 3.4 documentation.

SMPP settings summary

SMPP details comment
Protocol SMPP  
Version 3.4  
Supported connection types transmitter and receiver  
Number of sessions 4 transmitters or transceivers and 1 receiver  
IP 90.176.150.87  
Port   assigned per client
system_type any ignored
Destination NPI/TOP only 1/1 allowed  
Source NPI/TOP see allowed combinations  
Delivery report yes via receiver
Data coding / characters sets see allowed combinations  
Default data coding (0) GSM7  
Enquire link timeout no timeout  
Message ID format number  
Default validity 2880 minutes  
Window 1 sync mode
Max body length per specification  
Allowed alphanumeric characters a-z, A-Z, 0-9,.-&, space  
Requested delivery reports (registered_delivery) supported 0 = no DLR, any other = DLR