.. _gammu-smsbackup: 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 :ref:`ini`. Sections -------- The file consists of sections, whose name starts with ``SMSBackup``. When 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 :c:data:`GSM_BACKUP_MAX_SMS` (100000 at time of writing this document). ``SMSBackup`` section +++++++++++++++++++++ Each section interprets one physical SMS message (eg. one message part in case of multipart messages). Decoded text ~~~~~~~~~~~~ For SMS backups created by Gammu, there is a decoded text as a comment just after the section name: .. code-block:: ini [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. .. note:: This is easiest way to get message text, however also the least reliable one, because it is stored in the comments in the file. Variables ~~~~~~~~~ The following variables can be defined for each SMS: ``SMSC`` Text representation of SMSC number, not used by Gammu if ``SMSCUnicode`` exists. ``SMSCUnicode`` Hex encoded UCS-2 string with SMSC number. ``Class`` Message class. ``Sent`` Timestamp, when message has been sent. ``PDU`` Message type, one of: * ``Deliver`` - received message * ``Submit`` - message to send * ``Status_Report`` - message to send with delivery report ``DateTime`` Timestamp of message (sent or received). ``RejectDuplicates`` Whether receiver should reject duplicates. ``ReplaceMessage`` ID of message to replace. ``MessageReference`` Message reference number as generated by network. ``State`` State of the message: * ``Read`` * ``UnRead`` * ``Sent`` * ``UnSent`` ``Number`` Recipient number. ``Name`` Name of the message. ``Length`` Length of message text. ``Coding`` 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 ``Text00`` ... ``TextNN`` Numbered parts of the message payload. ``Folder`` ID of folder where the message was saved. ``UDH`` User defined header of the message. Example ------- The backup of message can look like following: .. code-block:: ini [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