Message Detail Record (MDR) Field Descriptions

Follow

David Schwind

Updated

COMING THIS FEBRUARY

What is a Message Detail Record (MDR)?

A Message Detail Record (MDR) is a report that documents the details of the SMS and MMS messages that you send and or receive. The MDRs contain multiple pieces of information such as message timestamps, DLR codes, carrier information, source and destination information that can aid customers in many different ways. Users can download these reports from the Bandwidth Dashboard and ingest it into their own platforms for analytics purposes. Customers may use these for reconciliation as well.

 

How can I gain access to MDRs?

Navigate to the ‘Reports’ tab of the Bandwidth Dashboard to get started. Check out our video demonstration on How to Download Message Detail Records (MDRs) on the Bandwidth Learning Lab! 

 

What data is provided in MDRs?

The table below describes the fields available in the MDR export file:

 

Field

Description

Detailed Description

Example Value

AccountId

Customer Service Account ID

This is the Customer’s Service Account ID.

1234567

MessageType

Type of message

This is the type of the message, either SMS or MMS.

SMS/ MMS

MessageID

Unique identifier to a message.

This is a unique identifier for each message.

00000000-0000-0000-000000000000

CallDirection

The direction of the message.

This is the direction of the message inbound to the customer, or outbound from the customer.

INBOUND/ OUTBOUND

SourceTn

The number that initiated the message. It will follow the E.164 format.

This is the number that initiated the message.   This could either be a customer number or a recipient’s number.

15555551234

DestinationTn

The number the message is destined for. The number which received the message. It will follow the E.164 format.

This is the number that initiated the message is destined for.   This could either be a customer number or a recipient’s number.

525556667777

TimeStamp

Date and time a message was received by Bandwidth from a Customer or a Provider (UTC)   It will follow the ISO 8601 standard.

Depending on the direction of the message, it will either be the date/time we received a message from a customer, or it will be the date/time we received it from a Provider.  All times will be in UTC (Coordinated Universal Time)

2018-11-01T00:07:45.622Z

ErrorCode

Status of the message.

In older MDR’s the ErrorCode always reflected a 200 as only success cases were reflected in the MDRs.  New MDRs summarize the success/failure of the message via the summary status in the MessageStatus attribute rather than using a code.

200

IntlZone

Zone associated to the message.

This is the Zone of the message.  For more information on “Zones” and our “Reach List”, please refer to this page.

1

MessageDate

The date (UTC) the message will be considered in for a billing cycle.

This is the date the message will be considered to apply to for billing purposes. .

12/1/2018

GlobalAccountID

Global Customer Account Number

This is the Customer’s Global Account Number.

BW-0000000

ReceivedTimestamp

Date and time a message was received by Bandwidth from a Customer or a Provider (UTC)   It will follow the ISO 8601 standard.

Depending on the direction of the message, it will either be the date/time we received a message from a customer, or it will be the date/time we received it from a Provider.  All times will be in UTC (Coordinated Universal Time)

2018-11-01T00:07:45.622Z

SentTimestamp

Date and time a message was first attempted to be sent by Bandwidth to a Provider or a Customer. (UTC)   It will follow the ISO 8601 standard.

This field represents the date/time a message was first attempted to be sent by Bandwidth to a Customer or to a Provider.  This is only the first attempted date/time.

2018-11-01T00:07:45.622Z

CompletedTimestamp

Date and time when a message has finally been accepted by a Provider or Customer, or we’ve given up trying to send a message and a timeout has occurred. (UTC)   It will follow the ISO 8601 standard.

Messages Bandwidth sends to customers, or providers, may not always succeed on the first attempt.  The “Completed Timestamp” is the date/time that the message was accepted by the customer or provider, or the date/time at which Bandwidth stopped attempting to send and deemed the attempt a failure.  

2018-11-01T00:07:45.622Z

MessageSegments

The quantity of segments the long message is broken into in order to send to a Provider, or the number of segments received from a Provider.

