Ian Moraes

Subscribe to Ian Moraes: eMailAlertsEmail Alerts
Get Ian Moraes: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Article

3G Multimedia Messaging Service (MMS)

3G Multimedia Messaging Service (MMS)

3G is not yet fully established, but the promise of increased bandwidth and greater speed has encouraged the development of more sophisticated wireless applications that can use this higher capacity.

Today's mobile phones are used primarily for their voice capabilities such as making and receiving calls and checking voice mail. Models that enable users to do more, such as manage e-mail or surf the Web, are available, but they lack rich multimedia features such as enhanced graphics, video, and audio, and have limited bandwidth.

Current wireless networks or second generation (2G) networks that use disparate technologies such as Global System for Mobile Communication (GSM), Code Division Multiple Access (CDMA), and Personal Digital Cellular (PDC) are primarily designed for voice communication, but can be used to support a limited amount of data. The next generation of wireless networks, commonly known as 3G, promises significantly increased bandwidth and speed using standards such as wideband CDMA (WCDMA) and cdma2000. The specified 3G system data rates range from 144 Kbps to 2Mbps depending on user mobility factors such as whether the call is made from a rural/urban, indoor/outdoor or high-mobility/low-mobility environment. This compares with 2G system rates of between 9.6 and 19.2 Kbps. However, these new 3G systems will not be rolled out all at once for a number of reasons, such as the need for new licenses and upgrading of network and terminal equipment.

An interim step between 2G and 3G networks is the so-called 2.5G networks that use technologies such as General Packet Radio Service (GPRS) and Enhanced Data Rates for Global Evolution (EDGE). GPRS is a packet-switched standard that can offer speeds of up to 115 Kbps. EDGE is also a packet-switched standard that can offer data speeds of up to 384 Kbps. Although the commitment to providing higher bandwidths has been made, there is considerable discussion in the industry as to the actual data rates, migration paths, and adoption schedules of these new standards. Thus you can expect 2G, 2.5G, and 3G systems to coexist until 3G systems are firmly established.

The promise of increased bandwidth has encouraged the development of more sophisticated wireless applications that can use this higher capacity. One such emerging messaging-related mobile application is the Third Generation Partnership Project's (3GPP) Multimedia Messaging Service (MMS). The purpose of this article is to introduce you to this nascent technical specification and explore the architectural components and technologies of the 3GPP's Multimedia Messaging Service.

Background
MMS is an extension of the popular Short Message Service (SMS). SMS enables a mobile user to send text messages from one device to another. Users can chat by sending each other short text messages using SMS. MMS builds on this concept of device-to-device communication and allows mobile users to send multimedia messages with richer content types such as audio, video, and images from one multimedia terminal (multimedia-enabled wireless device) to another in a non-real-time manner. These messages and their different content types are presented to a user in an ordered, synchronized way in the form of a multimedia presentation.

MMS offers users with a MMS 3G device or multimedia terminal (MMT) a number of exciting and useful applications. It's anticipated that 3G devices will possess more memory and processing power and even be equipped with a camera to take snapshots that can then be sent as part of a multimedia message. For example, if you're on vacation, you could take a snapshot with your 3G device and send the postcard to a friend with an audio note from you. Another example is that if you're out of town and find a rare antique at a store, you could send a video of the item back to your spouse to peruse on her MMT before purchasing it.

In order to support these types of new applications, changes will be required to existing architectures and system components. These changes are discussed in the following sections by exploring the concept of a multimedia message and the components of the MMS architecture. It's important to mention that although new architectural components, technologies and devices are involved in MMS, it's a goal of MMS to support and extend existing messaging standards. For example, Wireless Application Protocol (WAP) and Internet standards provide MMS with significant support in terms of underlying protocols and service specifications. You'll recognize a number of existing Internet, WAP, and XML standards as they're discussed in this article.

Multimedia Messages
A multimedia message can be described in terms of a message header and a message body. A message header is composed of information such as a message ID to uniquely identify a message, the sender of the message, and the recipient of the message such as a Mobile Station ISDN (MSISDN) or e-mail address. As shown in Figure 1, the message body contains the actual message content and can be a container of multiple parts. Each of these parts can represent different types of message content such as audio, video, and image data.

These different types of multimedia content are structured in a multimedia message as a Multipurpose Internet Mail Extension (MIME) multipart format. MIME is used in current Internet e-mail messaging for managing attachments. MIME builds on the Standard Mail Transport Protocol (SMTP), the common Internet mail protocol for sending messages, by allowing new types of content such as audio, video, and images to be included in a message. It accomplishes this by defining new header fields such as MIME-Version and Content-Type and message structures that can contain multiple objects. For example, if a message was composed of a JPEG image, a Content-Type header field set to "Image/Jpeg" would be present in the message.

For a multimedia message, the multimedia message header information is contained in a message part and the proposed content type for this part is application/mmsheader. The multimedia message content such as images or audio clips are represented as standard MIME parts. The details of how a message is presented in a synchronized manner are also described in a separate MIME part. For applications that are not capable of rendering multimedia messages, this presentation MIME part is shown as another attachment of the message. To ensure interoperability between different networks and terminals, MMS specifies a minimum set of formats or codecs for audio, video, and image content. These are shown in Table 1.

