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
{{NAME}} currently supports version 3.4
of the SMPP protocol. You can download the official documentation here.
The following requirements must be met to enable the sending of short messages (SMS) via {{NAME}} Connectivity:
Access to the {{NAME}} 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 {{NAME}} 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 |
Host | Host where SMPPServer is hosted |
IP | IP number where the SMPPServer is hosted |
Port | Connection port that the SMPPServer is connectected |
System_id | Unique username |
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 {{NAME}} 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 |
---|---|
Host | smppv5.nrs-group.com |
Port | 5091 |
Port SSL | 6091 |
System_id | alphanumerical username of the client |
Password | alphanumerical password generated by client |
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 {{NAME}} 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 |
---|---|---|
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 | Description |
---|---|---|---|
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 |
82 | REJECTD | permanent | The message does not meet the requirements established by the route for promotional sending |
83 | REJECTD | permanent | The message exceeds 140 octets per part |
84 | REJECTD | permanent | The message is empty |
85 | REJECTD | permanent | The sender exceeds 11 alphanumeric or 15 numeric characters |
86 | REJECTD | permanent | The recipient number is incorrect |
87 | REJECTD | temporary | The same message has been sent in a time period of less than 30 seconds more than three times. The message is considered to be the same when the sender, recipient, and text of the message coincide. The objective of this 'antiflood' mechanism is to avoid possible errors on the part of the client that sends the same message multiple times and to avoid possible loops |
88 | REJECTD | permanent | Wrong expiration date |
89 | REJECTD | temporary | External parameter validation error |
90 | REJECTD | permanent | The message exceeds the maximum number of characters allowed |
91 | REJECTD | permanent | The client has requested the cancellation of promotional messages |
Error Code | Error Name | Description |
---|---|---|
0x00000000 | ESME_ROK | No Error |
0x00000001 | ESME_RINVMSGLEN | Message too long |
0x00000002 | ESME_RINVCMDLEN | Command length is invalid |
0x00000003 | ESME_RINVCMDID | Command ID is invalid or not supported |
0x00000004 | ESME_RINVBNDSTS | Incorrect bind status for given command |
0x00000005 | ESME_RALYBND | Already bound |
0x00000006 | ESME_RINVPRTFLG | Invalid Priority Flag |
0x00000007 | ESME_RINVREGDLVFLG | Invalid registered delivery flag |
0x00000008 | ESME_RSYSERR | System error |
0x0000000A | ESME_RINVSRCADR | Invalid source address |
0x0000000B | ESME_RINVDSTADR | Invalid destination address |
0x0000000C | ESME_RINVMSGID | Message ID is invalid |
0x0000000D | ESME_RBINDFAIL | Bind failed |
0x0000000E | ESME_RINVPASWD | Invalid password |
0x0000000F | ESME_RINVSYSID | Invalid System ID |
0x00000011 | ESME_RCANCELFAIL | Cancelling message failed |
0x00000013 | ESME_RREPLACEFAIL | Message recplacement failed |
0x00000014 | ESME_RMSSQFUL | Message queue full |
0x00000015 | ESME_RINVSERTYP | Invalid service type |
0x00000033 | ESME_RINVNUMDESTS | Invalid number of destinations |
0x00000034 | ESME_RINVDLNAME | Invalid distribution list name |
0x00000040 | ESME_RINVDESTFLAG | Invalid destination flag |
0x00000042 | ESME_RINVSUBREP | Invalid submit with replace request |
0x00000043 | ESME_RINVESMCLASS | Invalid esm class set |
0x00000044 | ESME_RCNTSUBDL | Invalid submit to ditribution list |
0x00000045 | ESME_RSUBMITFAIL | Submitting message has failed |
0x00000048 | ESME_RINVSRCTON | Invalid source address type of number (TON) |
0x00000049 | ESME_RINVSRCNPI | Invalid source address numbering plan (NPI) |
0x00000050 | ESME_RINVDSTTON | Invalid destination address type of number (TON) |
0x00000051 | ESME_RINVDSTNPI | Invalid destination address numbering plan (NPI) |
0x00000053 | ESME_RINVSYSTYP | Invalid system type |
0x00000054 | ESME_RINVREPFLAG | Invalid replace_if_present flag |
0x00000055 | ESME_RINVNUMMSGS | Invalid number of messages |
0x00000058 | ESME_RTHROTTLED | Throttling error |
0x00000061 | ESME_RINVSCHED | Invalid scheduled delivery time |
0x00000062 | ESME_RINVEXPIRY | Invalid Validty Period value |
0x00000063 | ESME_RINVDFTMSGID | Predefined message not found |
0x00000064 | ESME_RX_T_APPN | ESME Receiver temporary error |
0x00000065 | ESME_RX_P_APPN | ESME Receiver permanent error |
0x00000066 | ESME_RX_R_APPN | ESME Receiver reject message error |
0x00000067 | ESME_RQUERYFAIL | Message query request failed |
0x000000C0 | ESME_RINVTLVSTREAM | Error in the optional part of the PDU body |
0x000000C1 | ESME_RTLVNOTALLWD | TLV not allowed |
0x000000C2 | ESME_RINVTLVLEN | Invalid parameter length |
0x000000C3 | ESME_RMISSINGTLV | Expected TLV missing |
0x000000C4 | ESME_RINVTLVVAL | Invalid TLV value |
0x000000FE | ESME_RDELIVERYFAILURE | Transaction delivery failure |
0x000000FF | ESME_RUNKNOWNERR | Unknown error |
0x00000100 | ESME_RSERTYPUNAUTH | ESME not authorised to use specified servicetype |
0x00000101 | ESME_RPROHIBITED | ESME prohibited from using specified operation |
0x00000102 | ESME_RSERTYPUNAVAIL | Specified servicetype is unavailable |
0x00000103 | ESME_RSERTYPDENIED | Specified servicetype is denied |
0x00000104 | ESME_RINVDCS | Invalid data coding scheme |
0x00000105 | ESME_RINVSRCADDRSUBUNIT | Invalid source address subunit |
0x00000106 | ESME_RINVSTDADDRSUBUNIR | Invalid destination address subunit |
0x00000107 | ESME_RINVBCASTFREQINT | Broadcast Frequency Interval is invalid. |
0x00000108 | ESME_RINVBCASTALIAS_NAME | Broadcast Alias Name is invalid. |
0x00000109 | ESME_RINVBCASTAREAFMT | Broadcast Area Format is invalid. |
0x0000010A | ESME_RINVNUMBCAST_AREAS | Number of Broadcast Areas is invalid. |
0x0000010B | ESME_RINVBCASTCNTTYPE | Broadcast Content Type is invalid. |
0x0000010C | ESME_RINVBCASTMSGCLASS | Broadcast Message Class is invalid. |
0x0000010D | ESME_RBCASTFAIL | broadcast_sm operation failed. |
0x0000010E | ESME_RBCASTQUERYFAIL | query_broadcast_sm operation failed. |
0x0000010F | ESME_RBCASTCANCELFAIL | cancel_broadcast_sm operation failed. |
0x00000110 | ESME_RINVBCAST_REP | Number of Repeated Broadcasts is invalid. |
0x00000111 | ESME_RINVBCASTSRVGRP | Broadcast Service Group is invalid. |
0x00000112 | ESME_RINVBCASTCHANIND | Broadcast Channel Indicator is invalid. |
0x00000401 | ESME_RINVBALANCE | Insufficient credits to send message |
0x00000402 | ESME_RINVLENGTH | Invalid 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
Many countries have regulations designed to protect users from unwanted communications, both via SMS and voice calls. To ensure your campaigns reach their destination correctly and avoid blocks or penalties, it is essential to adhere to these rules.
Each country defines its own conditions and restrictions regarding commercial communications, so it is important to understand and respect the specifics of each. It is important to keep in mind that these conditions and restrictions are subject to the current legislation of each country and may change. 360nrs is not responsible for non-compliance with these policies; the responsibility lies with the client.
Below, you will find the restrictions for the main countries so you can operate safely and effectively. If you have any questions or if the recipient country is not listed below, we recommend contacting our customer service team.
Commercial or promotional SMS messages sent to France must comply with certain legal regulations, which are described below. Transactional messages, however, are not subject to these restrictions.
Sending messages related to politics, religion, gambling, or unsolicited promotions is strictly prohibited.
Marketing SMS messages can only be sent Monday through Saturday, between 8:00 AM and 10:00 PM. Any messages sent outside of these hours will be automatically blocked and scheduled for resending at the next permitted time. That is, if you try to send an SMS on Sunday at 2:00 PM, it won't be sent until Monday at 8:00 AM.
Contact support@360nrs.com for more information and to validate your sender.
It is mandatory to add the STOP au [STOP_CODE] as an opt-out instruction at the end of your marketing SMS messages to France.
SMS messages sent to Spain have certain legal conditions. Any SMS identified as marketing content will be subject to the conditions listed in the sections below.
Sending messages related to political or religious topics, gambling, or unsolicited promotions is strictly prohibited.
SMS messages sent to the United Kingdom are limited to certain regulatory conditions. Any SMS messages identified as marketing content will be subject to the conditions listed below.
Sending messages related to political or religious themes or unsolicited promotions is strictly prohibited.
If you send adult or gambling content, you must ensure that the recipient's age has been verified in compliance with PSA and Ofcom Guidelines.
Commercial or promotional SMS messages sent to the United States must comply with certain legal regulations, which are described below. Transactional messages, however, are not subject to these restrictions.
The use of public URL shorteners, such as bit.ly or tinyurl, is not permitted. However, the use of custom domains within these services is permitted. Therefore, you may use 360nrs' own URL shortener.
In addition, sending messages containing sexually explicit or pornographic content, abusive or harassing material, information related to firearms, including fireworks, or references to alcohol, tobacco, or illegal drugs is strictly prohibited. Sending messages about gambling, investment opportunities, the repeated sending or receiving of one-time access codes (OTPs) on behalf of other providers, activities considered high financial risk, loans or loan forgiveness, credit repair services, debt collection, or tax-related matters is also prohibited. Likewise, content linked to cryptocurrency, including those related to OTPs, unsolicited real estate inquiries such as WeBuyHomes, or promotions associated with multi-level marketing is not permitted.
Contact support@360nrs.com for more information and to validate your sender.
Marketing SMS messages can only be sent Monday through Friday, between 7:00 AM and 7:00 PM, and Saturdays from 8:00 AM to 3:00 PM. Sending promotional messages is not permitted on Sundays and public holidays. Any messages sent outside of these hours will be automatically blocked and scheduled for forwarding at the next permitted time. This means that if you attempt to send an SMS on Sunday at 2:00 PM, it will not be sent until Monday at 8:00 AM.
Promotional SMS content may, in some cases, require prior registration before sending. Additionally, the 360nrs platform may automatically add the sender's name to the beginning of the message or include a URL at the end, depending on the channel's or destination country's conditions.
Sending messages related to political or religious topics, gambling, or unsolicited promotions is strictly prohibited.
Before sending any marketing traffic, the express consent (opt-in) of mobile device users is required.
Sending messages related to politics, religion, gambling, or unsolicited promotions is strictly prohibited.
Contact support@360nrs.com for more information and to validate your sender.