Configuring SMPP - Stonesoft
Configuring SMPP - Stonesoft
Configuring SMPP - Stonesoft
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
StoneGate SSL VPN Technical Note 2084<br />
<strong>Configuring</strong> <strong>SMPP</strong>
Table of Contents<br />
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 3<br />
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 3<br />
<strong>Configuring</strong> <strong>SMPP</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 3<br />
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 8<br />
Feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 8<br />
Table of Contents 2
Introduction<br />
This technical note describes how to configure the short message peer-to-peer protocol (<strong>SMPP</strong>) for use with<br />
StoneGate SSL VPN.<br />
This technical note assumes a thorough understanding of StoneGate SSL VPN administration and <strong>SMPP</strong>. Use the<br />
further reading to gain the required knowledge.<br />
Further Reading<br />
More information on StoneGate SSL VPN administration can be found in the StoneGate SSL VPN Administrator’s<br />
Guide, the Online Help, and the Technical Note repository provided with the product. Another source of information<br />
is the <strong>Stonesoft</strong> Support site, which can be found at http://www.stonesoft.com/support/.<br />
For more information on related subjects, visit http://smsforum.net.<br />
Overview<br />
The short message peer-to-peer protocol (<strong>SMPP</strong>) is a telecommunications industry protocol for exchanging SMS<br />
messages between SMS peer entities such as short message service centres. It is often used to allow third parties<br />
(e.g. value-added service providers like news organizations) to submit messages, often in bulk.<br />
<strong>SMPP</strong> was originally designed by Aldiscon, a small Irish company that was later bought by Logica. In 1999, <strong>SMPP</strong><br />
was formally handed over to the <strong>SMPP</strong> Developers Forum, later renamed as The SMS Forum.<br />
The protocol is based on pairs of request/response PDUs (protocol data units, or packets) exchanged over OSI<br />
layer 4 (TCP/IP session or X.25 SVC3) connections. PDUs are binary encoded for efficiency.<br />
The most commonly used versions of <strong>SMPP</strong> are v3.3, the most widely supported standard, and v3.4, which adds<br />
transceiver support (single connections that can send and receive messages). Data exchange may be synchronous,<br />
where each peer must wait for a response for each PDU being sent, and asynchronous, where receiving and<br />
transmitting go in independent threads with the use of buffers and timers. The latest version of <strong>SMPP</strong> is v5.0.<br />
StoneGate SSL VPN currently supports v3.4.<br />
<strong>Configuring</strong> <strong>SMPP</strong><br />
The <strong>SMPP</strong> parameters are configured by adding Additional Configuration in “Manage System/Notification<br />
Settings/SMS Channel”. Click “Add Additional Configuration…” for the SMS channel and insert the key name<br />
and appropriate value from the table below or as supplied by your SMS provider.<br />
Table 1 below lists relevant <strong>SMPP</strong> keys that can be used to configure your StoneGate SSL VPN setup. Table 2 on<br />
page 6 contains error codes.<br />
TABLE 1 <strong>SMPP</strong> Keys<br />
Key<br />
Used at<br />
Possible<br />
Values<br />
Default<br />
Value<br />
Description<br />
smpp-version<br />
Bind<br />
51 – 3.3<br />
52 – 3.4<br />
51<br />
This parameter is used to indicate the version of the <strong>SMPP</strong><br />
protocol. The following interface version values are defined, 0-<br />
51 (0x00-0x33) Indicates that the EMSE supports version 3.3<br />
or earlier of the <strong>SMPP</strong> protocol. 52 (0x34) Indicates that the<br />
ESME is supporting <strong>SMPP</strong> version 3.4<br />
smpp-timeout Connect Integer 10000<br />
Timeout used when trying to communicate with <strong>SMPP</strong> server.<br />
Defined in milliseconds.<br />
Introduction 3
TABLE 1 <strong>SMPP</strong> Keys (Continued)<br />
Key<br />
Used at<br />
Possible<br />
Values<br />
Default<br />
Value<br />
Description<br />
smpp-bindsystem-type<br />
Bind<br />
String<br />
The system_type parameter is used to categorize the type of<br />
ESME that is binding to the SMSC. Examples include “VMS”<br />
(voice mail system) and “OTA” (over-the-air activation system).<br />
Specification of the system_type is optional - some SMSCs<br />
may not require ESMEs to provide this detail. In this case, the<br />
ESME can set the system_type to NULL.<br />
smpp-bindaddr-ton<br />
Bind<br />
0 – Unknown<br />
1 – International<br />
2 – National<br />
3 – Network<br />
Specific<br />
4 – Subscriber<br />
Number<br />
5 –<br />
Alphanumeric<br />
6 - Abbreviated<br />
0<br />
Indicates Type of Number of the ESME address. If not known<br />
set to Unknown.<br />
smpp-bindaddr-npi<br />
Bind<br />
0 – Unknown<br />
1 – ISDN<br />
3 – Data<br />
4 – Telex<br />
6 – Land Mobile<br />
8 – National<br />
9 – Private<br />
10 – ERMES<br />
14 – Internet<br />
18 – WAP Client<br />
Id<br />
0<br />
Numbering Plan Indicator for ESME address. If not known set<br />
to Unknown.<br />
smpp-submitservice-type<br />
Submit<br />
String<br />
The service_type parameter can be used to indicate the SMS<br />
Application service associated with the message. “” (NULL)<br />
Default, “CMT” Cellular Messaging, “CPT” Cellular Paging,<br />
“VMN” Voice Mail Notification, “VMA” Voice Mail Alerting,<br />
“WAP” Wireless Application Protocol, “USSD” Unstructured<br />
Supplementary Services Data<br />
smpp-submitdest-addr-ton<br />
Submit<br />
0 – Unknown<br />
1 – International<br />
2 – National<br />
3 – Network<br />
Specific<br />
4 – Subscriber<br />
Number<br />
5 –<br />
Alphanumeric<br />
6 - Abbreviated<br />
1 Destination Address TON. Type of Number for destination.<br />
<strong>Configuring</strong> <strong>SMPP</strong> 4
TABLE 1 <strong>SMPP</strong> Keys (Continued)<br />
Key<br />
Used at<br />
Possible<br />
Values<br />
Default<br />
Value<br />
Description<br />
smpp-submitdest-addr-npi<br />
Submit<br />
0 – Unknown<br />
1 – ISDN<br />
3 – Data<br />
4 – Telex<br />
6 – Land Mobile<br />
8 – National<br />
9 – Private<br />
10 – ERMES<br />
14 – Internet<br />
18 – WAP Client<br />
Id<br />
0<br />
Destination Address NPI. Numbering Plan Indicator for<br />
destination.<br />
smpp-submitesm-class<br />
smpp-submitprotocol-id<br />
Submit Integer 0<br />
Submit Integer 0<br />
The esm_class parameter is used to indicate special<br />
message attributes associated with the short message.<br />
GSM: Set according to GSM 03.40 [GSM 03.40], ANSI-136<br />
(TDMA): For mobile terminated messages, this field is not<br />
used and is therefore ignored by the SMSC. For ANSI-136<br />
mobile originated messages, the SMSC should set this value<br />
to NULL. IS-95 (CDMA): For mobile terminated messages, this<br />
field is not used and is therefore ignored by the SMSC. For IS-<br />
95 mobile originated messages, the SMSC should set this<br />
value to NULL.<br />
smpp-submitsource-addrton<br />
Submit<br />
0 – Unknown<br />
1 – International<br />
2 – National<br />
3 – Network<br />
Specific<br />
4 – Subscriber<br />
Number<br />
5 –<br />
Alphanumeric<br />
6 - Abbreviated<br />
0<br />
Source Address TON. Type of Number for source address. If<br />
not known, set to 0 (Unknown).<br />
smpp-submitsource-addrnpi<br />
Submit<br />
0 – Unknown<br />
1 – ISDN<br />
3 – Data<br />
4 – Telex<br />
6 – Land Mobile<br />
8 – National<br />
9 – Private<br />
10 – ERMES<br />
14 – Internet<br />
18 – WAP Client<br />
Id<br />
0<br />
Source Address NPI. Numbering Plan Indicator for source<br />
address. If not known, set to 0 (Unknown).<br />
smpp-submitsource-addr<br />
Submit<br />
Specifies the address of SME which originated this message.<br />
An ESME which is implemented as a single SME address, may<br />
set this field to NULL to allow the SMSC to default the source<br />
address of the submitted message.<br />
<strong>Configuring</strong> <strong>SMPP</strong> 5
TABLE 1 <strong>SMPP</strong> Keys (Continued)<br />
Key<br />
Used at<br />
Possible<br />
Values<br />
Default<br />
Value<br />
Description<br />
smpp-submitdata-coding<br />
smpp-submitdata-charset<br />
Submit Integer 3<br />
Submit String ISO8859-1<br />
Encoding of data according the <strong>SMPP</strong> 3.4 specification,<br />
section 5.2.19. Example data encodings are “SMSC Default<br />
Alphabet” (0), IA5/ASCII (1), Octet unspecified (2), Latin 1/<br />
ISO-8859-1 (3), Cyrllic/ISO-8859-5 (6), Latin/Hebrew/ISO-<br />
8859-8 (7).<br />
Character set to use in conjunction with Data Coding when<br />
converting from Unicode to output format.<br />
TABLE 2 <strong>SMPP</strong> Error Codes<br />
Error Error Code Description<br />
ESME_ROK 0x00000000 No Error<br />
ESME_RINVMSGLEN 0x00000001 Message Length is invalid<br />
ESME_RINVCMDLEN 0x00000002 Command Length is invalid<br />
ESME_RINVCMDID 0x00000003 Invalid Command ID<br />
ESME_RINVBNDSTS 0x00000004 Incorrect BIND Status for given command<br />
ESME_RALYBND 0x00000005 ESME Already in Bound State<br />
ESME_RINVPRTFLG 0x00000006 Invalid Priority Flag<br />
ESME_RINVREGDLVFLG 0x00000007 Invalid Registered Delivery Flag<br />
ESME_RSYSERR 0x00000008 System Error<br />
Reserved 0x00000009 Reserved<br />
ESME_RINVSRCADR 0x0000000A Invalid Source Address<br />
ESME_RINVDSTADR 0x0000000B Invalid Dest Addr<br />
ESME_RINVMSGID 0x0000000C Message ID is invalid<br />
ESME_RBINDFAIL 0x0000000D Bind Failed<br />
ESME_RINVPASWD 0x0000000E Invalid Password<br />
ESME_RINVSYSID 0x0000000F Invalid System ID<br />
Reserved 0x00000010 Reserved<br />
ESME_RCANCELFAIL 0x00000011 Cancel SM Failed<br />
Reserved 0x00000012 Reserved<br />
ESME_RREPLACEFAIL 0x00000013 Replace SM Failed<br />
ESME_RMSGQFUL 0x00000014 Message Queue Full<br />
ESME_RINVSERTYP 0x00000015 Invalid Service Type<br />
Reserved 0x00000016-0x00000032 Reserved<br />
ESME_RINVNUMDESTS 0x00000033 Invalid number of destinations<br />
<strong>Configuring</strong> <strong>SMPP</strong> 6
TABLE 2 <strong>SMPP</strong> Error Codes (Continued)<br />
Error Error Code Description<br />
ESME_RINVDLNAME 0x00000034 Invalid Distribution List name<br />
Reserved 0x00000035-0x0000003F Reserved<br />
ESME_RINVDESTFLAG 0x00000040 Destination flag is invalid (submit_multi)<br />
Reserved 0x00000041 Reserved<br />
ESME_RINVSUBREP<br />
0x00000042<br />
Invalid ‘submit with replace’ request (i.e.<br />
submit_sm with replace_if_present_flag set)<br />
ESME_RINVESMCLASS 0x00000043 Invalid esm_class field data<br />
ESME_RCNTSUBDL 0x00000044 Cannot Submit to Distribution List<br />
ESME_RSUBMITFAIL 0x00000045 submit_sm or submit_multi failed<br />
Reserved 0x00000046-0x00000047 Reserved<br />
ESME_RINVSRCTON 0x00000048 Invalid Source address TON<br />
ESME_RINVSRCNPI 0x00000049 Invalid Source address NPI<br />
ESME_RINVDSTTON 0x00000050 Invalid Destination address TON<br />
ESME_RINVDSTNPI 0x00000051 Invalid Destination address NPI<br />
Reserved 0x00000052 Reserved<br />
ESME_RINVSYSTYP 0x00000053 Invalid system_type field<br />
ESME_RINVREPFLAG 0x00000054 Invalid replace_if_present flag<br />
ESME_RINVNUMMSGS 0x00000055 Invalid number of messages<br />
Reserved 0x00000056-0x00000057 Reserved<br />
ESME_RTHROTTLED<br />
0x00000058<br />
Throttling error (ESME has exceeded allowed<br />
message limits)<br />
Reserved 0x00000059-0x00000060 Reserved<br />
ESME_RINVSCHED 0x00000061 Invalid Scheduled Delivery Time<br />
ESME_RINVEXPIRY 0x00000062 Invalid message validity period (Expiry time)<br />
ESME_RINVDFTMSGID 0x00000063 Predefined Message Invalid or Not Found<br />
ESME_RX_T_APPN 0x00000064 ESME Receiver Temporary App Error Code<br />
ESME_RX_P_APPN 0x00000065 ESME Receiver Permanent App Error Code<br />
ESME_RX_R_APPN 0x00000066 ESME Receiver Reject Message Error Code<br />
ESME_RQUERYFAIL 0x00000067 query_sm request failed<br />
Reserved 0x00000068-0x000000BF Reserved<br />
ESME_RINVOPTPARSTREAM 0x000000C0 Error in the optional part of the PDU Body.<br />
ESME_ROPTPARNOTALLWD 0x000000C1 Optional Parameter not allowed<br />
ESME_RINVPARLEN 0x000000C2 Invalid Parameter Length.<br />
ESME_RMISSINGOPTPARAM 0x000000C3 Expected Optional Parameter missing<br />
<strong>Configuring</strong> <strong>SMPP</strong> 7
TABLE 2 <strong>SMPP</strong> Error Codes (Continued)<br />
Error Error Code Description<br />
ESME_RINVOPTPARAMVAL 0x000000C4 Invalid Optional Parameter Value<br />
Reserved 0x000000C5-0x000000FD Reserved<br />
ESME_RDELIVERYFAILURE 0x000000FE Delivery Failure (used for data_sm_resp)<br />
ESME_RUNKNOWNERR 0x000000FF Unknown Error<br />
Reserved for <strong>SMPP</strong> extension 0x00000100-0x000003FF Reserved for <strong>SMPP</strong> extension<br />
Reserved for SMSC vendor specific errors 0x00000400-0x000004FF Reserved for SMSC vendor specific errors<br />
Reserved 0x00000500-0xFFFFFFFF Reserved<br />
Troubleshooting<br />
To see what packets are sent to and received from the <strong>SMPP</strong> gateway, enable debug logging (Monitor System/<br />
Logging/Manage Global Logging Settings…/Enable debug logging) and search the debug log for “<strong>SMPP</strong>”.<br />
When an error occurs during communication the System log may echo something like: “<strong>SMPP</strong> command failed with<br />
error code 0xd”. The error codes are explained in the <strong>SMPP</strong> Error Codes table above.<br />
Feedback<br />
<strong>Stonesoft</strong> is always interested in feedback from our users.<br />
• For comments regarding <strong>Stonesoft</strong>’s products, contact feedback@stonesoft.com.<br />
• For comments regarding this technical note, contact documentation@stonesoft.com.<br />
Troubleshooting 8
Trademarks and Patents<br />
<strong>Stonesoft</strong>, the <strong>Stonesoft</strong> logo and StoneGate are all trademarks or registered trademarks of <strong>Stonesoft</strong> Corporation. Multi-link<br />
technology, multi-link VPN, and the StoneGate clustering technology-as well as other technologies included in StoneGate-are protected<br />
by patents or pending patent applications in the U.S. and other countries. All other trademarks or registered trademarks<br />
are property of their respective owners.<br />
SSL VPN Powered by PortWise<br />
Copyright and Disclaimer<br />
Copyright © 2000–2007 <strong>Stonesoft</strong> Corporation. All rights reserved.<br />
These materials, <strong>Stonesoft</strong> products and related documentation are protected by copyright and other laws, international treaties<br />
and conventions. All rights, title and interest in the materials, <strong>Stonesoft</strong> products and related documentation shall remain with<br />
<strong>Stonesoft</strong> and its licensors. All registered or unregistered trademarks in these materials are the sole property of their respective<br />
owners. No part of this document or related <strong>Stonesoft</strong> products may be reproduced in any form, or by any means without written<br />
authorization of <strong>Stonesoft</strong> Corporation.<br />
<strong>Stonesoft</strong> provides these materials for informational purposes only. They are subject to change without notice and do not represent<br />
a commitment on the part of <strong>Stonesoft</strong>. <strong>Stonesoft</strong> assumes no liability for any errors or inaccuracies that may appear in<br />
these materials or for incompatibility between different hardware components, required BIOS settings, NIC drivers, or any NIC<br />
configuration issues. Use these materials at your own risk. <strong>Stonesoft</strong> does not warrant or endorse any third party products<br />
described herein.<br />
THESE MATERIALS ARE PROVIDED "AS-IS." STONESOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO, THE INFORMA-<br />
TION CONTAINED HEREIN. IN ADDITION, STONESOFT MAKES NO EXPRESS OR IMPLIED WARRANTIES OF MERCHANTABILITY OR<br />
FITNESS FOR A PARTICULAR PURPOSE OR USE WITH RESPECT THE INFORMATION CONTAINED IN THESE MATERIALS.<br />
IN NO EVENT SHALL STONESOFT BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, INCLUD-<br />
ING, BUT NOT LIMITED TO, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING FROM THE USE OF THESE MATERIALS, EVEN<br />
IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.<br />
SG_SVTN_2084_20070625<br />
www.stonesoft.com<br />
<strong>Stonesoft</strong> Corp.<br />
Itälahdenkatu 22a<br />
FIN-00210 Helsinki<br />
Finland<br />
tel. +358 9 4767 11<br />
fax +358 9 4767 1234<br />
<strong>Stonesoft</strong> Inc.<br />
1050 Crown Pointe Parkway<br />
Suite 900<br />
Atlanta, GA 30338 USA<br />
tel. +1 770 668 1125<br />
fax +1 770 668 1131<br />
9