SMS Backup Format¶
The SMS backup format is text file encoded in current encoding of platform where Gammu is running.
This file use ini file syntax, see INI file format.
The file consists of sections, whose name starts with
creating the backup file, three digits are appended to this text defining
order. While reading the backup, any part after
SMSBackup text is ignored
and everything which begins with this is processed. So you can as well give
the section name
SMSBackupFoo and it will be processed.
The number of messages in backup file is currently limited by
GSM_BACKUP_MAX_SMS (100000 at time of writing this document).
Each section interprets one physical SMS message (eg. one message part in case of multipart messages).
For SMS backups created by Gammu, there is a decoded text as a comment just after the section name:
[SMSBackup001] ; This is message text
The text can be split to more lines if it is too long or of original message included new lines.
This is easiest way to get message text, however also the least reliable one, because it is stored in the comments in the file.
The following variables can be defined for each SMS:
- Text representation of SMSC number, not used by Gammu if
- Hex encoded UCS-2 string with SMSC number.
- Message class.
- Timestamp, when message has been sent.
Message type, one of:
Deliver- received message
Submit- message to send
Status_Report- message to send with delivery report
- Timestamp of message (sent or received).
- Whether receiver should reject duplicates.
- ID of message to replace.
- Message reference number as generated by network.
State of the message:
- Recipient number.
- Name of the message.
- Length of message text.
Coding of the message:
8bit- binary message
Default- GSM encoding, up to 160 chars in message
Unicode- Unicode encoding, up to 70 chars in message
- Numbered parts of the message payload.
- ID of folder where the message was saved.
- User defined header of the message.
The backup of message can look like following:
[SMSBackup000] #ABCDEFGHIJKLMNOPQRSTUVWXYZ # SMSC = "+4540590000" SMSCUnicode = 002B0034003500340030003500390030003000300030 Sent = 20021201T025023 State = UnRead Number = "+4522706947" NumberUnicode = 002B0034003500320032003700300036003900340037 Name = "" NameUnicode = Text00 = 004100420043004400450046004700480049004A004B004C004D004E004F0050005100520053005400550056005700580059005A000A Coding = Default Folder = 1 Length = 27 Class = -1 ReplySMSC = False RejectDuplicates = True ReplaceMessage = 0 MessageReference = 0