||
Skip to end of metadata
Go to start of metadata

SMS event publisher 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 publisher can be configured with XML, text, and JSON output mappings.

Prerequisites

Follow the steps below to complete the prerequisites before starting the event publisher configurations.

  1. Add the following configuration under transport senders section in the <PRODUCT_HOME>/repository/conf/axis2/axis2_client.xml file, to enable SMS Transport .

    <axisconfigname="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>
  2. Configure WSO2 CEP by adding relevant jars to support SMS transport.

Creating a SMS event publisher

For instructions on creating a SMS event publisher, see Configuring CEP to Create Alerts.

Configuring adapter properties

Specify the Dynamic Adapter Properties, when creating a SMS event publisher using the management console as shown below.

SMS event publisher

After entering the above adapter properties, select the Message Format that you want to apply on the published events. Also, click Advanced to define custom output mappings based on the Message Format you selected. For more information on custom output mapping types, see Output Mapping Types.

You can also d efine the respective adapter properties of the event publisher based on the transport type within the  <to>  element of the event publisher configuration in the <PRODUCT_HOME>/repository/deployment/server/eventpublishers/ directory as follows.

<eventPublisher name="SMSOutputEventAdapter" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventpublisher">
  .........
  <to eventAdapterType="sms">
    <property name="sms.no">0716453453</property>
  </to>
</eventPublisher>

The above adapter properties are described below.

Adapter Property
Description
Configuration file propertyExample

Phone No

Phone number of the SMS receiver in the following format: [country-code][number]

sms.no

0716453453

Other post configurations that use SMS event publisher

Follow the instructions below to set up and configure a SMSC Simulator to receive messages. This guide uses Logica SMSC simulator.

  1. Navigate to SMSC Simulator directory. The folder must contain following three files.
    smpp.jar
    smscsim.jar
    users.txt
  2. Add the following name-value pairs to users.txt file. 

    Enter the value of the  systemId   parameter defined in the above SMS transport sender configuration as the value of the  name  parameter in the below list.

    name=cep1 
    password=cep123
    timeout=unlimited
  3. Start SMSC Simulator by executing the following command:
    java -cp smpp.jar:smscsim.jar com.logica.smscsim.Simulator
  4. 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.)

    When the Starting listener... started log is displayed on the console, the SMSC simulator is ready to accept messages as shown below

Related samples

For more information on sms event publisher type, see the following sample.

  • No labels