Most of these specified MMS formats should be familiar to those who have developed Internet messaging systems. For those not familiar with AMR, Adaptive Multi-Rate (AMR) is a speech codec formalized by the European Telecommunications Standards Institute (ETSI). AMR supports eight different speech coding modes with bit rates ranging from 4.75 to 12.2 Kbps using a sampling rate of 8000Hz. For storing AMR data in a MIME multipart, the MIME type/subtype, "audio/AMR", has been proposed. H.263 is a video codec standardized by the ITU that allows video to be transmitted at low bit rates such as those found in wireless networks.

MMS Architectural Components
A Multimedia Message Service Environment (MMSE) is the system environment that provides MMS to a user. It contains 2G and 3G networks and service components that are responsible for delivery, storage, and notification functionality pertaining to multimedia messages. The MMSE allows a user to access his or her multimedia messages from either 2G, 3G, Internet, or fixed networks. The MMSE is made up of a number of architectural components:

  • MMS User Agent
  • MMS Server
  • MMS Relay
  • MMS User Databases
An overview of these elements and their architectural relationships is shown in Figure 2, and will now be described in more detail.

MMS User Agent
The MMS User Agent is an entity that resides on a mobile device. It supports the presentation, creation, and retrieval of multimedia messages as well as the presentation of notifications. The multimedia presentation of a message can be facilitated by Synchronized Multimedia Integration Language (SMIL). SMIL is an XML language that allows a synchronized multimedia presentation of independent multimedia content types such as image and audio. The WAP Forum and W3C are exploring a version of SMIL that's optimized for wireless devices. (For more information on SMIL, see the resources at the end of this article.)

An MMS User Agent can also perform security-related functions such as signing, encryption, and decryption of a multimedia message. On a related note, the 3G User Services Identity Module (USIM) can be used to authenticate a user. It is implemented as a removable card that can be used with a 3G device. (More information on 3G security can be obtained from the resources at the end of this article.)

MMS Server
The MMS Server manages the storage and handling of multimedia messages. The functionality of the MMS Server and the MMS Relay can either be combined in a single system component or developed as separate components. The communication between a MMS Relay and a MMS Server can be facilitated by standard protocols such as Simple Mail Transfer Protocol (SMTP) or HTTP. A MMS Server may be implemented using a standards-compliant OTS e-mail server that supports SMTP and Internet Message Access Protocol (IMAP).

MMS Relay
The MMS Relay serves as an intermediary component between a MMS Server and a MMS User Agent. The MMS Relay is used to transfer multimedia messages between different messaging systems and serves as the core message distribution component in the MMSE.

In addition to sending and receiving messages, the MMS Relay can forward messages, convert message content from one format to another, send and receive message notifications, and negotiate terminal capabilities. The MMS Relay can also filter messages based on user-specified preferences. The MMS Relay is also responsible for generating charging data when sending or receiving multimedia messages based on factors such as roaming and the types, lengths, and numbers of messages sent or received.

A MMS Relay also provides support for the Virtual Home Environment (VHE). The VHE enables a user to be presented with a consistent set of services, personalization, and user interface customization irrespective of the specific network and device being used. That is, whether a user is in the office, at home, or in a different city, there will be a common look and feel to his or her service environment. VHE provides a user with a personal service environment that's defined in terms of one or more user profiles. A user profile can contain user interface-related preferences such as terminal settings. To maximize the applicability of user profiles to a wide variety of terminals, you should pursue a standard format for MMT configuration such as W3C's Composite Capabilities/Preferences Profile (CC/PP). CC/PP provides a RDF-based vocabulary for expressing user agent profile's capabilities and specified user's preferences. Resource Description Framework (RDF) is an XML application that facilitates the encoding, exchange, and reuse of structured metadata.

To support VHE and other functions, the MMS Relay interfaces with a number of different components such as MMS Servers, WAP Gateways, Short Message Service Center (SMSC), Fax gateways, or proprietary voice message stores. For example, the MMS Relay can communicate with a WAP Gateway for exchanging multimedia messages with a MMT. The MMS Relay is considered an origin server in the WAP architectural framework. When receiving a message from a MMT, the message would be transported using WSP from the MMT to the WAP Gateway and HTTP from the WAP Gateway to the MMS Relay. Alternatively, the MMS Relay can push a notification to a MMS User Agent using the WAP Push Access Protocol (PAP). The notification is then sent from the WAP Gateway to the actual device using WAP Push Over the Air (OTA) Protocol. PAP works by sending XML messages through an existing application-level protocol such as HTTP (an HTTP POST method can be called to send a notification). A type of WAP notification is the WAP Service Indication (SI) content type. The SI content type is an XML application representing an asynchronous event that's pushed over PAP. The SI is composed of a short message such as "you have a new multimedia message" and a URI of a service such as a MMS service that's called if the user acts on the notification.

