Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The SMPP inbound endpoint allows you to consume messages from SMSC via WSO2 ESB.

...

  1. Go to https://store.wso2.com/store/assets/esbconnector/details/1f5ca0e2-3fe0-42e5-ae9b-05af1f8e361b and click Download Streaming Connector to download org.apache.synapse.smpp.listen.class-1.0.01.jar and copy inside <ESB_HOME>/repository/components/dropins directory. Please delete old smpp jar, if you have already added.
  2. Download  jsmpp-2.1.0-RELEASE.jar from http://central.maven.org/maven2/com/googlecode/jsmpp/jsmpp/2.1.0-RELEASE/ and copy inside <ESB_HOME>/repository/components/lib directory.
  3. Download asyncretry-jdk7-0.0.6.jar from https://mvnrepository.com/artifact/com.nurkiewicz.asyncretry/asyncretry-jdk7/0.0.6 and copy inside <ESB_HOME>/repository/components/lib directory.

...

Code Block
languagexml
titleSequence
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="request" onError="fault">
   <log level="custom">
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="MessageId"
                expression="get-property('SMPP_MessageId')"/>
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="SourceAddress"
                expression="get-property('SMPP_SourceAddress')"/>
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="DataCoding"
                expression="get-property('SMPP_DataCoding')"/>
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="ScheduleDeliveryTime"
                expression="get-property('SMPP_ScheduleDeliveryTime')"/>
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="SequenceNumber"
                expression="get-property('SMPP_SequenceNumber')"/>
      <property xmlns:ns="http://org.apache.synapse/xsd"
                name="ServiceType"
                expression="get-property('SMPP_ServiceType')"/>
   </log>
   <log level="full"/>
</sequencesequence>
ParameterDescriptionRequiredPossible ValuesDefault Value

host

 IP address of the SMSC.

yes

N/A

N/A

port

Port to access the SMSC.

yes

N/AN/A
systemType

Identifies the type of ESME system requesting to bind as a receiver with the SMSC.

yes

"" - (NULL)

CMT - Cellular Messaging

CPT - Cellular Paging

VMN - Voice Mail Notification

VMA - Voice Mail Alerting

WAP - Wireless Application Protocol

USSD - Unstructured Supplementary Services Data

"" - (NULL)
systemId
Identifies the ESME system requesting to bind as a receiver
 with the SMSC.
 yes N/A N/A
password
The password may be used by the SMSC to authenticate 
the ESME requesting to bind.
yesN/A

N/A

addressNpi

Numbering Plan Indicator for ESME address.

yes

Unknown

ISDN (E163/E164)
Data (X.121)
Telex (F.69)

Land Mobile (E.212)

National
Private
ERMES

Internet (IP)

WAP Client Id (to be defined by WAP Forum)

N/A
 addressTon

Indicates Type of Number of the ESME address.

yes

Unknown

International
National
Network Specific

Subscriber Number

 Alphanumeric
Abbreviated

N/A
bindType

An ESME bound as a Receiver or Transceiver is authorised to receive

short messages from the SMSC.

yesBIND_RX
BIND_TRX
N/A
addressRange

A single ESME address or a range of ESME addresses served

via this SMPP receiver session.

NoN/Anull
enquireLinktimer

Used to check whether SMSC is connected or not.

NoN/A10000
transactiontimer

Time elapsed between SMPP request and the corresponding response.

NoN/A200
reconnectInterval

The Initial retry interval to reconnect with the SMSC while SMSC is not available.

NoN/A3000ms
retryCount

The no of times need to retry to connect with SMSC, while

connection with the SMSC is closed. If you want to retry forever, give the retry count value as less than 0.

NoN/A5
exponentialFactor

Start with Initial reconnectInterval delay until first retry attempt is made but if that one
fails, we should wait (reconnectInterval * exponentialFactor) times more. For example

let’s say we start with exponentialFactor 2 and 100ms delay until first retry attempt is

made but if that one fails as well, we should wait two times more (200ms). And later 400ms, 800ms…

NoN/A5
maximumBackoffTime
The above one is an exponential function that can grow very fast. Thus it’s useful to set maximum backoff time at some reasonable level, e.g. 10 seconds:NoN/A

10000ms

...