MMS infrastructure components¶
oFono - responsible for providing the data context used to transfer MMS data (image/music). It also propagates wap push notifications to upper layers.
nuntium - daemon that listens to wap push notifications and activates the MMS data context on ofono on demand to send/receive MMS’s. It provides a local store.
telepathy-ofono - talks to nuntium through dbus and is used to both relay messages from phone-app to nuntium and inject into the telepathy infrastructure MMS’s received by nuntium as multi-part messages. This component also marks messages as read and delete successfully received messages from nuntium.
history-service - this component watches the telepathy communication and store the messages received by telepathy-ofono or sent by messaging-app.
telephony-service-approver - this component is in charge of adding SMS’s to the messaging menu and to display incoming text notifications.
messaging-app - It renders MMS’s in the conversation view and also provides a way to attach media files to a message in order to send an MMS.
- An MMS WAP push notification is received by ofono and propagated to nuntium
- nuntium enables the MMS context in ofono, retrieves the content from MMSC and propagates the new MMS to upper layers.
- A new MMS arrives at telepathy-ofono.
- If automatic retrieval is not enabled or not available at the moment, a control message is sent to the app
- messaging-app request the retrieval of the message to telepathy-ofono.
- After the message is retrieved from MMSC, it is delivered to the apps via normal text channel in a multi-part message (one text/html part, one text/plain part and one part per attachment). If the control message was previously delivered, this real message have a flag telling it is a replacement for the previous message.
- The new message history service saves the attachment parts to disk, and replaces the paths on text/html to point to the new attachment locations. It also saves a flag and the content type.
- messaging-app creates a new text channel in telepathy-ofono, or uses an existing channel.
- messaging-app sends the MMS as a multi-part message to telepathy-ofono
- nuntium enables the MMS context in ofono, sends the MMS through MMSC and signals the upper layers about the current status (sent, draft).
- telepathy-ofono sends signals to applications with delivery reports.
Incoming MMS diagram¶
Outgoing MMS diagram¶
- initial source: https://wiki.ubuntu.com/Touch/Specs/MMSInfrastructure