Receiving delivery and read reports via HTTP

The MX Telecom MMS Gateway can send delivery and read reports to your platform for individual MT MMS messages you have sent. The MMS Gateway sends the reports using an HTTP GET request to a URL provided by you.

At present, reports are only available on Vodafone and O2. In the case of O2, the originator must be a number or Short Code that you have provisioned through MX Telecom for MO MMS messages.

Currently the UK networks support only delivery reports. However, if you wish to receive read reports when they are implemented by a network your platform must be prepared to receive all the read report types listed on this page.

Contents

Enabling delivery and read reports

Before you can receive reports, you will need to supply MX Telecom with an HTTP URL. You must then specify in the MMS message request that you wish to receive reports for that message using the deliveryreport and readreport parameters.

Request format

The MMS Gateway will send an HTTP GET request that includes the following parameters:

ParameterDescription
idUnique MX Telecom ID for this report.
requestidID of the MMS that this report describes.
toThe sender of the original message.
fromThe recipient of the original message.
date The timestamp of the delivery report. This uses the following format, where Z represents the UTC offset: yyyy-MM-dd HH:mm:ss Z. For "Delivered" delivery reports, this will generally be the time that the end user's mobile phone reported it had received the MMS message.
Example: 2010-08-21 17:32:21 +0000.
typeThe type of report.
3This is a delivery report. These can originate from MX Telecom, the network and the mobile phone.
4Ths is a read report. Most read reports will originate from the mobile phone.
statusThe current status of the message. The type of reports returned to your platform will differ per network and per mobile phone. See Interpreting the status for more information.
useragentA description of the recipient's handset. This is sent only if known.

Note that as an MMS may have several recipients, if Alice sends an MMS to Bob and Carol, two delivery reports will be sent, one from Bob to Alice, and another from Carol to Alice.

Interpreting the status

The reports returned to your platform will differ per network and per mobile phone. The following report types are available across all networks:

Status numberReport typeDescription
3DeliveryThe mobile phone successfully retrieved the MMS message. This report originates from the mobile phone.
4DeliveryThe message expired while it was with the network. Each network uses their own retry strategy, submitting an MMS message several times over before the message is considered to have failed.
5DeliveryThe message was rejected before reaching the mobile phone. This can occur if the destination fails network lookup or the network rejects the message multiple times.

Dependent on the network and mobile phone you are sending the MMS message to, you may also receive these reports:

Status numberReport typeDescription
2DeliveryThe mobile phone retrieved the MMS message; however, it has not confirmed that the MMS data was retrieved successfully.
6DeliveryThe message has been forwarded to the network for delivery.
7ReadThe end user has accessed the MMS message on the mobile phone.
8ReadThe end user has deleted the MMS message from the mobile phone.
9ReadThe network does not believe that the mobile phone can send read reports. This is based on mobile phone make and model details that the network has access to.
10ReadThe message has expired on the mobile phone.

Response to the MMS Gateway

Your server should respond with an HTTP 200 response with a non-empty body. This response must be given in a timely manner (sub 10 seconds). Currently we do not abandon a request (waiting for the HTTP response) until 60 seconds have passed but this might be reduced in future.

Security considerations

To ensure the authenticity of the HTTP requests you should only accept requests from the following MX Telecom IP addresses:

  • 83.166.68.0/23 (ie 68.0 -> 69.255)

The HTTP endpoint can be an HTTPS (SSL) URL to protect the data whilst in transit.