A single message may be broken into multiple segments for delivery as dictated by the underlying messaging protocol.  The number of characters at which segmentation occurs is variable depending upon the type of characters used in the message body. This field will outline how many segments a message was broken into. See this page for information on character encoding.

1

SegmentNumber

This is the segment number of the message.

This is the segment number of the long message.

1

MessageLength

The quantity of characters in a message.

This is a count of characters in a message, including spaces.

160

Billable

This field reflects if a message is billable, or not.

The field reflects if the message will be considered for billing by the Bandwidth billing system.  

Yes/No

SourceCountry

The country of the text message sender.

This is the country of the “from” number, or the message sender. The “from” number is the SourceTN.

United States

SourceState

The state of the text message sender.

This is the state of the “from” number, or the message sender.

NC

SourceLATA

The Local Access Transport Area (LATA) of the "Source" number.

This is the Lata of the “from” number, or the message sender.

426

DestinationCountry

The country of the text message recipient.

This is the country of the “to” number, or the message recipient. The “to” number is the DestinationTN.

United States

DestinationState

The state of the text message recipient.

This is the state of the “to” number, or the message recipient.

NC

DestinationLATA

The Local Access Transport Area (LATA) of the "Destination" number.

This is the Lata of the “to” number, or the message recipient.

426

MessageClass

For A2P messaging, the defined message class the customer is approved to send over.

If you are contracted and approved to run A2P LC campaigns, this is the message class that’s assigned to your campaign.  This field will be blank if it does not apply to you.

A, B, C, P

CampaignID

For A2P messaging, this is the Campaign ID assigned and approved to a specific campaign. This field may be blank.

If you are contracted and approved to run A2P LC campaigns, this is the CampaignID that’s assigned to your campaign.  This field will be blank if it does not apply to you.

user-specific

DLRCode

This is the response code from a Provider describing the status of the delivery attempt.  It may constitute a success, error, or timeout. SMPP/MM4 customers must request it. API customers receive it by default.

This is a code returned in a delivery receipt (DLR) by the Bandwidth platform.  It provides information describing the success or failure of delivering the message to the end user or system. This attribute is applicable to outbound messages only. Note: DLRs are always requested for API users, but SMPP customers must request it. Please refer to this page for a list of HTTP V2 error codes.  SMTP error codes are here.

0 - Success

902 - Timeout

470 - SPAM Detected



MdrID

Unique identifier to each segment of a message.

This is a unique identifier for this message detail record.  Note that each segment of a message has an individual MDR.

00000000-0000-0000-000000000000

MessageStatus

This is the status of the message. It will be reflected as one of the different status’ in the example column.

This is a summary status of a message. Rather than providing a laundry list of numeric codes, Bandwidth summarizes the disposition of the message across 9 status values as shown described below.  Following each status is a Y or N, this relays if the message is billable or not

REJECTED-CUSTOMER: May include messages which failed to be accepted by the customer for a variety of reasons.(N)

REJECTED-PROVIDER: A provider has rejected the message for any variety of reasons - malformed to number, carrier unavailable, carrier application error.(N)

REJECTED-BW: Bandwidth rejected the message.  This could be due to improper formatting, authorization violations or systems failures. (N)

REJECTED-BW-SPAM: Bandwidth rejected as SPAM. (Y)

REJECTED-PROVIDER-SPAM:  Provider rejected as SPAM. (Y)

FAILED: Message could not be transmitted to customer or to a provider. (N)

ACCEPTED: Message was accepted by the Customer or the Provider and no DLR was requested. (Y)

DELIVERED: Message was accepted and a successful DLR was provided. (Y)

DELIVERY-FAIL - Message was accepted, but DLR code indicated delivery failure or Bandwidth timed out waiting for the receipt of the DLR. (Y)

REJECTED-CUSTOMER

REJECTED-PROVIDER REJECTED-BW REJECTED-BW-SPAM REJECTED-PROVIDER-SPAM

FAILED

ACCEPTED

DELIVERED

DELIVERY-FAIL



Article is closed for comments.