The XML backup files contain a lot of information and can get confusing if you are trying to read the raw data. Here is some description of the various attributes/fields in the XML files created by the app.

SMS Messages:

  • protocol - Protocol used by the message, its mostly 0 in case of SMS messages.
  • address - The phone number of the sender/recipient.
  • date - The Java date representation (including millisecond) of the time when the message was sent/received. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.
  • type - 1 = Received, 2 = Sent, 3 = Draft, 4 = Outbox, 5 = Failed, 6 = Queued
  • subject - Subject of the message, its always null in case of SMS messages.
  • body - The content of the message.
  • toa - n/a, defaults to null.
  • sc_toa - n/a, defaults to null.
  • service_center - The service center for the received message, null in case of sent messages.
  • read - Read Message = 1, Unread Message = 0.
  • status - None = -1, Complete = 0, Pending = 32, Failed = 64.
  • readable_date - Optional field that has the date in a human readable format.
  • contact_name - Optional field that has the name of the contact.
    All the field values are read as is from the underlying database and no conversion is done by the app in most cases.

The XSD schema can be downloaded here.
A sample XML file can be downloaded here

 

MMS Messages
An MMS message comprises of a few different elements with a structure like this:

The mms element contains most of the metadata about the message like the phone numbers, date/time etc. The part elements contain the actual content of the message like a photo or video or the text message. The addr elements contain the list of recipients of the messages in case of group messages. The actual attributes in the elements vary depending on the phone but here are some of the common attributes:

  • mms
    • date - The Java date representation (including millisecond) of the time when the message was sent/received. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.
    • ct_t - The Content-Type of the message, usually "application/vnd.wap.multipart.related"
    • msg_box - The type of message, 1 = Received, 2 = Sent, 3 = Draft, 4 = Outbox
    • rr - The read-report of the message.
    • sub - The subject of the message, if present.
    • read_status - The read-status of the message.
    • address - The phone number of the sender/recipient.
    • m_id - The Message-ID of the message
    • read - Has the message been read
    • m_size - The size of the message.
    • m_type - The type of the message defined by MMS spec.
    • readable_date - Optional field that has the date in a human readable format.
    • contact_name - Optional field that has the name of the contact.
  • part
    • seq - The order of the part.
    • ct - The content type of the part.
    • name - The name of the part.
    • chset - The charset of the part.
    • cl - The content location of the part.
    • text - The text content of the part.
    • data - The base64 encoded binary content of the part.
  • addr
    • address - The phone number of the sender/recipient.
    • type - The type of address, 129 = BCC, 130 = CC, 151 = To, 137 = From
    • charset - Character set of this entry

 

Call Logs

  • number - The phone number of the call.
  • duration - The duration of the call in seconds.
  • date - The Java date representation (including millisecond) of the time when the message was sent/received. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.
  • type - 1 = Incoming, 2 = Outgoing, 3 = Missed, 4 = Voicemail, 5 = Rejected, 6 = Refused List.
  • presentation - caller id presentation info. 1 = Allowed, 2 = Restricted, 3 = Unknown, 4 = Payphone.
  • readable_date - Optional field that has the date in a human readable format.
  • contact_name - Optional field that has the name of the contact.