Things to Know

Before using MMS MM7, familiarize yourself with these features:

Where to find the MM7 schema

The MMS XML schema defines the elements used to format and validate the request and responses used to submit and deliver multimedia messages through OpenMarket. See the 3GPP MMS Technical Specification for details about the MMS XML schema.

MM7 specific terms to know

MM7 Term

Description

Value Added Service (VAS)

Represents a service that delivers digital content. When sending requests through OpenMarket, you must set the VAS field to the MT configuration through which the message is sent.

Value Added Service Provider (VASP)

The business that offers a digital product or service to end users is referred to as the VASP. In OpenMarket, your business is the VASP, and your OpneMarket account ID correlates to the VASP ID.

MMS Service Center (MMSC)

The MMSC is generally the system responsible for receiving, storing, and forwarding MMS messages, and in addition it may perform device detection and content adaptation (transcoding).

The OpenMarket MMS platform forwards the MT messages you submit to the mobile operator's MMSC, which in turn sends MOs and delivery reports to OpenMarket.

VAS error

An error sent from the VASP to the MMSC.

RS (relay server) error

An error sent from the MMSC to a VASP via OpenMarket.

Matching namespaces

In the submit request MT, the namespace you supply must match a supported namespace.

If the namespace is supported, ensure that the request is valid per the specification for that version.

If the request is valid and OpenMarket is able to process it, respond with a submit response. The submit response will use the version specified within the MM7Version parameter.

Supported MM7 message types

Message type

Description

Submit Request

This is used to submit an MT message to OpenMarket.

Submit Response

This is the response from OpenMarket to your MT message request.

Deliver Request (MO)

This is used to deliver an MO message to your platform.

Deliver Response

This is the response from your platform after receiving an MO message request.

Delivery Report (DLR) request

This is a delivery report request sent by OpenMarket to your platform

Delivery response

This is the response from your platform after receiving a delivery report.

RS_error response

Error sent from OpenMarket to your platform.

VASP_error response

Error sent from your platform to OpenMarket.

MM7 and SOAP standards and encoding

MM7 standards compliance

OpenMarket's MMS messaging platform uses the standard MM7 interface with the SOAP 1.1 protocol from the 3GPP TS 23.140 specification. The standard, managed by the 3GPP consortium, describes how multimedia messages are routed through an MMS Relay/Server system.

The MMS Relay/Server, also referred to as the MMSC, routes the request and response for multimedia messaging between the originator and recipient, and performs other services such as storing multimedia messages for delivery, generating delivery reports, and reporting errors to the multimedia message originator.

OpenMarket MMS is based on version 5.3.0 of the 3GPP standard, but supports up to version 6.8.0.

SOAP standards compliance

You must use SOAP 1.1 as the application layer protocol between the Value Added Service Provider (VASP) and the OpenMarket MMS when sending and receiving messages. The multimedia message is contained in a SOAP message sent using the HTTP POST method. The SOAP header contains the routing information, while the SOAP body contains the multimedia content usually as a multi-part message.

SOAP message format and encoding principles

The MM7 interface's use of SOAP follows these principles:

  • SOAP is carried over HTTP 1.0/1.1.
  • The MM7 SOAP message consists of a SOAP envelope, SOAP Header element, and SOAP Body element.
  • The SOAP EncodingStyle is not used.
  • The TransactionID is included as a SOAP Header entry.
  • The SOAP actor attribute is not specified in the SOAP Header entry.
  • All MM7 information elements, with the exception of the Transaction ID, are included as part of the SOAP Body.

Unsupported SOAP elements in submit requests

The following SOAP elements are not supported by OpenMarket.

OpenMarket does not validate these elements. In a future release, transactions that include such elements may be rejected with an error.

The elements are:

ApplicID

AuxApplicInfo

ChargedPartyId

ContentClass

DeliveryCondition

DistributionIndicator

DRMContent

EarliestDeliveryTime

ExpiryDate

LinkedID*

MessageClass

Priority

ReadCharging

ReadReply

ReplyApplicID

replyChargingSize (attribute of ReplyCharging element)

replyDeadline

ServiceCode

TimeStamp

*(LinkedID is unsupported for MT message delivery and delivery reports. However, MO MMS deliveries will contain this element.)

