IMIconnect supports SMPP (Short Messaging Peer to Peer) apart from HTTP protocol. SMPP (Short Messaging Peer to Peer) protocol is an open, industry standard protocol designed to provide a flexible data communication interface for the transfer of short message data between External Short Message Entities (ESME) (enterprises), Routing Entities (RE) (IMIconnect), and Short Message Service Center(SMSE) (telecom operators).
An active account on IMIconnect platform.
An SMPP account must be created for a client on IMIconnect platform.
SMPP Protocol version 3.3 and 3.4
A thorough understanding of the SMPP protocol is required.
You must have SMPP client installed.
A number in IMIconnect (optional)
A number must be purchased and configured in IMIconnect to receive MOs.
You should contact the IMIconnect operations team and request for an SMPP account. You may be asked to provide your account details. After successful creation of the SMPP account, you will be provided with a domain name, username, and password.
To send an SMS using SMPP protocol, you must use the account details created for SMPP account.
The following PDUs (Protocol Data Units) are supported by the IMIconnect SMPP server:
Used to send only SMS (binary, unicode, and text format) messages.
Used to provide an SMSC response to a BIND_TRANSMITTER request.
Used to receive SMS messages. The delivery status of the SMS is also received using this account.
Used to provide an SMSC response to a BIND_RECEIVER request.
Used to send and receive SMS messages.
Used to provide an SMSC response to a BIND_TRANSCEIVER request.
Used to submit a single message from the enterprise to the SMSC. This PDU contains the sender and recipient address and the message body.
Used to submit message response.
Used to deliver messages to the client. It contains information about the sender of the message and the message body. This PDU is also used to send delivery reports to the ESME.
Used to deliver the short message response.
Used to check if the connection is still alive once in every x minutes. If not, the connection is terminated. This PDU is also used to keep dial-up connections alive.
Used to enquire link response.
In this method a long message is sent in parts as multiple short messages are then joined together on the mobile if the mobile supports long messages. Else each message part will be displayed as a separate message. In this method the client sends the UDH (User Data Header) as part of the short_message field.
On SMPP:submit_sm the UDHI (User Data Header Indicator) in the esm_class parameter must be set:
esm_class = 0x40
The concatenation UDH values are inserted at the start of the message body.
Message 1 (UDH+UD should not exceed 160 bytes):
short_message = 0x05 0x00 0x03 0x05 0x02 0x01 LG also announced its latest TVs would support four HDR formats - including Hybrid Log-Gamma jointly developed by the BBC and the Japanese broadcaster
Message 2 (UDH+rest of the message):
short_message = 0x05 0x00 0x03 0x05 0x02 0x02 NHK. This will allow sport and other live broadcasts to be shown in the format.
Concatenation UDH structure:
Length of UDH (5 bytes)
Indicator for concatenated message
Subheader Length (3 bytes)
message identification - can be any hexadecimal number that matches with the UDH Reference Number of all concatenated SMS.
Number of pieces of the concatenated message.
Sequence number (used by the mobile to concatenate the split messages)
The maximum number of characters per concatenated message depends on the encoding:
- 67 characters for 16-bit encoding (Unicode)
- 134 characters for 8-bit encoding (Binary)
- 153 characters for 7-bit encoding (Example Latin-1/9 and GSM8)
The SMPP server will forward the inbound/reply (MO) messages sent to numbers allocated to your account via the active SMPP bind. To forward these messages, the SMPP server will issue the SMPP request.
Messages will only be forwarded over SMPP sessions with BIND_RECEIVER or BIND_TRANSCEIVER mode.
Follow these steps to receive SMS:
- From your IMIconnect account, purchase a number.
- Create a service and configure the purchased number in your service.
- Under the General settings of your service, configure INBOUND SETTINGS with the URL as
- Click SAVE.
All the SMS messages coming to the purchased number will be forwarded to the SMPP client through SMPP server.
To receive a DR you should take BIND_TRANSCEIVER so that all DRs will be notified to the SMPP client through SMPP server.
id:1_14839433040000 sub:001 submit date:170100935 done date:170100940 stat:DELIVRD err:000 text:"Sending SMS through SMPP "
The message ID allocated to the message by the IMIconnect gateway when originally submitted.
The number of short messages originally submitted.
The date and time at which the short message was submitted in YYMMDDhhmm.
The date and time at which the short message reached its final state in YYMMDDhhmm.
The final status of the message.
The SMPP error code.
Part of the original text message.
IMIconnect SMPP server returns the following error codes on submission failure:
Message Length is too long
Command length is invalid
Command ID is invalid or not supported
Incorrect bind status for given command
ESME Already in Bound State
Invalid Priority Flag
Invalid registered delivery flag
Invalid source address
Invalid destination address
Invalid System ID
Message queue full
Invalid esm class field data
Throttling error (ESME has exceeded allowed message limits)
Invalid scheduled delivery time
Invalid message validity period(Expiry time)
Error in the optional part of the PDU body
Invalid parameter length
Transaction delivery failure
Delivered to Network (final)
Delivered to Network (Intermediate)
Operator is Retrying Message
Delivered to Phone
Failed @ operator
Formatting Error SMS too long
Incorrect Billing C2
Message Expired @ Gateway
Invalid Expiry Value
Out of Credit. Billing system busy or prepay message already in pipe.
Zero length data
Binary too long
Binary incorrect format
Error in delivery to operator
Message expired @ operator
Not defined - status unknown
SMS delivery receipt timeout
Multipart delivered to Network - Partial success
Multipart Delivered to Network - Total Failure