Hi,
We would like to send the DeliverSmResp message asynchronously ie. after the DeliverSmEventHandler has returned (in case we cannot process the DeliverSm right now due to application state, ie external system not available). Is there a way to do this ?
Or is the correct way of handling the event throwing an exception if for some reason the delivery receipt cannot be processed at this time and this causes the DeliverSm to be resent by the SMSC ?
Thanks,
Stefan
Sending DeliverSmResp asynchronously
Re: Sending DeliverSmResp asynchronously
Hi Stefan,
I explain how library reacts on evDeliverSm event handler errors.
If handler throws exception, it sends ESME_RSYSERR response status
if handler is not attached to the event, it sends ESME_RDELIVERYFAILURE
You can set any status for data.Response.Status property and library sends DeliverSmResp with this status to SMSC.
When you set data.Response = null, library sends nothing. But there is no ability to send only response.
It would also be a good solution, if SMSC supported response status, that tells him to repeat DeliverSm in some time. Please ask your provider about it.
I would receive DeliverSm PDU and save it to file or database or send to some message broker. When external system is started again, it can take saved PDUs and process them.
I explain how library reacts on evDeliverSm event handler errors.
If handler throws exception, it sends ESME_RSYSERR response status
if handler is not attached to the event, it sends ESME_RDELIVERYFAILURE
You can set any status for data.Response.Status property and library sends DeliverSmResp with this status to SMSC.
When you set data.Response = null, library sends nothing. But there is no ability to send only response.
It would also be a good solution, if SMSC supported response status, that tells him to repeat DeliverSm in some time. Please ask your provider about it.
I would receive DeliverSm PDU and save it to file or database or send to some message broker. When external system is started again, it can take saved PDUs and process them.