RPM build added, generated with "./autogen.sh rpm".
[mdsms.git] / mdsms.1.in
index 8e829f9..80a8c61 100644 (file)
@@ -1,22 +1,37 @@
-.TH MDSMS 1 "17 May 1999" ~    VERSION ~ "SendSMS Manual"
+.TH MDSMS 1 "30 Oct 1999" ~    VERSION ~ "MDSMS Manual"
 
 .\~ $Id$
-.\~
-.\~ $Log$
-.\~ Revision 1.2  1999/06/03 10:38:52  short
-.\~ Implemented remaining communication timeouts and maximum retry count.
-.\~
-.\~ Revision 1.1.1.1  1999/05/26 13:06:26  short
-.\~ First alpha release.
-.\~
 
 .SH NAME
-mdsms \- send SMSes through MobilDock
+mdsms \- Mobile Device SMS tool
 
 .SH SYNOPSIS
-.B mdsms
+.BR "mdsms --send" [ -mobildock ]
+.RB options...
+.RB [ "\-f" ]
+.BR "<dest. phone>"
+.BR "<msg text>"
+.br
+.BR "mdsms --receive"
+.RB options...
+.BR "<command name>"
+.br
+.BR "mdsms --logo-send"
+.RB options...
+.BR "<dest. phone>"
+.BR "<logo filename>"
+.RB [ "<GSMnet id>" ]
+.br
+.BR "mdsms --ring-send"
+.RB options...
+.BR "<dest. phone>"
+.BR "<ring filename>"
+.br
+options:
 .RB [ "-c <cfgfile>" ]
 .RB [ "-d <device>" ]
+.RB [ "-L <file>" ]
+.RB [ "-b <rate>" ]
 .RB [ "-l <lockfile>" ]
 .RB [ "-s <smsc #>" ]
 .RB [ "-m <#>" ]
@@ -24,11 +39,21 @@ mdsms \- send SMSes through MobilDock
 .RB [ "-t <msec>" ]
 .RB [ "-T <msec>" ]
 .RB [ "\-vhV" ]
-.RB [ "<dest. phone>" ]
-.RB [ "<msg text>" ]
 
 .SH DESCRIPTION
-Program sends one SMS message through MobilDock device.
+Program sends one SmartMessaging SMS through one of the supported mobile
+device connected through the serial port. Currently supported:
+.RS
+.TP
+.B Nokia Communicator 9000/9000i
+All modes except \fB--logo-send\fP supported.
+.TP
+.B Nokia Communicator 9110
+All modes supported. This is the only device with \fB--logo-send\fP capability for now.
+.TP
+.B Siemens A1
+Firmware revision 2.0 required. All modes except \fB--logo-send\fP supported.
+.RE
 
 .SH OPTIONS
 .TP
@@ -38,12 +63,28 @@ Process recursively this file and read all options from it. See the section
 for more information.
 .TP
 .BR -d | --device\  < device >
-Specify serial device to communicate with MobilDock. If only bare name is
+Specify serial device to communicate with your mobile. If only bare name is
 specified, "\fB/dev/\fP" is prepended automatically. This device name is used
-subsequently with
+consequently with
 .BR -l | --lockfile
 option, see below.
 .TP
+.BR -L | --log\  < file >
+Log all important messages to this file preceded by timestamp, machine hostname
+etc., similar to output of
+.BR syslogd (8).
+If set to empty string (which is default - ~\fB        DEF_LOGNAME     \fP~), nothing
+is logged anywhere.
+.TP
+.BR -b | --baud\  < rate >
+Sets custom baudrate for accessing Nokia modem. Supported speeds are currently:
+\fB2400\fP,
+\fB4800\fP,
+\fB9600\fP,
+\fB19200\fP,
+\fB38400\fP,
+\fB57600\fP. Default is \fB    DEF_BAUD        \fP.
+.TP
 .BR -l | --lockfile\  < lockfile >
 Prior to accessing serial device specified above the lockfile should be
 acquired for correct concurrent processes behaviour. Although this name
@@ -58,7 +99,7 @@ Specify custom SMS center number. If not specified (or overriden as empty
 string by \fB-s ""\fP)
 .B mdsms
 asks by "\fBAT+CSCA?\fP"
-Siemens A1 for its default SMS center. Situation with undeterminable SMS center
+for the current default SMS center. Situation with undeterminable SMS center
 is unrecoverable and casues immediate fail. It is a common practice to use
 plus sign ("\fB+\fP") to indicate international number type.
 Known SMS centers as of May 1999:
@@ -74,27 +115,44 @@ Maximum retries of any \fBAT\fP-style command during the session. All the
 retries are summed during one run of
 .B mdsms
 and no more retries of the command are permitted. After exceeding this
-value the program is terminated.
+value the program is terminated. Exception is \fB--receive\fP which is never
+quit after the initial initialisation has been successfuly negotiated.
 .TP
 .BR -r | --readtime\  < sec >
-Maximum response read timeout before give up.
+Maximum response read timeout before command retry.
 .B mdsms
