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
<smpp:consumer service="test:service" endpoint="endpoint" host="smpp.example.com" port="2700" systemId="user" password="passwd"/>
<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. The XML message looks like:
<message> <source>SOURCE_PHONE_NUMBER</source> <destination>DESTINATION_PHONE_NUMBER</destination> <text>MESSAGE_CONTENT</text> <npi>NATIONAL_PREFIX_INDICATOR</npi> <ton>TYPE_OF_NUMBER</ton> </message>
If you want to manipulate different format, you need to define your own marshaler.
<?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>