Dave,

I had this problem somewhile back myself (Oct 2006 ) :-

http://www.nabble.com/Interesting-issue-with-DLRs- td6851347.html#a6923001

Anyway, I wrote a patch and have had no problems since. There were 2 different issues, one is the one you suggest, where it can come in a lot later, the other was because of the 2 different threads that process the TX & RX. My patch fixes them both.

Your more than welcome to the patch, but as I had already applied another patch I wrote to allow multiple SMSCs to be grouped (I had a situation where I had 3 SMSC connections, and the DLR could come back from a different on that I submitted to) you will either need to apply that patch as well, or fiddle a bit with it.

The smsc dlr group thing was discussed here, the patch never got committed though for some reason :-

http://www.nabble.com/Multiple-SMSCs-and-a-DLR-group- td8655999.html#a8655999

I think the reason I didn't submit the DLR delay fix patch was because the DLR group patch did not get committed, and I did not have time to take out the first patches bits to create the clean patch against CVS head.

Email me directly if you want the 2 patch files.

Regards

Ben

On 12 Mar 2008, at 12:58, SMPP User wrote:

Hi,

Before I go re-inventing the wheel, I would like to ask the group if anyone has come across the situation I find myself with.

Under high load situations, say I'm sending 1500 messages out on an SMPP bind, I find that there is a delay in receiving the submit_sm_resp from the SMSC, which contains the msgid. This delay can be considerable (15 seconds not uncommon). Meanwhile on my rx bind, I can receive the deliver_sm indicating successful delivery (or failure).

Throughput is set to 20 on 2 identical binds, so I should be getting through 40 msgs per second. (i'm not getting close to 40/ sec, but that will be the subject of a later email)

As the submit_sm_resp has not yet arrived, no entry has been made in the dlr database (I'm using mysql, but I don't think that's relevant to this problem), poor old bb_store has no record of having sent the message, and, therefore, has no interest in the dlr, and dumps it. In the log, it says: 2008-03-12 10:21:02 [2264] [14] ERROR: SMPP[smppbind4]: got DLR but could not find message or was not interested in it id<1-1576xxxxxx> dst<447xxxxxxx>, type<1>

Unless I'm missing something obvious, it looks like I will need to patch my code (using CVS-20080301), and setup a second table in my dlr database to hold any orphaned DLRs, then, and I dread adding this overhead, I will have to check this orphan table everytime I get a submit_sm_resp. Or I may opt for an external process to marry the orphans with the correct parents, and process the rogue dlr's in this manner.

Any thoughts would be much appreciated.

Dave


Reply via email to