Sending DeliverSmResp asynchronously

.NET library for SMPP protocol
Locked
striemer
Posts: 6
Joined: Mon Feb 27, 2017 7:03 am

Sending DeliverSmResp asynchronously

Post by striemer » Fri Apr 13, 2018 6:15 am

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
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Sending DeliverSmResp asynchronously

Post by alt » Fri Apr 13, 2018 11:05 am

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.
Locked