-sends the requested \fBAT\fP-style command to
-.B MobilDock
-and expects response. Unfortunately when the voice call is in progress,
+sends the requested \fBAT\fP-style command to the device and expects response.
+After exceeding this time interval,
+.B mdsms
+reissues the last command until the maximum retry count (\fBmaxretry\fP) is exhausted.
+Standard value is
+.BR DEF_READTIME
+seconds and should be enough for standard
+.B mobiles
+responses. This is the only point where
+.B --send-mobildock
+differs the behaviour from regular
+.B --send
+option. Unfortunately when
 .B MobilDock
-will block any serial device communication and it is impossible to differentiate
-between calling
+has a voice call in progress, it will block any serial device
+communication with \fBSiemens A1\fP and it is impossible to differentiate between call-in-progress
 .B MobilDock
-and stucked/disconnected one. After exceeding this time interval,
+and stucked/disconnected one, so the parameter
+.B readtime
+has very large value, see further. After exceeding this time interval,
 .B mdsms
 is terminated immediately,
 .B maxretry
-parameter notwithstanding. Standard value is
-.BR DEF_READTIME
+parameter notwithstanding. Standard value of this parameter is
+.BR DEF_READTIME_MOBILDOCK
 seconds and should be enough for any voice call.
 .TP
 .BR -t | --chartime\  < msec >
+\fB(This paragraph\fP
+.BR "doesn't"
+\fBapply to Nokia 9110 or similiar smart devices but the functionality has been
+retained just to be on the safe side.)\fP
 Although the fixed used baudrate of
 .B 19200
 is pretty low, MobilDock/Siemens A1 couple
@@ -108,16 +166,27 @@ was observed. Argument is given in milliseconds and its default value is
 .BR DEF_CHARTIME ms.
 .TP
 .BR -T | --cmdtime\  < msec >
+\fB(This paragraph\fP
+.BR "doesn't"
+\fBapply to Nokia 9110 or similiar smart devices but the functionality has been
+retained just to be on the safe side.)\fP
 This delay is given before sending any
 .B AT-style
-command to MobilDock/Siemens A1.
+command to the device.
 Its primary purpose is to let any previous entered commands to finish and
 to clear any input before actually sending our own command. Also all Siemens
 devices are known that they strongly dislike fast edge-to-edge communication
 and to satisfy these requirements this delay was considered as the best
-approach. The default value is
+approach.
+The default value is
 .BR DEF_CMDTIME ms.
 .TP
+.BR -f | --file
+When parameter <\fBmsg text\fP> has been specified, by using this option
+\fBmdsms\fP will read the file with the <\fBmsg text\fP> filename instead
+and send its \fBcontents\fP as the SMS message.
+This parameter is applicable only together with \fB--send\fP or \fB--send-mobildock\fP mode.
+.TP
 .BR -v | --verbose
 Increase verbosity level by one. Currently the maximum defined level is
 .BR 3 ,
@@ -129,12 +198,12 @@ Give short parameters description to
 .I stderr
 (standard error output stream).
 .TP
-.BR -v | --version
+.BR -V | --version
 Print the version number and exit.
 .TP
 .RB < "dest. phone" >
 This mandatory parameter specifies the telephone number of the recipient
-of SMS message. International prefix character plus
+of SmartMessaging message. International prefix character plus
 .RB ( + )
 is supported the national mode without plus
 .RB ( + )
@@ -156,6 +225,31 @@ mess, you may prefer to omit this parameter and the the message text is
 then read from
 .I stdin
 (standard input stream).
+This parameter is applicable only together with \fB--send\fP or \fB--send-mobildock\fP mode.
+.TP
+.RB < "logo filename" >
+Here you specifify the filename of the logo file to be uploaded. Currently
+recognized file formats are \fBNOL\fP (Nokia logo?) and \fBNGG\fP (Nokia
+Group Graphics). These formats are proprietary by \fBKESSLER Wireless Design\fP
+and \fBmdsms\fP currently "can't" edit them.
+This parameter is applicable only together with \fB--logo send\fP mode.
+More info can be found on:
+.RS
+.B http:/      /www.kessler-design.com/wireless/operatorlogo.php3
+.RE
+.TP
+.RB < "GSMnet id" >
+Specify GSM network code to be set on the logo being uploaded. Upon upload to
+Nokia phone each operator logo has a GSM network code binded with it. When
+you are registered (even roamed) into such network the logo is displayed on
+the phone. Current Nokia mobile phones can handle only one logo loaded
+simultaneously, it will be rewritten by any other upload. You can also
+specify string ~\fB    WORD_GROUP      \fP~ to send the logo as group graphics
+(even from \fBNOL\fP format) or string ~\fB    WORD_NET        \fP~ to force detection
+of network code from \fBNOL\fP. The default if this parameter is not specified
+is ~\fB        WORD_NET        \fP~ for \fBNOL\fP files and ~\fB       WORD_GROUP      \fP~ for
+\fBNGG\fP files.
+This parameter is applicable only together with \fB--logo send\fP mode.
 
 .SH CONFIGURATION
 .B mdsms
