Hi list,

in cases where the validity time is set via the sendsms HTTP interface (in minutes), and the MT message is not directly disposed to an SMSC, i.e. since the target smsc-id is in "re-connecting" state, we would
cycle the message inside the sms_router() loop constantly UNTIL the
SMSC gets available again, and then send it to the SMSC, leaving it
to take care about the validity time.

This is semantically wrong, since we can timeout the message while
re-cycling inside the sms_router() loop on our own, avoiding to send
a message to the SMSC which hasn't any validity time anyway.

We now do a quick check on the validity every time we enter smsc2_rout() to ensure we're "still valid" to route the message to a lower SMSC module layer. If not, then the message gets DISCARDED and an corresponding DLR SMSC FAIL event is escalated.

The following ChangeSet has been applied to the SVN trunk:

2013-12-28  Stipe Tolj  <stolj at kannel.org>
    * gw/bb_[boxc|smscconn].c: handle new SMSCCONN_FAILED_TIMEOUT case as
return value of smsc2_rout(), which now checks internally if the message is still valid according to the validity timestamp. If not, i.e. since there was a continues looping in sms_router() since no SMSC was available for a particular time, it makes no sense to shift the message to the SMSC since the validity has expired. In that case semantically it is cleaner to DISCARD the message in the bearerbox scope directly, and avoid sending
      the message to the upstream SMSC with a logically expired validity.
* gw/bb_smscconn_cb.h: add SMSCCONN_FAILED_TIMEOUT enum value to indicate that the validity time fo the message expired while trying to route it.

Stipe

--
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany

tolj.org system architecture      Kannel Software Foundation (KSF)
http://www.tolj.org/              http://www.kannel.org/

mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------

Reply via email to