Receive an MMS Delivery Report

Delivery reports inform you of the final delivery state for a message, and can contain information about the handset which is useful for Device Discovery.

For a list of mobile operators that support delivery reports, see Supported Mobile Operators and Limitations.

Quick facts

Available

US, UK, Ireland, Australia.

Prerequisites

You must have MMS messaging provisioned with OpenMarket.

Supported versions

For delivery reports: 6.8, 6.1, 5.6, 5.3.

More information

See Overview.

Request from OpenMarket

The request from OpenMarket includes data in the header field and request body. There are no parameters included in the request URL.

Header fields

Copy
Example Header
POST /customerEndpoint HTTP/1.1
X-OpenMarket-Carrier-Id: 350
UAProf: Samsung Galaxy
SOAPAction: ""
Content-Type: text/xml
User-Agent: OpenMarket
Host: 198.51.100.5
Content-Length: 749
Connection: Keep-Alive

Note that the header field UAProf is included if the MM7 version is lower than version 6.8.

Field

Description

customerEndpoint Your endpoint or callback URL.

X-OpenMarket-Carrier-Id

An OpenMarket mobile operator ID.

Returned: This is included if the MT message was successfully delivered to the end user. The header will not contain the ID if the message was rejected for any reason by either OpenMarket or a mobile operator.

UAProf

Also known as MMS User Agent capabilities.

If the MM7 version is 6.8, then this information is sent in the request body, rather than in the header.

Returned: Only when provided by the mobile operator

Request body

The request body contains the delivery details for the MMS message.

Copy

Example Request

POST /customerEndpoint HTTP/1.1
X-OpenMarket-Carrier-Id: 350
SOAPAction: ""
Content-Type: text/xml
User-Agent: OpenMarket
Host: 198.51.100.5
Content-Length: 749
Connection: Keep-Alive            
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-3">
   <ns1:Header>
      <ns3:TransactionID ns1:mustUnderstand="1">OM369500698104365056_1397570631749</ns3:TransactionID>
   </ns1:Header>
   <ns1:Body>
      <ns3:DeliveryReportReq>
         <ns3:MM7Version>6.8.0</ns3:MM7Version>
         <ns3:MessageID>369500617770864640</ns3:MessageID>
         <ns3:Recipient>
            <ns3:Number>12125550123</ns3:Number>
         </ns3:Recipient>
         <ns3:Sender>
            <ns3:Number>222111</ns3:Number>
         </ns3:Sender>
         <ns3:Date>2014-04-15T14:03:51.749Z</ns3:Date>
         <ns3:MMStatus>Retrieved</ns3:MMStatus>
         <ns3:StatusText>Success</ns3:StatusText>
         <UACapabilities UAProf="Samsung Galaxy" />
      </ns3:DeliveryReportReq>
   </ns1:Body>
</ns1:Envelope>


SOAP envelope

Element

Description

TransactionID

Identifies the MM7_DeliverReq/MM7_DeliverRes pair. It is an OpenMarket-generated ID.

Returned: Always

DeliveryReportReq

Identifies the message as an MM7 Delivery Report.

Returned: Always

MM7Version

Identifies the version of the interface supported by OpenMarket.

Returned: Always

Sender

Your short code, the text-enabled toll-free number (US only), virtual mobile number VMN) or alphanumeric (UK only). This should match the same information that is linked in the MT configuration, and generally to the service you are providing.

Returned: Always

MessageID

An OpenMarket generated ID linked to the submitted message. This ID was returned to your system in the initial response (SubmitRsp) to your MT MMS request.

Returned: Always

Recipient

The address (mobile number) of the end user. This is a mobile number in international format without a leading "+" character; for example: 12125550123 (US) and 447700900750 (UK).

Returned: Always

Date

The date and time of the submission of the multimedia message (timestamp). OpenMarket timestamp in UTC.

Returned: Always

MMStatus

This indicates whether the MT message was delivered successful or failed. See Delivery report status below.

Returned: Always

StatusText

An additional description of the status. See Delivery report status below.

Returned: Always

UACapabilities

Also known as MMS User Agent capabilities. This describes the capabilities of the MMS User agent of the mobile handset.

If the MM7 version is lower than 6.8, OpenMarket adds the UACapabilities in the HTTP header called UAProf.

Returned: Only when provided by the mobile operator

