[PATCH] validity period check (internal)

Stipe Tolj <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Kannel Software Foundation (KSF)
Message-ID <[email protected]>
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
-------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.