gsmpb - GSM mobile phone phonebook manipulation program
gsmpb [ -b baudrate ] [ --baudrate baudrate ] [ -c ] [ --copy ] [ -d
destination device or file ] [ --destination destination device or file
] [ -h ] [ --help ] [ -i ] [ --index ] [ -I init string ] [ --init init
string ] [ -p phonebook name ] [ --phonebook phonebook name ] [ -s
source device or file ] [ --source source device or file ] [ -t
character set ] [ --charset character set ] [ -v ] [ --version ] [ -V ]
[ --verbose ] [ -X ] [ --xonxoff ] [ -y ] [ --synchronize ]
gsmpb can store or retrieve phonebook entries residing in a GSM mobile
phone’s phonebook to or from a file. A synchronization mode is also
gsmpb reads entries from the source which can be a mobile phone (if a
serial device file is given) or a file (if a file name is given). The
source is never modified. gsmpb writes phonebook entries to a
destination file or device. Depending on the mode the source is copied
to the destination file, thus overwriting the destination, or the
destination is synchronized with regard to the source which is the
default (details see below).
If "-" is given as the parameter for the --source or --destination
options, the phonebook is read from standard input and/or written to
standard output, respectively.
Phonebook entries names are encoded using the GSM default alphabet in
the mobile phone, whereas they are stored using the Latin-1 encoding in
phonebook files. When reading phonebook entries from a mobile phone
entry names are converted from the GSM default to Latin-1. Characters
that can not be converted to Latin-1 are encoded as character code 172
(Latin-1 boolean "not"). When writing file-based phonebook entries to a
mobile phone a conversion to the GSM default alphabet takes place.
Characters that can not be converted are encoded as GSM delta (code
16). If the default character set has been changed using the --charset
option no conversion takes place.
Error messages are printed to the standard error output. If the program
terminates on error the error code 1 is returned.
-b baudrate, --baudrate baudrate
The baud rate to use. The default baudrate is 38400.
This causes the contents of the source to be copied to the
destination. After this operation the destination has exactly
the same contents as the source.
-d destination, --destination destination
The destination device or file.
Prints an option summary.
-I init string, --init init string
Initialization string to send to the TA (default: "E0"). Note
that the sequence "ATZ" is sent first.
If the index position is given, gsmpb preserves the assignment
of entries to memory slots in the mobile phone’s phonebook. This
can be used to backup phonebook entries with their position into
a phonebook file or to change the position of entries by editing
a phonebook file and writing them back to the mobile phone. If
this option is given the phonebook file used as the source must
contain indices for every entry. Additionally, these indices
must be unique, ie. it is not allowed to assign one entry twice
to a specific position in the mobile phone’s phonebook.
-p phonebook, --phonebook phonebook
The name of the phonebook to read from or write to. This is only
used for device sources and destinations. Commonly available
FD SIM fixdialling-phonebook
LD SIM last-dialling-phonebook
ME ME phonebook
MT combined ME and SIM phonebook
SM SIM phonebook
TA TA phonebook
-s source, --source source
The source device or file.
-t character set, --charset character set
Set the character set to use for phonebook
operations (default is the GSM default alphabet).
Prints the program version.
Prints out a detailed progress report.
Uses software handshaking (XON/XOFF) for accessing
This causes the contents of the source to be
synchronized with the destination (default).
Synchronization in this context means:
- If the source contains an entry with a name that
does not exist in the destination this entry is
added to the destination.
- If the source contains an entry with a name that
can also be found in the destination, the entry
in the destination is overwritten (ie. the
telephone number is updated). Exception: More
then one entry with the name exists in the
destination. In this case the new entry ist just
- Entries in the destination that do not exist in
the source are deleted.
Note that synchronization has the following
properties that differ from copying: This
algorithm does not change the location of
unchanged entries in the destination phonebook.
The synchronization function is not case-sensitive
when comparing names.
PHONEBOOK FILE FORMAT
Phonebook entries are stored in phonebook files that are
meant to be human-readable and -editable. There is one
phonebook entry per line, and each line has the format:
The fields have the following meanings:
index The index of the entry which must be a positive
number. The index may also be empty. Indices can be
used in conjunction with the --index option to
store the entry into a specific position in the
text Descriptive text for the entry. The text may
contain the special characters ’\’, ’|’, carriage
return (ASCII code 13), or line feed (ASCII code
10). These must be written "\\", "\|", "\r", "\n",
respectively. The text should only contain
characters that can be encoded using the GSM
default alphabet (see comments above).
Phone numbers can only contains the digits 0-9 and
the ’+’ sign. A ’+’ sign denotes an international
The following invocation of gsmpb synchronizes the mobile
phone’s SIM phonebook with the file $HOME/.phonebook:
gsmpb --synchronize -b 19200 -d /dev/mobilephone \
-s $HOME/.phonebook -p "SM"
Peter Hofmann <email@example.com>
Report bugs to firstname.lastname@example.org. Include a complete, self-
contained example that will allow the bug to be
reproduced, and say which version of gsmpb you are using.
Copyright © 1999 Peter Hofmann
gsmpb is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General
Public License as published by the Free Software
Foundation; either version 2, or (at your option) any
gsmpb is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU Library General Public License for
You should have received a copy of the GNU Library General
Public License along with gsmpb; see the file COPYING. If
not, write to the Free Software Foundation, 675 Mass Ave,
Cambridge, MA 02139, USA.
gsminfo(7), gsmctl(1), gsmsendsms(1), gsmsmsd(8),