I recently had a painful time with a client figuring out the missing DLRs.
SMSC trace showed that DLR was sent back, but nothing used to appear in my
logs. I pinned it down to the problem of multiple sessions with same ESME.
The submit_rsm_resp DOES NOT ALWAYS come back from the same channel. When
it doesn't, it does not appear in the logs (although kannel does receive it
but discards it due to mismatch). I figured this out after taking multiple
tcpdump traces.

On Wed, Feb 4, 2015 at 2:43 PM, Aristotelis Metsinis <
aristotelis.metsi...@gmail.com> wrote:

> Let us assume that an ESME has established 10 trx (or tx) binds (tcp
> connections/sessions) and submits a "submit_sm" PDU over one of those 10
> binds.
>
> Can we assume that the corresponding "submit_sm-resp" PDU "arrives" over
> the same trx (tx) bind; that is over the same tcp stream
> (connection/session) ?
>
> I believe that this is correct. For example, an ESME may "reuse" sequence
> numbers across all binds. That is, ESME may submit a "submit_sm" PDU over
> bind-1 with sequence number "123". In "parallel", this ESME may also submit
> another "submit_sm" over bind-2 with the same sequence number "123". So, if
> we assume that "submit_sm-resp" does not "arrive" over the same bind -
> stream, then there is no way to correlate request /response. So, the
> response must "arrive" over the same bind (tcp session/connection). A "DLR"
> may of course "arrive" over any of the established sessions - the same or a
> different one.
>

Reply via email to