oracle-databasesmppoimoracle-soaoracle-enterprise-manager

Triggered SMS through SOA/UMS not getting Sender Address from sdpmessagingdriver-smpp driver configuration settings


DESCRIPTION:

After some investigation we found that Sender Address in submit_sm request is null, which is causing issue "Invalid Source Address". Now question arises that why Sender Address is blank in submit request when it is already configured in SMPP driver configuration settings? Do we need to configure Sender Address somewhere else? Is there any configuration file to configure this setting?

REFERENCE SCREENSHOTS:

SMPP Driver Specific Configuration:

enter image description here

Message Status (SMS Failure Log):

enter image description here

Backend Error Log:

[2017-10-17T10:33:16.806+05:30] [WLS_SOA] [ERROR] [SDP-25700] [oracle.sdp.messaging.driver.smpp] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: OracleSystemUser] [ecid: 49d20b62a8084325:-5336381e:15f247fea2f:-8000-000000000001c322,0] [APP: usermessagingdriver-smpp] An unexpected exception was caught.[[ oracle.sdp.messaging.driver.DriverException: Invalid Source Address[a] at oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:1073) at oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:3268) at oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:2849) at oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:2724) at oracle.sdpinternal.messaging.driver.smpp.SMPPManagedConnection.send(SMPPManagedConnection.java:95) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.GeneratedMethodAccessor1629.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy532.onMessage(Unknown Source) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean_xfokw2_MDOImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.MDOMethodInvoker.invoke(MDOMethodInvoker.java:35) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean_xfokw2_MDOImpl.onMessage(Unknown Source) at oracle.sdpinternal.messaging.jmsmessagereceiver.ResourceAdapterImpl$RaMessageListener.onMessage(ResourceAdapterImpl.java:167) at oracle.sdpinternal.messaging.jms.QueueWorker.run(QueueWorker.java:73) at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184) at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30) ]] [2017-10-17T10:33:16.807+05:30] [WLS_SOA] [NOTIFICATION] [SDP-26003] [oracle.sdp.messaging.driver.dispatcher] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: OracleSystemUser] [ecid: 49d20b62a8084325:-5336381e:15f247fea2f:-8000-000000000001c322,0] [APP: usermessagingdriver-smpp] Dispatcher sent message with id: eb50c4cdc0a800ab12d5fbbdbbbbd46a.


Solution

  • We figured out and resolved this issue. Posting its resolution here. May be it can help someone other and save their precious time.

    SMPP driver configured in Oracle EM console has a bug due to which Source address and Default source address are always null even if you pass it from driver configurations.

    It was due to multiple Source Address at SMSC and our system was passing null value in Source Address field. Due to this SMSC was not able to recognize correct source address and throw "Invalid Source Address" exception.

    If single/static source address is configured at SMSC then you can pass null values and SMSC will automatically recognize source address.