Wilfried Goesgens wrote:
> 
> in at2_check_sms_memory kannel tries to evaluate the number of sms the modem
> is able to receive into its memory by reading the size of the storage.
> something like

which type of modems do you refer on this?

> at+cpms?
> ... ME ,77,170 ...
> would be a correct reply. but i found that some of our modems just return
> ... ME ,77,0 ...
> which makes kannel asume, the modem is able to hold zero messages in memory.
> so it says: "77 messages waiting in memory" and starts the memory read
> function.
> there it loops reading memory-slots until the number of sms successfuly read
> is
> equal to the number of sms waiting in memory, or the last slot of the modem
> has passed.
> As of kannel asumes, that there are 0 slots, it won't loop at all.
> 
> so i just did the hack to compare the number of sms'es to be read and the
> assumed memory units.
> if nSMS < storagesize, storagesize is wrong. To reach the end, i used n-sms
> +20. The clean way
> would be to have it optionally configured, and warn in syslog, if it's not
> configured, and
> kannel find a zero...
> 
> the first part is a check if the pointer exists, which i found crashing it
> in some case it being zero.
> 
> the middle part is retrying to delete an sms, if it fails.
> 
> cvs diff smsc_at.c
> Index: smsc_at.c
> ===================================================================
> RCS file: /home/cvs/gateway/gw/smsc/smsc_at.c,v
> retrieving revision 1.13
> diff -r1.13 smsc_at.c
> 156c156
> <     if (privdata->modem->need_sleep)
>  ---
> >     if (privdata->modem&&privdata->modem->need_sleep)
> 415a416
> >
> 417a419,420
> >       at2_send_modem_command(privdata, "AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q", 0, 0);
> >       sleep(1);

is this AT command device specific? If yes, you'll need to ensure you
don't pass it generically to any type of modem.

> 743a747,755
> >               if (at2_send_modem_command(privdata, cmd, 20, 0) != 0) {
> >                       /*
> >                        * failed to delete the message, we'll just ignore it for 
> > now,
> >                        * this is bad, since if the message really didn't get 
> > deleted
> >                        * we'll see it next time around.
> >                        */
> >                       error(2, "AT2[%s]: REALY failed to delete message %d.",
> >                                 octstr_get_cstr(privdata->name), message_number);
> >               }
> 937c949,951
> <
>  ---
> >               /* did the modem tell us the truth about its capacity?
> >            if not use current number of sms+20*/
> >               if (values[0]>values[1]) values[1]=values[0]+20;

otherwise I'm +0 in commiting this.

Any other opinions, objections, votes please. ?

Stipe

mailto:[EMAIL PROTECTED]
-------------------------------------------------------------------
Wapme Systems AG

Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany

phone: +49.211.74845.0
fax: +49.211.74845.299

mailto:[EMAIL PROTECTED]
http://www.wapme-systems.de/
-------------------------------------------------------------------

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.2 (Cygwin)

mIsEP6mcYwEEAMDnUiUwrbb+xwTFWN6TxF2+XZu7/alwJMeCwMBRvXtPZqfjpPhS
OkBpU0F4TrVuugz1HINTSaJTYq10AzDQXp5NkyWgckqW79nPAWuOX0dicbJk+cN2
nM2TI4KaxUDe6u8hghNEnH/i2lXsUu9apnP/iixzV81VC2je3uc9hZpnAAYptEVT
dGlwZSBUb2xqIChUZWNobm9sb2d5IENlbnRlciAmIFJlc2VhcmNoIExhYikgPHRv
bGpAd2FwbWUtc3lzdGVtcy5kZT6ItAQTAQIAHgUCP6mcYwIbAwYLCQgHAwIDFQID
AxYCAQIeAQIXgAAKCRABV0w1BqPYRuSqA/wPzsQxao2YePENCtgRTrO86U6zg3sl
OcS6CJFI4FZP5h/xD3GRsNH1+MPSvZlomDdpFnr547DGz/Kq9MXuQwVvlVig5yWZ
K5dtKp1r5YLhxJQBhfirZbRFFnYmf19f18J8OoS28tuFVftDl1AIwJS3HLyBTv6H
g2HyLAEKQIp30Q==
=aYCI
-----END PGP PUBLIC KEY BLOCK-----

Reply via email to