Skip to content
Success

Changes

Summary

  1. SMS UX optimisation: Deliver rx'd SMS right away (details)
Commit 6d3b466b70969d5fcd8e47b8724a24d31e041a68 by keith
SMS UX optimisation: Deliver rx'd SMS right away

When we receive an SMS, we first store it to the database
and then send a signal to the sms queue to run.

Storing the SMS first is good, as it would otherwsie be lost
on program exit, however the queue logic does not always work.

If there are many undelivered SMS in the database, especially if
there are SMS for destinations that are currently attached but
cannot receive the SMS*, the sms queue mechanism may delay
delivery for a significant amount of time.

*Older phones with limited SMS storage, for example.

With this patch, the sms queue is directed to specifically try to
deliver the message that was just submitted, avoiding any
potential delay.

Also, when fetching SMS from the DB into the in-memory queue,
prioritise SMS with least number of delivery attempts and try
to deliver ALL pending SMS for a subscriber in sub_ready_for_sms()
callback.

Change-Id: I9af51ef0d9c2e6c5acc5128efd6195df881b680c
The file was modifiedsrc/libmsc/sms_queue.c
The file was modifiedsrc/libsmpputil/smpp_msc.c
The file was modifiedsrc/libmsc/gsm_04_11.c
The file was modifiedinclude/osmocom/msc/signal.h
The file was modifiedsrc/libmsc/db.c