Multipart SMS

Andrea Schäfer andrea.schaefer at puri.sm
Wed Jul 10 16:27:35 UTC 2019


Hi Aleksander,

I have an issue with SMS > 160 characters not showing up in my SMS
application.

When SMS < 160 characters are received, the following steps take place:

- MM emits an 'added' signal
- in the callback, the SMS client pulls the SMS list with
'mm_modem_messaging_list'
- in the 'cb_sms_list_ready' the PDU type of the last received SMS says
'MM_SMS_PDU_TYPE_DELIVER'
- the SMS state is 'MM_SMS_STATE_RECEIVED' so the message has been
completely received
- the SMS text is fetched with mm_sms_get_text and displayed in the app


But with a multipart SMS things go different from here:

- in the 'cb_sms_list_ready' the PDU type is 'MM_SMS_PDU_TYPE_UNKNOWN'
- the SMS state is 'MM_SMS_STATE_RECEIVING', saying the message is being
received but is not yet complete
- no further events occur since the multipart message is stored in only
one SMS object, which contains the entire message
- the SMS text won't be fetched and displayed, since there is no clear
indication of proper reception

Given, that there is just one SMS object, I guess that the libmm API
handles single-part and multi-part SMS in the same way. So I wonder why
I get a different PDU/SMS state with the latter?

Cheers,
Andrea


More information about the ModemManager-devel mailing list