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 |
| ESME_ORIGINATOR_NOT_ALLOWED | 1026 | 0x402 | Alias (Sender) not allowed |
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.