28.08.2014 Views

Configuring SMPP - Stonesoft

Configuring SMPP - Stonesoft

Configuring SMPP - Stonesoft

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!