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 id1-1576xx
dst447xxx, type1
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