NAV

Introduction

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.

Requirements

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

Glossary

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

Technical information

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.

Connection configuration


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

Mandatory parameters


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

Message encoding


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 TON/NPI parameters


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

International originators

Source address and destination address in international format shall not contain any leading + or 00, only the countrycode is needed.

Sample International Source Address

Displayed on handset: +34609939891

SMPP Parameter:

Alphanumeric originators

Length of an alphanumeric originator is limited to 11 characters; this limit is set by the pertinent GSM Standards.

Delivery reports

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 states


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

Action for submit response error codes

When client receives NO_CREDIT error messages:

  1. Stop sending further messages
  2. Contact call center

Binding guidelines

Only one session is available for systemID provided to the client.

  1. When session drops (due to network fluctuation or planned unbind), before rebinding to the server, the client application should wait for 60 sec before issuing the bind request.
  2. The session should not drop frequently. Once binded, session should stay for long time rather than issuing bind request.
  3. Client should not attempt to spam the server with bind request.
  4. Before the unbinding, client should issue unbind request to the system.

Enquirelink - Keep alive signal

  1. The Enquirelink signal should be sent every 30 sec. Otherwise client session will be dropped by the 360NRS platform.
  2. Client should not attempt to spam the server with Enquirelink request.

Resolving bind problems

  1. First try to ping server IP: Ex: ping smppv5.nrs-group.com. If you are not able to ping Sever IP, contact customer care.
  2. If ping is Successful do telnet. Ex: telnet smppv5.nrs-group.com <port>. If you are not able to do telnet, contact customer care.
  3. If you get any error bind response, please check the error code in the section below.
  4. If all confirmations are correct and you are still facing binding problems, please contact customer care who will redirect you to the technical department.

Frequently asked questions

1. How long should The ESME Application Wait For A submit_sm_response?

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 codes

Bind response error codes

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

Submit response error codes

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 error codes

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

Annexes

GSM character set

GSM basic character set

0x00 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

GSM extended character set

0x00 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

GSM-PT character set

GSM-PT basic character set

0x00 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

GSM-PT extended character set

0x00 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