SMPP
SMPP documentation
ProfiSMS SMPP server (PSSMPP) implements parts of SMPP 3.4 documentation with following restrictions.
Supported commands
Current version of PSSMPP supports 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 follow 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 with login by ProfiSMS.
- password
- Represents connection password, each customer will be provided with password by ProfiSMS.
- 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 with login by ProfiSMS.
- password
- Represents connection password, each customer will be provided with password by ProfiSMS.
- 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 with login by ProfiSMS.
- password
- Represents connection password, each customer will be provided with password by ProfiSMS.
- system_type, interface_version, addr_ton, addr_npi, address_range
- Parameters are ignored.
SUBMIT_SM
Current version of PSSMPP does not support any optional parameters.
- service_type
- Parameter is ignored.
- source_addr_npi
- Values 0, 1. See below for possible NPI/TON combinations.
- source_addr_ton
- Values 0, 1, 2, 3, 5. See below for possible NPI/TON combinations.
- 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 a message with UDH; lower values represent a 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 represents delivery report request.
- replace_if_present_flag
- Parameter is ignored.
- data_coding
-
Only following data codings are supported:
- 0
- GSM encoding (default SMS encoding). E.g. messages in US-ASCII
- 3
- Latin 1 (ISO-8859-1), transliteration for GSM7 is done.
- 8
- UCS2 (ISO/IEC-10646). E.g. messages in UTF-8
- 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:
- Destination number must always be in international format.
- Source number/identifier must be either in international format or alphanumeric format or shortcode.
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 | TX/RX or TRX | |
Number of sessions | 4 transmitters or transceivers and 1 receiver | |
Host | smpp1.profisms.cz (primary) smpp2.profisms.cz (backup) |
|
Port | assigned per client | |
system_type | any | ignored |
Destination NPI/TON | only 1/1 allowed | |
Source NPI/TON | 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 |