NAME
gsmsmsd - SMS message reception daemon
SYNOPSIS
gsmsmsd [ -a action ] [ --action action ] [ -b baudrate ] [ --baudrate
baudrate ] [ -c concatenatedID ] [ --concatenate concatenatedID ] [ -C
service centre address ] [ --sca service centre address ] [ -d device ]
[ --device device ] [ -D ] [ --direct ] [ -f ] [ --flush ] [ -h ] [
--help ] [ -I init string ] [ --init init string ] [ -r ] [
--requeststat ] [ -s spool directory ] [ --spool spool directory ] [ -t
SMS store name ] [ --store SMS store name ] [ -v ] [ --version ] [ -X ]
[ --xonxoff ] { sms_type }
DESCRIPTION
gsmsmsd reads new incoming SMS from the mobile phone and dispatches
them to a user-defined action. Additionally it can send SMS message
that it reads from a spooldir.
gsmsmsd attaches itself to the device given on the command line
(usually an GSM modem) using the specified baudrate and waits for
incoming SMS messages. If no device is given, the device
/dev/mobilephone is used. If no baudrate is given, a default baud rate
of 38400 is used.
If no action is given, the SMS message is printed to the standard
output. If an action is specified the action is excecuted using the
shell and the SMS message is written to the standard input of the
action.
gsmsmsd needs one empty storage slot for SMS messages in the mobile
phone, otherwise SMS reception will not work. The SMS store to use for
temporary storage of incoming SMS can be selected using the --store
option, otherwise the ME default store is used.
To terminate gsmsmsd cleanly (without losing SMS messages) one should
send either SIGINT (CTRL-C on the command line) or SIGTERM to the
process.
Error messages are printed to the standard error output. If the
program terminates on error the error code 1 is returned.
sms_type may be any combination of:
sms, no_sms
Controls reception of normal SMS messages.
cb, no_cb
Controls reception of cell broadcast messages.
stat, no_stat
Controls reception of status reports.
The default is sms, cb, and stat.
OPTIONS
-a action, --action action
The action to execute for each incoming SMS message. If no
action is given the SMS is written to the standard output.
-b baudrate, --baudrate baudrate
The baud rate to use.
-c concatenatedID, --concatenate concatenatedID
If an ID is given, large SMSs are split into several,
concatenated SMSs. All SMSs have the same ID and are numbered
consecutively so that the receiving phone can assemble them in
the correct order. IDs must be in the range 0..255. This number
is increased by one for every outgoing concatenated SMS and
wraps around after 255. Not all receiving phones will support
concatenated SMSs (and display them as separate SMSs), since all
the numbering and ID information is carried in the user data
header element at the beginning of the SMS user data. This
information may show up as garbage in such phones.
-C service centre address, --sca service centre address
Sets the service centre address to use for all SUBMIT SMSs (may
not work with some phones).
-d device, --device device
The device to which the GSM modem is connected. The default is
/dev/mobilephone.
-D, --direct
Enables direct routing of incoming SMS messages to the TE. This
is not supported by many mobile phone/GSM modem combinations.
Therefore, the default is to store incoming SMS temporarily
before processing them in the indicated store.
-f, --flush
This option causes gsmsmsd to flush (ie. read and erase)
existing SMS messages from the SMS store selected by the --store
option. The action given by the --action option is executed on
each of the flushed SMS. This option should be used to ensure
that enough space is available in the SMS store for temporary
storage of incoming SMS, otherwise incoming SMS might be ignored
silently by the ME.
-h, --help
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.
-r, --requeststat
Request status reports for sent SMS. Note: This option only
makes sense if the phone supports routing of status reports to
the TE. Otherwise the status reports might show on the phone’s
display or get lost.
-s spool directory, --spool spool directory
This option sets the spool directory where gsmsmsd expects SMS
messages to send. The format of SMS files is very simple: The
first line contains the phone number of the recipient.
Everything else after the first line is interpreted as the SMS
text. Please refer to gsmsendsms(1) for details on the SMS text
character set and maximum length. gsmsmsd polls the spool
directory every 5 seconds. Sent SMS message files are removed.
-t SMS store name, --store SMS store name
The name of the SMS store to read from (for the --flush option)
or write to (for temporary SMS storage). This option must be
must be used in conjunction with the --flush option. If this
option is omitted the ME uses it’s default SMS store for
temporary storage of incoming SMS. A commonly available message
store is "SM" (SIM card).
-v, --version
Prints the program version.
-X, --xonxoff
Uses software handshaking (XON/XOFF) for accessing the device.
EXAMPLES
The following invocation of gsmsmsd sends each incoming SMS message as
a mail to the user "smsadmin":
gsmsmsd -d /dev/ttyS2 -b 19200 -a "mail smsadmin"
This is the format of SMS deliver messages as output from gsmsmsd:
----------------------------------------------------------------
Message type: SMS-DELIVER
SC address: ’491710762100’
More messages to send: 1
Reply path: 0
User data header indicator: 0
Status report indication: 0
Originating address: ’01805000102’
Protocol identifier: 0x39
Data coding scheme: default alphabet
SC timestamp: 17.12.98 14:10:55(+0100)
User data length: 159
User data header: 0x
User data: ’Nicht vergessen! Die XtraWeihnachtsverlosung lauft
noch bis zum 24.12. Nutzen Sie jetzt Ihre Gewinnchance und faxen
Sie Ihren Teiln.-Gutschein an 0180/5000 056’
----------------------------------------------------------------
This is the format of SMS status report messages as output from
gsmsmsd:
----------------------------------------------------------------
Message type: SMS-STATUS-REPORT
SC address: ’’
More messages to send: 0
Status report qualifier: 0
Message reference: 0
Recipient address: ’’
SC timestamp: 00.00.00 00:00:00(+0000)
Discharge time: 00.00.00 00:00:00(+0000)
Status: 0x0 ’Short message received by the SME’
----------------------------------------------------------------
The following invocation of gsmsmsd flushes all existing messages from
the "SM" SMS store and looks in the "/tmp/spooldir" directory for SMS
to send:
gsmsmsd -d /dev/ttyS2 --spool /tmp/spooldir -f --store sm \
--action ’mail smsadmin’
FILES
/dev/mobilephone
Default mobile phone device.
AUTHOR
Peter Hofmann <software@pxh.de>
BUGS
Cell broadcast SMS message reception has not been tested, but it has
been enabled in the gsmsmsd daemon.
The mobile phone device is blocked when the gsmsmsd daemon is running,
ie. it cannot be used for data transfer or from the other programs of
this suite (gsmpb, gsmsms).
Report bugs to software@pxh.de. Include a complete, self-contained
example that will allow the bug to be reproduced, and say which version
of gsmsmsd you are using.
COPYRIGHT
Copyright © 1999 Peter Hofmann
gsmsmsd 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 later version.
gsmsmsd 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 more details.
You should have received a copy of the GNU Library General Public
License along with gsmsmsd; see the file COPYING. If not, write to the
Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
SEE ALSO
gsminfo(7), gsmpb(1), gsmctl(1), gsmsendsms(1), gsmsmsstore(1).