Welcome

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

Connection Details

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

Questions

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