This page intend to give you details on how to successfully bind to the Beepsend SMPP using your system-id and password.
describes our format of dlr, how we return MO using SMPP and how you can provide us with routing information in SUBMIT_SM. We only recommend
SMPP connection if you have previous experience with SMPP. If not we encourage you to check out our RESTful API for connectivity instead.
If you have any questions, feel free to contact us on Twitter: @beepsend or on IRC
#beepsend@freenode
Item | Value |
---|---|
Host | smpp.beepsend.com |
Port | 7337 |
SSL Port | 8338 |
SSL Cert | http://api.beepsend.com/beepsend_smpp.cert |
Username (system id) | Provided by Account Manager |
Password | Provided by Account Manager |
System Type | SMPP |
SMPP Version | 3.4 (0x34) |
Enquire Link Interval | 60s |
Source NPI | 0 or 1 |
Source TON | 1, 2 or 5 |
Destination NPI | 1 |
Destination TON | 1 |
Bind-type | TRANSCEIVER (TRx) or TRANSMITTER/RECEIVER (Tr/Tx) |
Max Allowed Bind | 3 (contact us for more) |
Administrator Page | https://connect.beepsend.com |
What happens when my connection runs out of money?
When your balance is negative new binds and enquire links will be rejected with 0x0D and all messages you send with an active bind will be rejected with error code 0x04
Which port should I use - 7337 or 8338?
Use 7337 if you don't want to use SSL encryption. Use 8338 together with the cert to encrypt connection with SSL.
After sending/receiving an unbind command: timeout to reconnect?
If you/we send unbind because of a timeout you can make an instant reconnect. If we send unbind (not because timeout) you can always try to reconnect, but the connection will only be possible after 30 - 60s.
SMPP provides for return of an SMSC delivery receipt via the deliver_sm PDU, which indicates the delivery status of the message and also optionally can contain MCC MNC data and price. The informational content of an SMSC Delivery Receipt is inserted into the short_message parameter of the deliver_sm operation. The default format for this Delivery Receipt is same as proposed by SMPP 3.4 specification Appendix B:
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . .
Optionally Beepsend can add to Delivery Receipt MCC, MNC(if known) and price information. If you wish this extra meta data, please contact your Account Manager and request it.
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:EEE MCC:CCC MNC:NNN price:X.XXXX Text:
You must have and use hlr type account. To get Hlr lookup report just send Submit SM. SMPP provides for return of an SMSC delivery receipt via the deliver_sm PDU, which indicates the delivery status of the message and also contains HLR data. The informational content of an SMSC Delivery Receipt is inserted into the short_message parameter of the deliver_sm operation. The format for this Delivery Receipt message is:
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:EEE MCC:CCC MNC:NNN IMSI:IIIIII000000000
The IMSI field will be sent when it's available from the Operator and it will contain the first 6 digits from the real IMSI and zeroes.
Optionally Beepsend can add to Delivery Receipt price information.
id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done date:YYMMDDhhmm stat:DDDDDDD err:EEE MCC:CCC MNC:NNN IMSI:IIIIII000000000 price:X.XXXX
SMPP provides Mobile Originated messages via the deliver_sm PDU. The message optionally can contain MCC MNC data and price. Message body is inserted into the short_message parameter of the deliver_sm operation.
Optional data can be inserted into the TLV fields within the 0x14nn range. Please contact support@beepsend.com to specify which field you wish.
Sometimes you wish to provide us with fixed mcc and mnc information for a message submission instead of relying on our routing engine to find out where the handset currently is. This is possible by adding additional data TLV fields range 0x140x. The format must be mccmnc0x0 and you can contact your Account Manager to enable this feature on your connection.
Error codes that will be returned when using SMPP.
When recieving an error code this means that the message was rejected by the SMPP protocol and the error-code map below can guide you to what the error means. If this happens and you are unsure of the solution, please contact Beepsend support.
Status Code | Description |
---|---|
0 | No error |
1 | Message length is invalid |
2 | Command length is invalid |
3 | Command length is invalid |
4 | No credits or incorrect BIND Status for given command |
5 | ESME Already in Bound State |
6 | Invalid Priority Flag |
7 | Invalid Registered Delivery Flag |
8 | System Error |
10 | Invalid Source Address |
11 | Invalid Destination Address |
12 | Message ID is invalid |
13 | Bind Failed |
14 | Invalid Password |
15 | Invalid System ID |
17 | Cancel SM Failed |
19 | Replace SM Failed |
20 | Message Queue Full |
21 | Invalid Service Type |
51 | Invalid number of destinations |
52 | Invalid Distribution List name |
64 | Destination flag is invalid (submit multi) |
66 | Invalid submit with replace request; submit sm with replace if present flag set |
67 | Invalid esm class field data |
68 | Cannot Submit to Distribution List |
69 | submit sm or submit multi failed |
72 | Invalid Source address TON |
73 | Invalid Source address NPI |
80 | Invalid Destination address TON |
81 | Invalid Destination address NPI |
83 | Invalid system type field |
84 | Invalid replace if present flag |
85 | Invalid number of messages |
88 | Throttling error; ESME has exceeded allowed message limits. |
97 | Invalid Scheduled Delivery Time |
98 | Invalid message validity period (Expiry time) |
99 | Predefined Message Invalid or Not Found |
100 | ESME Receiver Temporary App Error Code |
101 | ESME Receiver Permanent App Error Code |
102 | ESME Receiver Reject Message Error Code |
103 | query sm request failed |
192 | Error in the optional part of the PDU Body |
193 | Optional Parameter not allowed |
194 | Invalid Parameter Length |
195 | Expected Optional Parameter missing |
196 | Invalid Optional Parameter Value |
245 | Delivery Failure, used for data sm resp |
255 | Unknown Error |