Hi Dario, > Hi all, > I have a question: what is the best practice (or the suggested > behaviour) to handle SMSes in an application using oFono? > I am thinking about two common cases: > 1) handling outgoing message status: I use the SendMessage DBus API but > AFAIK I'm not aware of the status of the sending operation (pending, > blocked, sent...) in the DBus response; The current semantics are that the DBusMessage returns only when the SMS has been successfully sent to the network, or oFono determined that it cannot send it. So you can assume that SMS is pending as soon as dbus_message_send is performed by your client. And that SMS has been sent/failed as soon as the message call returns. The history plugin is given a bit more information. It is notified when the SMS is queued, successfully sent / not. > 2) handling incoming messages when application is (re)starting/crashed: > is there a way to retrieve a message if it comes in during a phase where > the application is not running or it can't receive the IncomingMessage > signal? Does oFono logs or stores the messages somewhere? This is what the history plugin is for. History is notified when an SMS comes in and can persist this information however it wishes. The plugin can even define its own D-Bus interface for notifying external clients if needed. > > I think I found something in the "Example Call History" plugin, does > this mean I need to create an oFono plugin to manage my application > needs or am I missing some info/API somewhere? You don't have to use history plugin, but it can make certain tasks really easy. > > Thank you in advance, best regards, > Dario. Regards, -Denis