Using WAP, a MMS Relay can be apprised of a WAP device's User Agent Profile (UAProf). UAProf is a WAP framework for describing hardware, software, and application preferences of devices. UAProf, also known as Capabilities and Preferences Information (CPI), uses the CC/PP model and intends to be interoperable with it. UAProf enables the exchange of CPI between WAP devices, intermediate network elements, and the WAP origin server. UAProf defines a RDF-based vocabulary that pertains to such items as display size, WAP browser version, operating system version, and supported content types. The MMS Relay can use this profile to adjust the actual message content delivered to a MMT to account for a WAP device's profile.

MMS User Databases
MMS User Databases can be described as one or more entities that contain user-related details such as user preferences and configuration. For example, filtering rules that describe how a user would like to handle incoming messages and their delivery, and any notification schedules, can be stored in this type of database. The MMS user profiles also form part of the VHE. A MMS User Database may be implemented using a standards-compliant off-the-shelf (OTS) directory server that supports a standard protocol such as Lightweight Directory Access Protocol (LDAP) or a server that provides an IIOP-based CORBA interface.

Architectural Illustration of Sending a Multimedia Message
Now that you're familiar with the main MMSE architectural components, here's an example of how these different components might be used to satisfy a core MMS use case - sending a multimedia message.

Suppose that while on a Caribbean vacation, MMS User A uses her MMT to take a picture and record the background sounds of Caribbean music to accompany the picture. MMS User A then sends this multimedia message to another MMS User. To facilitate this discussion, and for illustrative purposes, a number of assumptions have been made regarding the connections, service, and transport protocols between MMS architectural components. The architectural flow of this use case is shown in Figure 3.

  1. MMS User A composes the multimedia message to MMS User B's MSISDN. Alternatively, the message could have been addressed in terms of an e-mail address. The MMS User Agent forms the multimedia message by using a MIME multipart format to combine the multimedia content. The background music (audio) and picture (image) are encapsulated as MIME types and added as parts of a MIME multipart message. MMS User A then sends the message. The message is received by MMS Relay A.
  2. For this example, let's assume that MMS Relay A is connected to MMS Relay B via an Internet connection. MMS Relay A routes the message to MMS Relay B using SMTP. The communication between different MMS relays can be accomplished using SMTP.
  3. MMS Relay B receives the message. The MMS Relay is configured access to the MMS user profile database. Using LDAP, the MMS Relay B checks the profile of the recipient (MMS User B) in the MMS User database.
  4. MMS User B has configured his profile so that a copy of all multimedia messages is saved to his e-mail store so that he can retrieve the messages later using other types of clients such as Internet Web clients. Based on MMS User B's preferences the incoming message is copied using SMTP to the MMS Server. Let's further assume that MMS User B has configured his profile so that he is also notified of new incoming multimedia messages.
  5. MMS Relay B uses the WAP Push Access Protocol (PAP) to notify MMS User B that a multimedia message for him has been received. This notification contains the URI to use if MMS User B decides to retrieve and view the message.
  6. After MMS User B receives the notification, he can act on it by using the URI specified in the notification message to retrieve the message. Using the URI, the message is retrieved by the MMS Relay from the MMS Server using IMAP via the WAP Gateway. The MMS Relay can adjust the message content delivered to MMS User Agent B to account for the User Agent Profile (UAProf) of MMS User Agent B. The MMS Relay then sends the message to the WAP Gateway. The WAP Gateway then converts the message to the WAP binary multipart structure format for transmission to the device. The MMS User Agent uses SMIL to present the message (image and background music in a synchronized manner) to MMS User B.

Conclusion
The Multimedia Messaging Service is an emerging, person-to-person application that can provide users with a diverse set of features for either entertainment or business purposes. As 3G networks become more established, bandwidth increases, and devices are enabled using standards and technologies such as Mobile Station Application Execution Environment (MExE), Bluetooth, and SyncML. MMS can be fully realized as an even more exciting and valuable application for wireless users.

This discussion provided you with a vendor-agnostic overview of the enterprise system infrastructure, components, and standards needed to support the Multimedia Messaging Service as currently defined by 3GPP. The pervasive use of current Internet, WAP, and XML standards was illustrated in this presentation of the 3G MMS architecture. You can obtain more details on these and other related multimedia messaging standards and technologies from the Resources section in this article.

Resources

  1. 3rd Generation Partnership Project: www.3gpp.org
  2. 3G TS 22.140 Stage 1 Multimedia Messaging Service: www.3gpp.org
  3. 3G TS 23.140 Stage 2 Multimedia Messaging Service: www.3gpp.org
  4. 3G TS 21.133 3G Security: Security Threats and Requirements: www.3gpp.org
  5. Wireless Application Protocol Forum: www.wapforum.org
  6. SMIL resources: www.smil.org
  7. Composite Capabilities/Preferences Profile: www.w3.org
  8. Motorola 3G solutions: www.motorola.com/aspira/Total-Solutions.htm
  9. Ericsson 3G solutions: www.ericsson.com/3g/
  10. Nokia 3G solutions: www.nokia.com/3g/index.html

More Stories By Ian Moraes

Ian Moraes, Ph.D., is a principal engineer at Glenayre Electronics, where he works on the architecture and design of a unified messaging system. Ian has developed client/server systems for the telecommunications and financial services industries.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.