NAME

SMSarch - SMS Phone to PC archiver


FEATURES

Archive SMS messages from your mobile phone to the neat text files named by the message sender.


SYNOPSIS

smsarch [-p com1] [-r] [-d] [-x|-x IMEI] [-w 50] [--pause]

smsarch --help | --man


OPTIONS

--portname=COM1 | -p COM1 | -p COM1,COM4,COM6-10
Sets the communication serial port by name. Multiple ports can be specified. The first that will succeed to open and respond to AT+GSN command will be used. Use multiple parameters or provide comma separated list.

--[no]refresh | -r
Forces/bans refresh of the address book from the phone.

--exportall | -x
All output text files will be re-created from the archive. Any changes to these files will be lost. Will not read any messages from the phone only the address book and IMEI.

--exportall=IMEI | -x IMEI
All output text files will be re-created from the archive. Any changes to these files will be lost. Will not read anything from the phone. The phone needs not to be connected. You have to specify correct IMEI number of an existing archive.

--delete | -d
Deletes messages from the phone after archiving.

--width=50 | -w 50
Sets the width of the message text in the archive.

--pause
Waits for <Enter> after exit.

--log
Creates a log file smsarch.log of communication between SMSarch and then the mobile phone.

--test
Test whether the phone is supported by SMSarch. Produces test log in the file smsarch_test.txt and regular communication log in the file smsarch.log.

--help | -h
Prints a brief help message and exits.

--man | -m
Prints the manual page and exits.


DESCRIPTION

This program reads the received SMS messages from the mobile phone and stores them in the formatted text files named by the sender.

Files

The program stores the address book and list of processed messages in the files addrbook.*IMEI*.dat and archived.*IMEI*.dat. The IMEI number is the serial number of the phone. These user definitions for message processing are stored in text file addrconv.*IMEI*.txt.

Address book

The address book is refresh after 14 days or the refresh can be forced/banned by the command line parameters. The program is able to read only the default phone number to each address book entry. The phone numbers must be in the international format (will be compared to the number of the message sender and only exact matches are processed).

User defined message processing

There is a possibility to add user defined entries to the address book, exclude certain phone numbers from archiving process, and set the sender name according to the message content.

The file can contain comments. Lines starting with # and anything not similar to the statements below is considered to be a comment.

#999111 => no_archive
foo bar

If the message matches the regular expression the specified sender name is used.

/^F:troo@mail\.com/ => 'Troo'
/^F:(\S+)/ => "$1"

Exclude all messages received from certain number by no_archive tag. The messages will be stored in the binary archive but the output text files will not be created.

999111 => no_archive

Add a new address book entry or overwrite an entry loaded from the phone by specifying the number and the name.

+420123456789 => 'Troo'

Output format

The messages are saved in the text files located in the messages.*IMEI* folder. The files are named by the message sender. If the name cannot be determined the phone number is used intead.

2003-11-16 16:44:13 ------------------------------
Zapomeli jsme vypnout topeni... Musime se
vratit... Sorry.

2003-11-22 15:51:46 ------------------------------
Ahoj. Muzu zavolat?

The messages are ordered by date and time. The multipart messages are concatenated. The width of the output can be changed by the command line parameter. The message content is reformated. The program insert spaces after dots, commas, question marks and exclamations. Any new line charactes are removed.

Archive

There is a binary archive of all the messages. You can re-create the output text files from the binary archive using the command line parameter. Any changes to the address book and user definitions are applied. The output folder is not cleaned but the respective files are overwritten.


COMPATIBILITY

The program has been tested on Windows 2000. It uses Win32::SerialPort but with few modification it could be used on Linux with Device::SerialPort as well.

The program is designed for Nokia 6310i mobile phone connected using cable or infra red (virtual COM port). Other Nokia models should be working as well. Other phones could work too because only standard AT commands are used.

The address book entries are read from the phone in unicode UCS-2 encoding if supported by the phone. The program uses CP852 character page for the screen and CP1250 character page for the file names in order to process Czech specific characters correctly.

Tested mobile phones

Other phones

Feel free to test SMSarch with the --test option. If the test fails or the application is not working due to phone incompatibility send me the log and test files produced. I'll try to modify SMSarch to work with your phone correctly. Please let me know if you are successful with phone not listed above.


CHANGE HISTORY

v1.1 (2003-12-14)

v1.0 (2003-11-23)


AUTHOR

SourceForge.net Logo

http://sourceforge.net/projects/smsarch/

Petr Smejkal <petr.smejkal@seznam.cz>, 23 November 2003.