SMPP PROTOCOL #
The SMPP standard is a protocol specifically developed for sending SMS via TCP/IP connections.
The types of connections (BIND) supported are:
- Transmitter (TX – sending messages only)
- Receiver (RX – receiving delivery notifications only)
- Transceiver (TRX – sending messages + receiving notifications)
By default, Agile Telecom’s policy allows up to 4 active connections, which can be considered as 4 TX + 4 RX or 4 TRX. If necessary, you can request additional connections.
The parameters for the connection are as follows:
HOST | smpp.agiletelecom.com |
PORT | 2776 (TLS) |
SYSTEM ID | username of the account |
PASSWORD | password of the account |
MODE | TX, RX o TRX |
Login-AddrRange | <leave empty> |
Login-SystemType | <leave empty> |
Login-TON | 1 |
Login-NPI | 1 |
Login-DCS | 0 |
SMPP ERRORS #
Following the possible errors managed by our SMPP server:
ERROR TYPE | ERROR NUMBER | HEX VALUE | DESCRIPTION |
ESME_RINMSGLEN | 1 | 0x01 | Invalid message length |
ESME_RINVCMDLEN | 2 | 0x02 | Invalid command length |
ESME_RINVCMDID | 3 | 0x03 | Invalid command ID |
ESME_RINVBNDSTS | 4 | 0x04 | Bind not yet completed |
ESME_RALYBIND | 5 | 0x05 | User already bound (limit reached) |
ESME_RSYERR | 8 | 0x08 | System error |
ESME_RINVSRCADR | 10 | 0x0A | Invalid source address |
ESME_RINVDSTADR | 11 | 0x0B | Invalid destination address |
ESME_RINVPASWD | 13 | 0x0E | Invalid credentials |
ESME_RINVPASWD | 14 | 0x0E | Invalid credentials |
ESME_RINVSERTYP | 21 | 0x15 | Invalid SYSTEM_TYPE |
ESME_RSUBMITFAIL | 69 | 0x45 | Text decoding failed |
ESME_RINVSYSTYP | 83 | 0x53 | Invalid SYSTEM_TYPE |
ESME_RTHROTTLED | 88 | 0x58 | Throughput limit exceeded |
ESME_RINVSCHED | 97 | 0x61 | Invalid scheduled delivery time |
ESME_RINVEXPIRY | 98 | 0x62 | Invalid VALIDITY_PERIOD |
ESME_RSERTYPDENIED | 259 | 0x103 | Insufficient credit |
ERROR CODES IN STATUS REPORT #
Status reports include error codes as defined in the SMPP Protocol Specification v3.4 Issue 1.2, Appendix B.
ERROR CODE | CATEGORY | DESCRIPTION |
101 | ROUTING ERROR | No route found |
102 | ESME ERROR | ESME error |
201 | HLR ERROR | Absent subscriber. |
202 | HLR ERROR | Facility not supported. |
203 | HLR ERROR | System failure. |
204 | HLR ERROR | Unexpected data value. |
205 | HLR ERROR | Data missing. |
206 | HLR ERROR | Memory capacity exceeded. |
207 | HLR ERROR | Mobile subscriber not reachable. |
208 | HLR ERROR | Reject. |
209 | HLR ERROR | Local Cancel. |
210 | HLR ERROR | Abort. |
211 | HLR ERROR | Exception (internal). |
212 | HLR ERROR | Unknown subscriber. |
213 | HLR ERROR | Teleservice not provisioned. |
214 | HLR ERROR | Call barred. |
215 | HLR ERROR | Roaming not allowed. |
216 | HLR ERROR | Bearer service not provisioned. |
350 | HLR ERROR | Unknown error. |
401 | MSC ERROR | Unidentified subscriber. |
402 | MSC ERROR | Absent subscriber, IMSI detached. |
403 | MSC ERROR | Absent subscriber, no page response. |
404 | MSC ERROR | Subscriber busy for MT SMS. |
405 | MSC ERROR | Facility not supported. |
406 | MSC ERROR | Illegal subscriber. |
407 | MSC ERROR | Illegal equipment. |
408 | MSC ERROR | System failure. |
409 | MSC ERROR | Unexpected data value. |
410 | MSC ERROR | Data missing. |
411 | MSC ERROR | Memory capacity exceeded. |
412 | MSC ERROR | Equipment protocol error. |
413 | MSC ERROR | Device not short message equipped. |
414 | MSC ERROR | Reject. |
415 | MSC ERROR | Local Cancel. |
416 | MSC ERROR | Abort. |
417 | MSC ERROR | Exception (internal). |
418 | MSC ERROR | SM delivery failure. |
419 | MSC ERROR | Temporary mobile error. |
550 | MSC ERROR | Unknown error. |
615 | SMSC ERROR | Network Timeout. |
616 | SMSC ERROR | Routing error. |
617 | SMSC ERROR | Mobile device error. |
618 | SMSC ERROR | Invalid text or charset. |
806 | SCREENING ERROR | Destination blocked. |
901 | ESME EXTERNAL ERROR | Invalid destination address. |
902 | ESME EXTERNAL ERROR | Invalid source address. |
903 | ESME EXTERNAL ERROR | Message queue full. |
904 | ESME EXTERNAL ERROR | Invalid parameter. |
SMS SENDER #
Max 16 characters for exclusively numeric sender (e.g. +391234567890123) or max 11 characters for alphanumeric sender (e.g. COMPANY ABC).
As of 10/16/2013, the resolution provides: no. 42/13/CIR of Agcom.
MESSAGE_ID FOR NOTIFICATION #
The message_id returned by the SUBMIT_SM_RESP package and used by the DELIVER_SM operation for delivery of notifications uses by default a UUID with the following format: AGILE-XXXXXXXX-XXXXXX-XXXXXX-XXXXXX
If the client’s platform does not support this format, the different format may be required to be agreed upon.
DATE FORMAT IN THE DELIVERY NOTIFICATION #
In the DELIVER_SM package, the string indicating the message delivery date also contains the seconds information and is in this format: yyMMddHHmmss
CONSTRAINT OF SENDING FROM IP #
By default, the platform is open to all IPs, but if necessary the client can request to bind the use of the account only from certain IP addresses or subnets.