# MMS Architecture

The MMS Architecture is the set of standards used by the Multimedia Messaging Service in mobile networks. The standards are prepared by 3GPP.

## Overview

The standard consists of a number of interfaces between components found in the mobile network:
* MM1: the interface between MMS User Agent and MMS Center (MMSC, the combination of the MMS Relay & Server). Delivered as HTTP over a packet switched data session.
* MM2: the interface between MMS Relay and MMS Server.
* MM3: the interface between MMSC and other messaging systems. Using SMTP.
* MM4: the interface between MMSC and foreign network providers. Using SMTP.
* MM5: the interface between MMSC and HLR.
* MM6: the interface between MMSC and user databases.
* MM7: the interface between MMS Value-added service applications and MMSC. Typically Content Providers using HTTP / SOAP for delivery.
* MM8: the interface between MMSC and the billing systems.
* MM9: the interface between MMSC and an online charging system.
* MM10: the interface between MMSC and a message service control function.
* MM11: the interface between MMSC and an external transcoder.

## MM1

MM1 is the interface between a Mobile Station (MS) and an MMSC.
MM1 is used in the following actions:
* The sender subscriber sends an MMS to the MMSC
* The MMSC notifies the recipient subscriber that they have an MMS waiting for retrieval
* The recipient subscriber retrieves the MMS from the MMSC
* The MMSC notifies the sender that the recipient has retrieved the message
* The recipient subscriber manages their mailbox in the MMSC (uploads MMS, deletes MMS, ...)
The MM1 interface is based on the WAP protocol. It includes the PAP notifications that are transformed to SMS's by the WAP gateway for the notifications.

## MM2

MM2 is an interface between a MMS Relay (MMS-R) and an MMS storage database, two components of an MMSC platform.

## MM3

MM3 is the interface between MMSC and external servers such as Email server or SMS Centers SMSC. This interface typically uses TCP/IP based protocols for e.g. Simple Mail Transfer Protocol ( SMTP )
Generally, it is the responsibility of MMSC to do the transformation of MMS multi-part binary data to MIME format of email in both the direction
MM3 is used in the following actions:
* To exchange messages with external servers such as Email Server or SMS Centers

## MM4

MM4 is the interface used to exchange messages between two different MMSCs. These MMSCs are generally located in two distinct Mobile Networks
This interface is also known as the MMS$_R$ interface in the Wireless Application Protocol (WAP) and the Open Mobile Alliance (OMA) standards.

## MM5

MM5 is the interface between MMSC and other network elements like HLR or Domain Name Server. The communication over MM5 Interface is generally to fetch the routing information. MM5 has been defined by the 3GPP in TS 23.140 as a simple reference to Mobile Application Part.

## MM7

MM7 is the interface between MMSC and a value-added service provider (VASP).
The MM7 interface is used to send MMS from 3rd party providers (e.g., a bank sending a statement or an advertiser sending publicity). It is based on SOAP with attachments, using HTTP as the transport protocol. HTTP request shall be a POST.
The message is a MIME which encapsulates the SOAP envelope and the encoded attachments. The SOAP envelope is an XML where tags are the MM7 protocol data.

## MM11

MM11 is specified by OMA STI (Standard Transcoding Interface) 1.0. MM11 is designed to ensure compatibility of transcoders with MMSCs.
Integration with a transcoder without using MM11 is possible by implementing the transcoder as a proxy server. By placing the transcoder on the MM1 interface between the user equipment and the MMSC, messages can be transparently transcoded. A possible disadvantage of this implementation is that transcoders are typically licensed in transactions per second. All transactions will be sent through the transcoder, rather than just those marked to allow adaptations.