SMPP
We support SMPP version 3.4, the industry standard protocol for SMS communication. Our setup offers redundant connectivity with one endpoint pointing to two different locations.
Connect
To connect, you need the following:
Parameter
Value
system_id
Individual per account
password
Individual per account
hosts
smpp-dk1.inmobile.dk
smpp-dk2.inmobile.dk
harbour
2775 (ssl is required for all connections - no support for non-ssl)
ConnectionMode
Individual per account
Please contact us at [email protected] to get an SMPP system ID.
Encryption via SSL/TLS
As previously mentioned, all communication must take place via encrypted connections. To achieve this, it is necessary for the applications to retrieve and use the certificate used at https://mm.inmobile.dk (This is a wildcard certificate for *.inmobile.dk).
Supported message types
- bind_transmitter
- bind_receiver
- bind_transceiver
- unbind
- submit_sm
- deliver_sm
- enquire_link
DataCodings
Data coding
Hex value
Binary encoding
Default
0x0
GSM7
Default Class 0
0x10
GSM7
UCS2
0x8
UTF-16 (big endian byte order)
UCS2 Class 0
0x18
UTF-16 (big endian byte order)
Data encodings are mapped to binary encodings according to the table above, e.g. when using data encoding UCS2, the binary data must be UTF-16 encoded. In some programming languages, such as C#, this is known as "Big endian unicode". UCS2 is a subset of UTF-16, so using UCS2 specifically on the client side will also work fine.
Delivery reporting
The error code in this example (005) is the absolute value of the message status code "-5" defined here:
Example of our delivery reporting:
id:ble50673-f8b8-41e8-a143-07a43bb8c86b sub:001 dlvrd:000 submit date:1911121314 done date:1911121314 stat:EXPIRED err:005
Status code
Description
001
Undeliverable message
002
Msisdn blacklisted by operator
003
Invalid mobile number
004
Country not available
005
Delivery timeout
006
Not delivered removed from gateway
008
Insufficient funds
009
Authorise failed
010
Capture failed
011
Overcharge donation limit exceeded
012
Overcharge type not activated
013
Overcharge settings not valid
014
Sender name blocked
015
Route not available
016
Refund not available
017
Refund not possible for message
018
Refund failed
019
Refund not possible for pending message
020
Refund not possible for failed message
021
Refund failed already refunded
022
Delivery timeout before sent
023
Message queue full at operator
080
Imported from other system
099
Submit failed
100
Communication error
101
Unknown id
102
Cancelled
103
Unknown error processing message
104
Unknown id at operator
105
Msisdn blacklisted on account
106
Mobile number cooldown
201
Suspicious sms content
202
Account deactivated
300
Pdu sequence incomplete
301
Pdu sequence invalid
Incoming messages
To receive "deliver_sm" or incoming messages via SMPP, log in to your inMobile account and set up PDU forwarding to your "system_id".
Contact support for further help with the setup.
Limitations
The "source_addr" parameter has a maximum length of 15 characters. If the "source_addr" parameter exceeds this length, everything after the 15th character will be ignored.
Support for time-shifted or delayed delivery is not available and the message will therefore be treated as an instant message.
Maintenance
SMPP is an asynchronous protocol, which means that multiple requests and responses can be transmitted simultaneously. To prevent data loss during maintenance or updates of our SMPP server, we have implemented measures to ensure a controlled shutdown and restart.
Upon a system restart of an SMPP server, any new submitSm message will be rejected with the ESME_RSUBMITFAIL response and clients will receive an unbind message. Immediately afterwards, the connection will be cancelled. If a client tries to reconnect just as the server is about to restart, the reconnection attempt will be rejected with a generic ESME_RBINDFAIL response.
A typical SMPP server reboot lasts a few minutes.