Output SMS event adapter is used to send message notifications via Short Message Peer-to-Peer Protocol (SMPP). It uses Axis2 SMS events when sending SMSs from WSO2 products. SMPP allows Axis2 to connect to a Short Messaging Service Center (SMSC) and send/receive SMSs. SMS event adapter can be configured with XML, text, and JSON output mappings.
Configuring SMS sender
Before the configuration starts, follow the steps below to configure the SMS sender.
Edit
systemId
,password
, and other relevant properties of SMS sender configuration in<PRODUCT_HOME>/repository/conf/axis2/axis2_client.xml
file. For example,
<axisconfig name="AxisJava2.0"> ... <transportSender class="org.apache.axis2.transport.sms.SMSSender" name="sms"> <parameter name="systemType"></parameter> <parameter name="systemId">cep1</parameter> <parameter name="password">cep123</parameter> <parameter name="host">localhost</parameter> <parameter name="port">2775</parameter> <parameter name="phoneNumber">CEP1</parameter> </transportSender> ... </axisconfig>
Copy following libraries to
<PRODUCT_HOME>/repository/components/lib/
directory.
Configuring output SMS event adapter
You can configure output SMS event adapter using the management console or using a configuration file.
Configure using the management console
Follow the instructions below to configure output SMS event adapter using the management console. This deploys the event adapter in the <PRODUCT_HOME>
/
repository/
deployment/
server/out
puteventadaptors/
directory.
- Log in to product's management console, and click Configure.
- Click Output Event Adaptors in the Event Processor Configs menu, and then click Add Output Event Adaptor.
Enter
outputSMSAdaptor
for Event Adaptor Name, and selectsms
for Event Adaptor Type as shown below.- Click Add Event Adaptor.
Configure using a configuration file
Follow the instructions below to configure output SMS event adapter using a configuration file.
Create an XML file with the following output SMS event adapter configurations. Output event adapter implementation must start with
<outputEventAdaptor>
as the root element.<outputEventAdaptor name="outputSMSAdaptor" type="sms" xmlns="http://wso2.org/carbon/eventadaptormanager"/>
- Add the XML file to the
<PRODUCT_HOME>/repository/deployment/server/outputeventadaptors/
directory. Since hot deployment is supported in the product, you can simply add/remove output event adapter configuration files to deploy/undeploy output event adapters to/from the server.
After an adapter is successfully added, it gets added to the list of adapters displayed under Event Processor Configs in the Configure menu of the product's management console. Click Edit to change its configuration and redeploy it. This opens an XML-based editor allowing you to edit the event adapter configurations from the UI. Do your modifications and click Update. You can also delete it, enable/disable statistics or enable/disable tracing on it using the provided options in the UI.
Other post configurations that use SMS event adapter
Follow the instructions below to set up and configure SMCC server to receive messages. This example uses Logica SMSC simulator.
Navigate to SMSC Simulator directory, and add the following name-value pairs to
users.txt
file. (The folder must also containsmpp.jar
andsmscsim.jar
files.)name=cep1 (Note that name is the systemId parameter defined in the SMS transport sender configuration) password=cep123 timeout=unlimited
- Start SMSC Simulator by executing the following command:
java -cp smpp.jar:smscsim.jar com.logica.smscsim.Simulator
- In the console where the command runs:
- Enter 1 for the prompt to start simulation.
Enter 2775 as the port number (this port is equal to the port defined in the SMS transport sender configuration.)
Starting listener... started
log is displayed on the console, the SMSC simulator is ready to accept messages.
Configuring output SMS event adapter message properties
Property | Description |
---|---|
Phone No | Phone number of the SMS receiver. |
Output Event Type | The outgoing event type to be mapped. The output SMS event adapter supports text, XML, and JSON mappings. |