Interface description
Scope
This document explains valid BIND operations and specifies the combinations of TON and NPI settings that can be used
with Spirius SMPP interface. It also specifies the SMPP error codes given from Spirius in response to the
query_sm
-command. In the response a message state will be given along with the error code. Available message states
are not specific to Spirius but specified in
the SMPP Protocol Specification v3.4 issue 1.2, section 5.2.28.
SMPP modes of operation
Valid bind combinations
The Bind operation may be viewed as a form of SMSC login request to authenticate the client wishing to establish a connection. A client to Spirius SMPP interface may bind as either transmitter, receiver or transceiver.
Valid BIND combinations for a client to Spirius SMPP interface are:
- Bind 1 Receiver
- Bind 1 Transmitter
- Bind both 1 Receiver and 1 Transmitter
- Bind 1 Transceiver (duplex mode)
A Spirius account holder can simultaneously bind maximum one receiver and one transmitter. A transceiver will be counted as one of each. Attempting to bind e.g. a transmitter and a transceiver from the same account will result in both sessions being disconnected.
Please refer to section 4 of the SMPP 3.4 specification for further information.
Type Of Number (TON) and Number Plan Indicator (NPI) settings
SMPP 3.4 specification in section 5.2.5 and 5.2.6 defines 7 different Type of Number (TON) and 10 different Number Plan Indicator (NPI) settings, but only the ones that are realistic to use for SMS services are supported by Spirius SMPP interface.
Below is the list different TON and NPI implemented by Spirius SMPP interface:
Value | TON |
---|---|
0 |
Unknown |
1 |
International |
2 |
National |
3 |
Network Specific |
5 |
Alphanumeric |
Value | NPI |
---|---|
0 |
Unknown |
1 |
ISDN (E163/E164) |
2 |
Accepted, No Error |
The combinations that are valid to use with Spirius SMPP component in combination with source address for the submit_sm command are:
TON | NPI | Expected result |
---|---|---|
0 - Unknown |
0 - Unknown |
Defined by the receiving SMSC |
1 - International |
1 - ISDN (E163/E164) |
Accepted, No Error |
2 - National |
1 - ISDN (E163/E164) |
Accepted, No Error |
3 - Network Specific |
0 - Unknown |
Accepted, No Error |
5 - Alphanumeric |
0 - Unknown |
Accepted, No Error |
The combinations that are valid to use with Spirius SMPP component in combination with destination address for the submit_sm command are:
TON | NPI | Expected result |
---|---|---|
0 - Unknown |
0 - Unknown |
Defined by the receiving SMSC |
1 - International |
1 - ISDN (E163/E164) |
Accepted, No Error |
2 - National |
1 - ISDN (E163/E164) |
Accepted, No Error |
Other combinations will result in one of the error-codes defined in the SMPP specification.
SMPP error codes
Mobile terminated messages
Error | Code | Location Description |
---|---|---|
0 |
Unknown | Unknown |
1 |
No location | No Error |
100 |
HLR | Pending |
101 |
HLR | System Failure |
102 |
HLR | Data Missing |
103 |
HLR | Unexpected Data Value |
104 |
HLR | Facility Not Supported |
105 |
HLR | Unknown Subscriber |
106 |
HLR | Teleservice Not Provisioned |
107 |
HLR | Call Barred |
108 |
HLR | Absent Subscriber |
199 |
HLR | Unknown |
198 |
HLR | Timeout |
200 |
MSC | Pending |
201 |
MSC | Subscriber Busy For MT-SMS |
202 |
MSC | Unidentified Subscriber |
203 |
MSC | Illegal Subscriber |
204 |
MSC | Illegal Equipment |
205 |
MSC | System Failure |
206 |
MSC | Data Missing |
207 |
MSC | Unexpected Data Value |
208 |
MSC | Facility Not Supported |
209 |
MSC | Message Waiting List Full |
210 |
MSC | SM Delivery Failure |
211 |
MSC | Absent Subscriber SM |
298 |
MSC | Timeout |
299 |
MSC | Unknown |
300 |
GMSC | Pending |
301 |
GMSC | Error |
302 |
GMSC | Expired |
304 |
GMSC | Queued |
305 |
GMSC | Waiting For Timeout |
398 |
GMSC | Timeout |
399 |
GMSC | Unknown |