MM7 MMS
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
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.
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.
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.