SMPP means Short Message Peer to Peer, (SMPP),this protocol is an open industry standard messaging protocol designed to simplify integration of data applications with wireless mobile networks such as GSM, TDMA, CDMA and PDC. The protocol is widely deployed in the mobile telecommunications industry.
The SMPP protocol specification is freely available from http://www.smpp.org
360NRS currently supports version 3.3
and 3.4
of the SMPP protocol.
The following requirements must be met to enable the sending of short messages (SMS) via 360NRS Connectivity:
Access to the 360NRS services is subject to our general terms and conditions of business.
Please send any technical questions by email to: tech@360nrs.com
You can reach our technical hotline or the following telephone number:
902 014 480
(from Spain) or +34 964 523 331
(from abroad)
Monday to Friday between 9:00am-07:00pm
, CET
The parameters used in the 360NRS SMPPServer:
Parameter | Description |
---|---|
SMS | Short Message Service |
PDU | Protocol Description Unit (the way how the SMSs are sent) |
DR | Delivery Report notification |
SMPPServer | SMPP Server that allows the clients to send SMSs |
SMPPClient | Clients that wants to send SMSs through our SMPPServer |
IP | IP number where the SMPPServer is hosted * |
Port | Connection port that the SMPPServer is connectected * |
System_id | Unique system ID sent to the SMPPClient in a confidential mail |
Password | Unique system password sent to the SMPPClient in a confidential mail |
Client_id | Client identifier provided to the SMPPClient |
Account_id | Account identifier when the credits are charged |
System_type | Identifies the type of ESME system requesting to bind as a transmitter with the SMSC. This parameter is used to specify client_id and account_id |
* 360NRS will provide you with the IP address and port number
The GSM specifications have limited the Short Message from the SMSC of the handset to
140 octets
.
If 7 bit encoding is used we may deliver 160
characters to the handset,
otherwise for 8 bit data the maximum number of characters will be limited to 140
.
The characters supported by 360NRS Platform are GSM7
, UCS2
and ISO-8859-1
(ISOLatin 1)
The SMPPServer allows the SMPPClient to send SMSs. This implies that the SMPPClient must connect to the SMPPServer using some PDU connection parameters.
Configuration | Description |
---|---|
SMPP Bind Type | Transceiver or transmitter & receiver |
Asyncrhonous outstanding operations window | 10 |
SMPP Version | 3.3 or 3.4 |
Max allowed sessions per server | 2 |
Parameter | Description |
---|---|
Hosts | smppv5.nrs-group.com |
Port | 5091 |
Port SSL | 6091 |
System_id | alphanumerical user that will be given to the SMPPClient by phone, email or SMS |
Password | alphanumerical secret code that will be given to the SMPPClient by phone, email or SMS |
Parameter | Description |
---|---|
bind-mode | transceiver |
sync-mode | async |
addr-ton | 1 |
addr-npi | 1 |
source-ton | 5 |
source-npi | 0 |
destination-ton | 1 |
destination-npi | 1 |
Data coding | Description |
---|---|
0 | GSM7 encoding |
3 | ISO-8859-1 |
8 | UTF-16 |
When data-coding is set to ISO-8859-1
text is transliterated to avoid errors when text is internally transcoded to GSM7
.
The table of equivalence is:
From | To | From | To | From | To | From | To | From | To | From | To | From | To | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
á | => | a | Á | => | A | À | => | A | â | => | a | Â | => | A | ã | => | a | Ã | => | A | ||||||
È | => | E | ê | => | e | Ê | => | E | ||||||||||||||||||
í | => | i | Í | => | I | Ì | => | I | î | => | i | Î | => | I | ||||||||||||
ó | => | o | Ó | => | O | Ò | => | O | ô | => | o | Ô | => | O | Õ | => | O | |||||||||
ú | => | u | Ú | => | U | Ù | => | U | û | => | u | Û | => | U | ||||||||||||
ç | => | Ç |
SMPP parameter | Type of address | TON | NPI |
---|---|---|---|
Destination address | Always international | 1 | 1 |
Source address | International | 1 | 1 |
National/shortcode | 2 | 1 | |
Alphanumeric | 5 | 0 |
Source address and destination address in international format shall not contain any
leading +
or 00
, only the countrycode is needed.
Displayed on handset: +34609939891
SMPP Parameter:
Length of an alphanumeric originator is limited to 11 characters
; this limit is set by the
pertinent GSM Standards.
SMPPServer provides a SMSC delivery receipt via the deliver_sm
or data_sm
PDU,
which indicates the delivery status of the message.
The informational content of an SMSC Delivery Receipt may be inserted into the
short_message
parameter of the deliver_sm
operation. The format for this Delivery
Receipt message is SMSC specific vendor but below there is a typical example of Delivery
Receipt report:
The fields of the above delivery receipt example are explained in the following table:
Field | Size (octects) | Type | Description |
---|---|---|---|
id | 10 | C-Octet String (Decimal) | The message ID allocated to the message by the SMSC when originally submitted. |
sub | 3 | C-Octet String (Decimal) | Number of short messages originally submitted. This is only relevant when the original message was submitted to a distribution list. The value is padded with leading zeros if necessary. |
dlvrd | 3 | C-Octet String (Decimal) | Number of short messages delivered. This is only relevant when the original message was submitted to a distribution list. The value is padded with leading zeros if necessary. |
submit date | 10 | C-Octet Fixed Length String | The time and date when the short message was submitted. In the case of a replaced message, this is the date that the original message was replaced. |
done date | 10 | C-Octet Fixed Length String | The time and date when the short message reached it’s final state. The format is the same as for the submit date. |
stat | 7 | C-Octet Fixed Length String | The final status of the message. |
err | 3 | C-Octet Fixed Length String | This may be a Network specific error code or an SMSC error code for the attempted delivery of the message. These errors are Network or SMSC related and are not included in here. |
text | 20 | Octet String | The first 20 characters of the short message. |
Message State | State | Description |
---|---|---|
DELIVRD | Delivered | Message is delivered to destination |
EXPIRED | Expired | Message validity period has expired |
DELETED | Deleted | Message has been deleted |
UNDELIV | Undelivered | Message is undeliverable |
ACCEPTD | Accepted | Message is in accepted status (i.e. has been manually read on behalf of the subscriber by customer service) |
UNKNOWN | Unknown | Message is in invalid status |
REJECTD | Rejected | Message is in a rejected status |
When client receives NO_CREDIT error messages:
Stop sending further messages
Only one session is available for systemID provided to the client.
30 sec
. Otherwise client session will be dropped by the 360NRS platform.ping smppv5.nrs-group.com
. If you are not able to ping Sever IP, contact customer care.telnet smppv5.nrs-group.com <port>
. If you are not able to do telnet, contact customer care.error code
in the section below.Server provides response in transaction mode. I,e, response from the operator itself. This depends on the operator delay. Otherwise better option is to send the messages in the async manner.
This command is used to provide a confidence-check of the communication path between ESME and the SMSC. All SMPP sessions on the SMSC are configured with an 80 seconds idle timeout. All ESMEs are expected to initiate an enquire_link every 60 seconds to ensure the session is not closed by the SMSC during idle periods
Error Code | Error Name | Description | Action |
---|---|---|---|
0x00000000 | OK | Message received and processed | 1 |
0x0000000D | ESME_RBINDFAIL | Bind failed (login/bind failed – invalid login credentials or login restricted by IP address) | Verify System_id value and send the proper value |
0x0000000E | ESME_RINVPASWD | Invalid password (login/bind failed) | Verify password value and send the proper value |
0x0000000F | ESME_RINVSYSID | Authentication failure | Check username, password, client ID and account ID |
Error Code | Error Name | Description |
---|---|---|
0x00000000 | OK | Message received and processed |
0x00000401 | NO_CREDIT | Account does not have enough credits |
0x000000FE | Delivery Failure | The message can't be routed to SMSC or Gateway. The main reason from that can be internal server issues, losing connection with the SMSC, routing errors or others. |
0x00000009 | Airbag error | Indicates that the same message has sent more than 3 times within less than 30 minutes .It is considered that the message is the same when the sender, destination and the text are also the same. The objective of this “anti-flood” mechanism is avoid possible errors from the client who send the same message several times and avoid loopings |
0x0000000A | Invalid Source Address | Invalid Source Address |
0x0000000B | Invalid Dest Addr | Invalid Dest Addr |
0x00000402 | Invalid message | The message has invalid message length |
DLR code | Status | Duration | Descripción |
---|---|---|---|
0 | DELIVRD | n/a | The message is delivered sucessfully |
1 | UNDELIV | Unknown | The message can't be delivered but the failure is unkown |
2 | UNDELIV | permanent | The msisdn is wrong, the carrier has blocked the sending or it is included in the blacklist permanently |
3 | UNDELIV | permanent | The message can't be delivered in its usual format |
4 | UNDELIV | permanent | It isn't determined the correct routing for the msisdn |
5 | UNDELIV | temporary | The HLR service has failed in the look up |
6 | UNDELIV | temporary | The message has failed due to a temporary issue on the SMSC or exit Gateway |
7 | UNDELIV | permanent | The handset is not able to receive the message due to an technical incompatibility |
8 | UNDELIV | temporary | The handset has the memory fulled, SIM card full or another similar issue, but it will be able to receive messages in the future |
9 | UNDELIV | temporary | The message has failed becasuse the MSISDN is ina a roaming process |
10 | UNDELIV | temporary | The handset is not connected or out of range during the period the operator has been trying to deliver the message |
11 | UNDELIV | temporary | Internal error with the client's balance, the client has no balance after the reception os the sms |
30 | UNKNOWN | permanent | The final status of the message is unknown for NRS due NRS has not received any confirmation from the SMSC or Gateway |
40 | EXPIRED | permanent | Message expired according to the established time frame |
50 | DELETED | permanent | The message has been deleted |
60 | RECEIVED | n/a | The message has been received by the Gateway but NRS has not still received the final message status. Currently, this DLR is not being informed to the client |
70 | ACCEPTD | n/a | The message has been received by the Gateway but NRS has not still received the final message status. Currently, this DLR is not being informed to the client |
80 | REJECTD | permanent | The message has been reject by the SMSC or Gateway due to unknown reasons |
81 | REJECTD | permanent | The message has been reject by the carrier due to it's been identified as spam message |
basic
character set0x00 | 0x10 | 0x20 | 0x30 | 0x40 | 0x50 | 0x60 | 0x70 | |
0x00 | @ | Δ | SP | 0 | ¡ | P | ¿ | p |
0x01 | £ | _ | ! | 1 | A | Q | a | q |
0x02 | $ | Φ | " | 2 | B | R | b | r |
0x03 | ¥ | Γ | # | 3 | C | S | c | s |
0x04 | è | Λ | ¤ | 4 | D | T | d | t |
0x05 | é | Ω | % | 5 | E | U | e | u |
0x06 | ù | Π | & | 6 | F | V | f | v |
0x07 | ì | Ψ | ' | 7 | G | W | g | w |
0x08 | ò | Σ | ( | 8 | H | X | h | x |
0x09 | Ç | Θ | ) | 9 | I | Y | i | y |
0x0A | LF | Ξ | * | : | J | Z | j | z |
0x0B | Ø | ESC | + | ; | K | Ä | k | ä |
0x0C | ø | Æ | , | < | L | Ö | l | ö |
0x0D | CR | æ | - | = | M | Ñ | m | ñ |
0x0E | Å | ß | . | > | N | Ü | n | ü |
0x0F | å | É | / | ? | O | § | o | à |
* Special characters
extended
character set0x00 | 0x10 | 0x20 | 0x30 | 0x40 | 0x50 | 0x60 | 0x70 | |
0x00 | | | |||||||
0x01 | ||||||||
0x02 | ||||||||
0x03 | ||||||||
0x04 | ^ | |||||||
0x05 | € | |||||||
0x06 | ||||||||
0x07 | ||||||||
0x08 | { | |||||||
0x09 | } | |||||||
0x0A | FF | |||||||
0x0B | SS2 | |||||||
0x0C | [ | |||||||
0x0D | CR2 | ~ | ||||||
0x0E | ] | |||||||
0x0F | \ |
* Special characters
basic
character set0x00 | 0x10 | 0x20 | 0x30 | 0x40 | 0x50 | 0x60 | 0x70 | |
0x00 | @ | Δ | SP | 0 | Í | P | ~ | p |
0x01 | £ | _ | ! | 1 | A | Q | a | q |
0x02 | $ | ª | " | 2 | B | R | b | r |
0x03 | ¥ | Ç | # | 3 | C | S | c | s |
0x04 | ê | À | º | 4 | D | T | d | t |
0x05 | é | ∞ | % | 5 | E | U | e | u |
0x06 | ú | ^ | & | 6 | F | V | f | v |
0x07 | í | \ | ' | 7 | G | W | g | w |
0x08 | ó | € | ( | 8 | H | X | h | x |
0x09 | ç | Ó | ) | 9 | I | Y | i | y |
0x0A | LF | | | * | : | J | Z | j | z |
0x0B | Ô | ESC | + | ; | K | Ã | k | ã |
0x0C | ô | Â | , | < | L | Õ | l | õ |
0x0D | CR | â | - | = | M | Ú | m | ` |
0x0E | Á | Ê | . | > | N | Ü | n | ü |
0x0F | á | É | / | ? | O | § | o | à |
* Special characters
** Characters different from GSM
extended
character set0x00 | 0x10 | 0x20 | 0x30 | 0x40 | 0x50 | 0x60 | 0x70 | |
0x00 | | | |||||||
0x01 | À | Â | ||||||
0x02 | Φ | |||||||
0x03 | Γ | |||||||
0x04 | ^ | |||||||
0x05 | ê | Ω | Ú | € | ú | |||
0x06 | Π | |||||||
0x07 | Ψ | |||||||
0x08 | Σ | { | ||||||
0x09 | ç | Θ | } | Í | í | |||
0x0A | FF | |||||||
0x0B | Ô | SS2 | Ã | ã | ||||
0x0C | ô | [ | Õ | õ | ||||
0x0D | CR2 | ~ | ||||||
0x0E | Á | ] | ||||||
0x0F | á | Ê | \ | Ó | ó | â |
* Special characters
** Characters different from GSM