Search code examples
wso2wso2-esbwso2-enterprise-integratorsmppjsmpp

SMS is not received to mobile in SMPP Connector - WSO2 EI 6.5.0


I am using WSO2 SMPP Connector to send SMS to mobile number in WSO2 EI 6.5.0

Pre-requisites:

Setup done by using the same steps mentioned here

  • I just placed jsmpp-2.1.0-RELEASE.jar into <PRODUCT_HOME>/lib
  • logica-smpp-sim simulator set up done and it is running with the port 10003 in windows 10

API:

    <?xml version="1.0" encoding="UTF-8"?>
<api context="/send" name="SmppTestApi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST">
        <inSequence>
            <property expression="json-eval($.distinationAddress)" name="distinationAddress" scope="default" type="STRING"/>
            <property expression="json-eval($.message)" name="message" scope="default" type="STRING"/>
            <property expression="json-eval($.sourceAddress)" name="sourceAddress" scope="default" type="STRING"/>
            <SMPP.init>
                <host>localhost</host>
                <port>10003</port>
                <systemId>justin</systemId>
                <password>justin</password>
                <systemType>UNKNOWN</systemType>
                <addressTon>UNKNOWN</addressTon>
                <addressNpi>UNKNOWN</addressNpi>
            </SMPP.init>
            <SMPP.sendSMS>
                <sourceAddress>{$ctx:sourceAddress}</sourceAddress>
                <distinationAddress>{$ctx:distinationAddress}</distinationAddress>
                <message>{$ctx:message}</message>
            </SMPP.sendSMS>
            <log level="full">
                <property name="Message delivered sucessfully" value="Message delivered sucessfully"/>
            </log>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </resource>
</api>

When I hit API , it is giving proper response as mentioned here

Postman:

API Hit

Logica-sim log:

    03:16:07 [justin] client request: (submit: (pdu: 108 4 0 3) (addr: 0 0 16111)  (addr: 0 0 919047878787)  (sm: msg: Hi! This is the first test SMS message.)  (opt: ) )
03:16:07 [justin] putting message into message store
03:16:07 [justin] server response: (submit_resp: (pdu: 0 80000004 0 3) Smsc2002 )

WSO2 EI Log:

[2022-10-18 15:16:07,349] []  INFO - LogMediator To: /send, MessageID: urn:uuid:052d3fb7-1762-4323-bea1-5302ddc93d36 correlation_id : e5990fb5-fd97-45d2-b971-878d2471d9e5, Direction: request, Message delivered sucessfully = Message delivered sucessfully, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:messageId xmlns:ns="http://org.wso2.esbconnectors.smppConnector">Smsc2002</ns:messageId></soapenv:Body></soapenv:Envelope>

Note: I passed valid Indian Mobile number in the input request field (ie "distinationAddress")

I think SMS is stored in SMSC, But SMPP inbound endpoint will consume SMS from SMSC and send that to WSO2 EI Sequence.

I just want to understand in which stage SMS will send to corresponding mobile number which we passed in API Request.

Even though Received proper response SMS is not received to mentioned mobile.

Do I need to make any other configuration in API SMPP init level to send SMS? Kindly clarify on this.


Solution

  • The document you pointed out has this.

    For testing purposes, it is not practical always to connect with a real SMSC. SMSC Simulator is an application that can act like an SMSC. Using a simulator we can test our scenario without having access to a real SMSC. For the real production servers we have to use a real SMSC. In this example scenario we will be using logica-smpp-sim simulator.

    According to the above logica-smpp-sim is just a simulator, which is used to mimic an actual SMSC for testing. So I don't think it would send SMSs. You may have to connect to a real/production grade SMSC/SMPP Provider or an SMS Gateway if you want to send SMS. You can read more about the SMPP protocol and available Gateways from here.