ServiceMix SMPP

The ServiceMix SMPP component provides support for receiving and sending SMS using the SMPP protocol via the enterprise service bus. It uses the jSMPP library.

Availability

Note that this component is now available only in snapshot, not yet included in a ServiceMix release.

Installation

Simply drop the servicemix-smpp installer zip in an hotdeploy directory monitored by ServiceMix.

Endpoints

Consumer Endpoint
<smpp:consumer service="test:service"
               endpoint="endpoint"
               host="smpp.example.com"
               port="2700"
               systemId="user"
               password="passwd"/>
Provider Endpoint
<smpp:provider service="test:service"
               endpoint="endpoint"
               host="smpp.example.com"
               port="2700"
               systemId="user"
               password="passwd"/>
Consumer endpoint attributes
Name Type Description Default
service QName the service name of the endpoint require to be spec'd
endpoint string the endpoint name of the endpoint require to be spec'd
targetService  QName the service name of the target endpoint  
targetEndpoint string the endpoint name of the target endpoint  
host string the SMPP server hostname/IP require to be spec'd
port int the SMPP server port number 2700
systemId string the SMPP user system ID require to be spec'd
password string the SMPP user password require to be spec'd
marshaler class org.apache.servicemix.smpp.marshaler.SmppMarshalerSupport  DefaultSmppMarshaler

 
 

Provider endpoint attributes
Name Type Description Default
service QName the service name of the endpoint require to be spec'd
endpoint string the endpoint name of the endpoint require to be spec'd
targetService QName the service name of the target endpoint  
targetEndpoint string the endpoint name of the target endpoint  
host string the SMPP server hostname/IP require to be spec'd
port int the SMPP server port number 2700
systemId string the SMPP user system ID require to be spec'd
password string the SMPP user password require to be spec'd
marshaler class org.apache.servicemix.smpp.marshaler.SmppMarshalerSupport DefaultSmppMarshaler

Marshalers

By default, SMPP endpoints expect (and generate) the content of the message in XML format.

If you want to manipulate different format, you need to define your own marshaler.

SMPP marshaler example
<?xml version="1.0"?>
<beans xmlns:smpp="http://servicemix.apache.org/smpp/1.0"
       xmlns:test="http://test">

  <smpp:consumer service="test:smpp"
                 endpoint="endpoint"
                 host="smpp.example.com"
                 port="2700"
                 systemId="test"
                 password="test">
    <property name="marshaler">
       <bean class="org.apache.servicemix.smpp.marshaler.OtherSmppMarshaler"/>
    </property>    
  </smpp:consumer>

</beans>