Using HTTP POST to transport MMS messages

When sending and receiving MMS messages, you must use HTTP POST and SOAP 1.1 as the transport protocol. Each operation must begin with a HTTP POST. This applies to both MT messages from your platform to OpenMarket, and MO messages from OpenMarket to your platform. Upon receiving the POST, the recipient replies with an HTTP response.

The SOAP header contains the routing information, and the SOAP body contains the multimedia content (a "multipart/related" Content-Type). The SOAP envelope is the first part of the MIME message, and is indicated by the Start parameter of the multipart/related Content-Type. The media type "text/xml" is used for messages containing only the SOAP envelope.

For transport via HTTP, the content must be provided as attachments in their native formats in a multipart MIME structure. The MIME part has the appropriate content type(s) to identify the payload. If a SOAP attachment is included, it is encoded as a MIME part and is the second part of the HTTP POST message. The use of multipart/related MIME media type (RFC 2387) and the URI schemas discussed in RFC 2111 and 2557 for referencing MIME parts are used by the sending application to package the contents. The receiving application must be able to process SOAP messages with attachments.

Multipart related MIME part has two MIME headers: Content-Type and Content-ID fields. The Content-ID is referenced by the MM7 request Content element.

The MM7 and 3GPP specifications, and specifically the SOAP Messages with Attachments standard, prescribe how message contents are transported using HTTP. The SOAP message binds to the HTTP request/response by providing SOAP request parameters in the body of the HTTP POST request, and the SOAP response in the body of the corresponding HTTP response.

Connecting to OpenMarket

For most customer scenarios, the simplest HTTPS endpoint to use to reach our data centers is:

Copy
https://mms.openmarket.com/api/mm7

Requests submitted to this endpoint are routed to the closest data center. If the data center becomes unavailable then messages are automatically routed to the next closest data center. This provides your service with a high available data strategy without requiring additional setup. However, you will need to ensure that your systems only cache the DNS lookup for up to one minute.

Customers who have services that will require high throughput or high availability can connect directly to the data centers.

For data center one:

Copy
https://mmsc-01.openmarket.com
Copy
https://mmsc-02.openmarket.com

For data center two:

Copy
https://mmsc-03.openmarket.com
Copy
https://mmsc-04.openmarket.com

If desired, you can establish parallel connections to the data center using these connections.

Authenticating

To authenticate with OpenMarket, include your OpenMarket account ID and password in the request header using Basic authentication.

In the SOAP envelope, you'll also need to include two IDs, which we send to the mobile operators so that they can identify your service. These are the VASP ID and VAS ID, and combined they are referred to as a VASP Profile. The IDs are:

  • VAS ID — the MT configuration you are using
  • VASP ID — your OpenMarket account ID

Flow for sending an MT MMS and receiving a delivery report

The following shows how to successfully send an MT MMS and receive delivery reports back from OpenMarket.

Diagram of a successful MT MMS delivery.

Steps:

  1. Your system sends an MM7 Submit request for the MT MMS message.
    You must use HTTP POST and SOAP 1.1 as the transport protocol. Each request begins with a HTTP POST containing the information for delivery to OpenMarket for MT messages.
  2. OpenMarket sends back an MM7 Submit response. The response body includes a messageId, which uniquely identifies the MMS message in our systems.
  3. OpenMarket delivers the message to the mobile operator.
  4. After delivering the message successfully, the mobile operator returns a delivery report.
    Note that sometimes we may not receive a report back, even when the end user's handset successfully received the message.
  5. OpenMarket sends a delivery report to your system, with the messageId in the request body and a delivery report status element that confirms successful (or unsuccessful) message delivery.
  6. Your system sends back a received Delivery Report response. The response status element should indicate that you have successfully received the delivery report.

Flow for receiving an MO MMS delivery

The following shows how to successfully receive an MO MMS from OpenMarket.

Diagram of a successful MO MMS delivery.

Steps:

  1. The mobile operator delivers an MMS message for your short code (US and UK), toll-free, text-enabled number (US only), or virtual mobile number (UK only).
  2. OpenMarket sends an MM7 Deliver request to your system.
  3. Your system sends back an MM7 Deliver response. The response status element should indicate that you have successfully received the Deliver request.