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:
Message Status (SMS Failure Log):
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With