@@ -185,20 +279,22 @@ Upon startup
 .B mdsms
 locks the port (see option
 .BR -l | --lockfile
-for details) and opens the serial device with hardcoded parameters of
-19200 baud, software handshaking (XON/XOFF style), 8 bits, no parity.
-Then issues the following commands:
+for details) and opens the serial device with specified baudrate (default
+\fB    DEF_BAUD        \fP baud), software handshaking (XON/XOFF style), 8 bits,
+no parity. Then issues the following commands:
 .TP
-.BR AT <CTRL-Z>
+.BR AT <ESCAPE><CTRL-Z>
 .B AT
-is used to fool MobilDock and pass the following
-.B <CTRL-Z>
-(ascii decimal code 26) character to Siemens A1 and break it from eventual
+is used to fool
+.B MobilDock
+(if present, otherwise it is harmlesss anyway) and pass the following
+.B <ESCAPE><CTRL-Z>
+(ascii decimal code 27 followed by 26) characters to the device and break it from eventual
 .B AT+CMGS
 mode in which it may errorneously remain from previous sessions.
 .TP
 .B AT
-Test the responsiveness of Siemens A1.
+Test the responsiveness of the device.
 .TP
 \fBAT+CSCA="\fPsmc # from user\fB"\fP
 This command is omitted if
@@ -209,27 +305,82 @@ is not specified by user (or specified/overriden as empty string \fB""\fP
 Query the currently set SMC center number to include it later to the
 header of SMS PDU format where it is required. If \fBAT+CSCA="\fP...\fB"\fP
 was issued before, this number should match it but no sanity checks are
-currently do so.
+currently do so. Also it is used to detect possibly unset SMS center.
+.TP
+.RB "Mode-dependent."
+Here are executed the commands listed for each of the specified operation
+mode separately.
 .TP
-\fBAT+CMGF=0\fP
-Set the default SMS message format to PDU type. Currently Siemens A1
-.RB "doesn't"
-support any other SMS format anyway.
+\fBAT\fP
+Check that the mobile survived our torture.
+
 .TP
-\fBAT+CMGS=\fP# chars
+The following operations are dependant on the operation:
+.TP
+.BR --send / --send-mobildock :
+.RS
+.TP
+\fBAT+CMGF=0\fP, if fails \fBAT+CMGF=1\fP
+Set the default SMS message format to PDU type (preferred) or text mode (if
+PDU not available). Next \fB+CMGS\fP command is dependant on the mode selected
+by this one.
+.TP
+\fBAT+CMGS=\fP# chars if \fB+CMGF=0\fP
+This command physically sends the message and the resulting "\fB+CMGS:\fP" output
+is catched and returned as
+.B MR
+(message reference) number to the user. \fB# chars\FP corresonds to total data
+bytes sent to the phone (so the half of the hex-string, SMSC is included).
+SMSC number is preceding the rest of PDU to be conformant with GSM Phase 2
+specification. Siemens M1 or Siemens M20 rev. 1.x are known that
+.RB "don't"
+like this SMSC number, I have to get in touch with such device to be able to autodetect
+it properly (mail me if you want to be helpful).
+.TP
+\fBAT+CMGS="\fPphone # from user\fB"\fP if \fB+CMGF=1\fP
+The same as the previous command except that the message is text as pure text
+terminated with \fB<CTRL-Z>\fP character. SMSC number is not present anywhere
+in this mode.
+.RE
+.TP
+.BR --logo-send / --ring-send :
+.RS
+.TP
+\fBAT+CSMP=81,,0,245\fP
+Sets PDU type to 81 (\fBSMS-SUBMIT\fP + integer-type for \fBvalidity\fP
++ \fBUDHI\fP - user data header indicator), PID (protocol identifier) to
+0 (standard non-converted SMS) and DCS (data coding scheme) to 0xF5
+(\fBdata coding\fP/\fBmessage class\fP, \fB8-bit data\fP + \fBmobile-equipment\fP
+specific).
+.TP
+\fBAT+CMGS="\fPphone # from user\fB"\fP
 This command physically sends the message and the resulting "\fB+CMGS:\fP" output
 is catched and returned as
 .B MR
 (message reference) number to the user.
 .TP
-\fBAT\fP
-Check that Siemens A1 survived the sending of the message.
+\fBAT+CSMP=17,,0,0\fP
+Resets back PDU type to 17 (\fBSMS-SUBMIT\fP + integer-type for \fBvalidity\fP),
+PID (protocol identifier) to 0 (standard non-converted SMS) and DCS (data coding
+scheme) to 0 (\fBalphabet indication\fP, \fBdefault 7-bit alphabet\fP).
+.RE
+.TP
+.BR --receive :
+.RS
+.TP
+FIXME
+To be written according to \fBAT+CMGF=0\fP support.
+.RE
 
 .SH SEE ALSO
 .TP
 .B GSM 03.40
 ETSI documentation for SMS messages in GSM networks
 .TP
+.B GNokii, tools and drivers for Nokia mobile phones
+Nokia logo data format was read from its sources:
+.B http:/      www.gnokii.org/
+.TP
 .B "Developers'" Guide: SMS with the A1
 Tech note on PDU SMS format etc:
 .B http:/              /www.siemens.se/telefoner/ovrigtgsm/fragorsvar/a1_sms.pdf