RE: Validity perdiod

"Rene Kluwen" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
In sqlbox, two different things happen.

 

1.       Select rows from send_sms and send them to bearerbox (with validity
in minutes)

2.       Relay rows from smsbox to bearerbox and store them in sent_sms on
the fly. These messages have been processed by smsbox already and should not
be reprocessed.

 

I am not sure what exactly you did because I don't have time to look at the
code now. But something is going very wrong here. Even without using sqlbox
we are getting invalid validity_period fields in smsc_smpp.

 

On a side note, I see now that opensmppbox never sends a validity field to
its connected entity, now I look at it. But that's a different story.

 

== Rene

 

From: Alexander Malysh [mailto:[email protected]] On Behalf Of Alexander
Malysh
Sent: maandag 18 februari 2013 9:29
To: Rene Kluwen
Cc: [email protected]
Subject: Re: Validity perdiod

 

Hi Rene,

 

I converted validity & deferred to be unix timestamp internally, they were
in minutes before.

Due to the fact that I didn't know how sqlbox works, I assumed that validity
& deferred in the

sqlbox tables also stored in minutes therefore this conversion:

            if validity set then (now - unix timestamp) / 60 -> minutes

 

the counter part is when selecting values from DB and sending to bearerbox:

 

            /* convert validity and deferred to unix timestamp */

            if (msg->sms.validity != SMS_PARAM_UNDEFINED)

                msg->sms.validity = time(NULL) + msg->sms.validity * 60;

            if (msg->sms.deferred != SMS_PARAM_UNDEFINED)

                msg->sms.deferred = time(NULL) + msg->sms.deferred * 60;

 

Alex

 

Am 16.02.2013 um 15:36 schrieb Rene Kluwen <[email protected]>:





Also: in sqlbox.c (function smsbox_to_bearerbox()):

 

               /* convert validity & deferred to minutes */

                if (msg->sms.validity != SMS_PARAM_UNDEFINED)

                    msg->sms.validity = (msg->sms.validity - time(NULL))/60;

                if (msg->sms.deferred != SMS_PARAM_UNDEFINED)

                    msg->sms.deferred = (msg->sms.deferred - time(NULL))/60;

 

Isn't this field encoded twice now? Once in smsbox and another time in
sqlbox?

 

Alexander, you made this change. Please shed some light.

 

From:  <mailto:[email protected]> [email protected]
[mailto:devel- <mailto:[email protected]> [email protected]] On Behalf Of
Rene Kluwen
Sent: vrijdag 15 februari 2013 15:16
To:  <mailto:[email protected]> [email protected]
Subject: Validity perdiod

 

I came across an issue since svn version 4956 of smsbox.c, using smpp.

 

The logs show the following:

 

2013-02-15 14:52:45 [3144] [7] DEBUG:   validity_period: "711110215159000+"

 

This was this afternoon at 14:52. The validity field of the sendsms
interface was not set.

 

How do I interpret this as "YYMMDDhhmmsstnnp"?

 

One of my clients needed to downgrade because of this issue.

 

== Rene
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.