Storage behaviour when sending SMS

Aleksander Morgado aleksander at aleksander.es
Fri Jul 22 08:14:25 UTC 2022


Hey,

On Wed, Jul 20, 2022 at 8:57 AM Ulrich Mohr <u.mohr at semex-engcon.com> wrote:
>
> Hey,
> >
> >> while trying to resolve the issue when sending SMS with specific mbim modems (https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/562), I see different behaviour when sending SMS depending on the modem I use:
> >>
> >> When I send an SMS using a non-MBIM modem (UBlox Toby L210, RNDIS), the SMS is shown (using mmcli) as sent. When I then restart ModemManager, the SMS is no longer there. So it seems that the message is not stored in SIM or modem.
> >> When I send an SMS using my MBIM modem (Telit LE910C1-EU), the SMS is shown (using mmcli) as sent. When I then restart ModemManager, the SMS is still there. So it seems that the message is stored immediately when sending (to be precise: Any attempt to send the SMS creates an entry in the SMS storage on this modem -- so when I have three attempts to send an SMS, two failed and the third succeeded, I have two drafts and on sent message in the storage (!?) )
> >>
> >> Is ModemManager capable to handle both of these scenarios? It seems to me that ModemManager does not expect the second scenario, which leads to the issue when deleting messages...
> >>
> > The SMS management in the MBIM protocol is extremely bad. There is no
> > notion of SMS storages or no action to explicitly store SMS messages.
> > Any SMS management operation on devices using the MBIM protocol
> > exclusively is really far from ideal.
>
> In fact, it is a real show-stopper in my case, because there is no way
> to assure SMS sending to work properly: The message is stored, but I
> don't know where it is stored (got no index), so there is no way for
> ModemManager to properly delete the message. After a short while, SMS
> memory is full and I can't send any further messages. I can't even
> delete all messages, because ModemManager does not "see" them....
>

I can acknowledge that struggle, I've been there myself.

> On possibility would be to read all messages any time one has been sent
> (as we do when ModemManager starts). But then there is still the
> question, how to find out which message is the one we just sent. Do you
> have any idea how to identify a message in the store after sending it
> without using the index?
>

That is a bad workaround IMO, too tricky to guess which is which if
you don't have a consistent index to match them.

> Another possibility (just for my case) would be to delete all sent SMS
> each time after sending. But there is no support for that in mbimcli,
> although the MBIM protocol includes such a command. Do you have some
> guidance where to start if I want to implement it?
>

It shouldn't be too difficult to add that as the message is already in
libmbim. Looking at the mbimcli sources fo a different service could
help you init the SMS service support (e.g. in a new mbimcli-sms.c
file)

-- 
Aleksander


More information about the ModemManager-devel mailing list