Delivery report status

MMStatus

StatusText and description

Retrieved

"Success"

The message was successfully sent to the handset.

Deferred

"Deferred"

The end user's handset has retrieved the MMS header, but has not downloaded the full message from the mobile operator. The end user may still download the message at a later time.

Forwarded

"Forwarded"

The end user forwarded the MMS to another address without retrieving it.

Expired

"Expired"

The mobile operator could not contact the handset before reaching the expiry time. Each mobile operator has their own expiry times after which they will stop trying to send messages such as an MMS.

Unrecognized

"Unrecognized"

The end user's handset cannot download the MMS.

Indeterminate

"Indeterminate"

The mobile operator could not determine if the message was delivered correctly. This occurs when the handset cannot return an MMS delivery report.

Rejected

"System error"

OpenMarket experienced a technical issue with sending the message. Please contact OpenMarket Support or wait for a notification from OpenMarket about the issue.

Rejected

"Rejected"

This error normally occurs when a mobile operator initially accepted the message but then determines that the mobile number is not registered.

Rejected

"Recipient not found on mobile operator"

Rejected

"Source number is not provisioned for use with this mobile operator"

Contact your OpenMarket Account Manager to ensure that you are provisioned with the correct mobile operators.

Rejected

"Recipient blocked by mobile operator"

Rejected

"DRM not supported"

DRM is not supported. This message may be from either the mobile operator or the end user's handset.

Rejected

"Content blocked or not supported by mobile operator or handset"

Rejected

"Invalid subject - maximum length exceeded"

The subject line of the MMS is too long. You will need to shorten the subject length before retrying the MMS message.

Rejected

"Short code blocked by end user"

Rejected

"Unable to determine mobile operator"

Rejected

"Recipient deactivated"

Rejected

"Recipient suspended"

Rejected

"Recipient does not support MMS"

Rejected

"Campaign blocked by mobile operator"

Your campaign is identified in the MT configuration. In the US particularly, mobile operators will block messages if the associated campaign has been blocked. Contact your OpenMarket Account Manager to ensure that you are provisioned correctly.

Rejected

"Campaign information is not provisioned for this mobile operator"

Your campaign is identified in the MT configuration. In the US particularly, mobile operators may not accept messages that are not part of a campaign provisioned with them. Contact your OpenMarket Account Manager to ensure that you are provisioned correctly.

Rejected

"OpenMarket cannot retrieve MMS attachment from URL as it is too large"

Rejected

"Failed to route message"

OpenMarket cannot reach the specified mobile operator. This may occur in instances where the message is to a tier 3 mobile operator.

Responding to the request

Your platform must reply with a response message, indicating that the message was successfully received and will be processed.

If you cannot identify the requested content or if the delivered content does not fulfill the conditions you'd expect, then your platform should indicate a failure in the MM7_deliver.RES status field.

Copy

Example Response

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml; charset=utf-8
Content-Length: 539
Date: Tue, 15 Apr 2014 14:03:32 GMT
<?xml version="1.0" encoding="UTF-8" ?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap-env:Header>
      <TransactionID soap-env:mustUnderstand="1">201</TransactionID>
   </soap-env:Header>
   <soap-env:Body>
      <mm7:DeliverRsp xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-6-MM7-1-4">
         <mm7:MM7Version>6.8.0</mm7:MM7Version>
         <mm7:Status>
            <mm7:StatusCode>1000</mm7:StatusCode>
            <mm7:StatusText>Successfully received MMS</mm7:StatusText>
         </mm7:Status>
      </mm7:DeliverRsp>
   </soap-env:Body>
</soap-env:Envelope>

Elements in the response

Element

Description

TransactionID

Identifies the MM7_Deliver.Req/MM7_Deliver.Res pair. It is part of the SOAP header. The value returned is the one provided in the request.

Required: Always

DeliveryRsp

Identifies the message as a MM7 Deliver Response. This is a root element.

Required: Always

MM7Version

Identifies the version of the interface supported by OpenMarket. This is the value that was passed in the request.

Required: Always

StatusCode

A code that indicates whether you received the MO message request successfully. The status code for successful deliver is 1000.

Required: Always

StatusText

Text description of the status code.

Required: Always

Testing your integration

You can test receiving most of the delivery reports sent by OpenMarket. See Testing Your MMS Integration.