Commented all the entries in setup.h.
[mdsms.git] / mdsms.1.in
1 .TH MDSMS 1 "17 May 1999" ~     VERSION ~ "SendSMS Manual"
2
3 .\~ $Id$
4 .\~
5 .\~ $Log$
6 .\~ Revision 1.2  1999/06/03 10:38:52  short
7 .\~ Implemented remaining communication timeouts and maximum retry count.
8 .\~
9 .\~ Revision 1.1.1.1  1999/05/26 13:06:26  short
10 .\~ First alpha release.
11 .\~
12
13 .SH NAME
14 mdsms \- send SMSes through MobilDock
15
16 .SH SYNOPSIS
17 .B mdsms
18 .RB [ "-c <cfgfile>" ]
19 .RB [ "-d <device>" ]
20 .RB [ "-l <lockfile>" ]
21 .RB [ "-s <smsc #>" ]
22 .RB [ "-m <#>" ]
23 .RB [ "-r <sec>" ]
24 .RB [ "-t <msec>" ]
25 .RB [ "-T <msec>" ]
26 .RB [ "\-vhV" ]
27 .RB [ "<dest. phone>" ]
28 .RB [ "<msg text>" ]
29
30 .SH DESCRIPTION
31 Program sends one SMS message through MobilDock device.
32
33 .SH OPTIONS
34 .TP
35 .BR -c | --config\  < cfgfile >
36 Process recursively this file and read all options from it. See the section
37 .B CONFIGURATION
38 for more information.
39 .TP
40 .BR -d | --device\  < device >
41 Specify serial device to communicate with MobilDock. If only bare name is
42 specified, "\fB/dev/\fP" is prepended automatically. This device name is used
43 subsequently with
44 .BR -l | --lockfile
45 option, see below.
46 .TP
47 .BR -l | --lockfile\  < lockfile >
48 Prior to accessing serial device specified above the lockfile should be
49 acquired for correct concurrent processes behaviour. Although this name
50 can be given as direct filename more common method is to use pattern
51 with embedded "\fB%s\fP" where this mark is replaced by actual basename
52 (last component of pathname with all preceding directory names stripped)
53 of serial device used.
54 Default name for lockfile is ~\fB       DEF_LOCKFILE    \fP~.
55 .TP
56 .BR -s | --smsc\  < smsc\ # >
57 Specify custom SMS center number. If not specified (or overriden as empty
58 string by \fB-s ""\fP)
59 .B mdsms
60 asks by "\fBAT+CSCA?\fP"
61 Siemens A1 for its default SMS center. Situation with undeterminable SMS center
62 is unrecoverable and casues immediate fail. It is a common practice to use
63 plus sign ("\fB+\fP") to indicate international number type.
64 Known SMS centers as of May 1999:
65 .RS
66 .TP
67 .BR "CZ Paegas " ( "230 01" "): " +420603052000
68 .TP
69 .BR "CZ EuroTel " ( "230 02" "): " +420602909909
70 .RE
71 .TP
72 .BR -m | --maxretry\  < # >
73 Maximum retries of any \fBAT\fP-style command during the session. All the
74 retries are summed during one run of
75 .B mdsms
76 and no more retries of the command are permitted. After exceeding this
77 value the program is terminated.
78 .TP
79 .BR -r | --readtime\  < sec >
80 Maximum response read timeout before give up.
81 .B mdsms
82 sends the requested \fBAT\fP-style command to
83 .B MobilDock
84 and expects response. Unfortunately when the voice call is in progress,
85 .B MobilDock
86 will block any serial device communication and it is impossible to differentiate
87 between calling
88 .B MobilDock
89 and stucked/disconnected one. After exceeding this time interval,
90 .B mdsms
91 is terminated immediately,
92 .B maxretry
93 parameter notwithstanding. Standard value is
94 .BR DEF_READTIME
95 seconds and should be enough for any voice call.
96 .TP
97 .BR -t | --chartime\  < msec >
98 Although the fixed used baudrate of
99 .B 19200
100 is pretty low, MobilDock/Siemens A1 couple
101 .RB "aren't"
102 able to accept steady
103 stream of data at this speed. Even the used XON/XOFF handshaking is just not
104 enough. The only possible workaround is to slowdown the communication by
105 waiting a bit after character sent to give relax time to these devices.
106 When full rate communication was used, occasional longer SMS data corruption
107 was observed. Argument is given in milliseconds and its default value is
108 .BR DEF_CHARTIME ms.
109 .TP
110 .BR -T | --cmdtime\  < msec >
111 This delay is given before sending any
112 .B AT-style
113 command to MobilDock/Siemens A1.
114 Its primary purpose is to let any previous entered commands to finish and
115 to clear any input before actually sending our own command. Also all Siemens
116 devices are known that they strongly dislike fast edge-to-edge communication
117 and to satisfy these requirements this delay was considered as the best
118 approach. The default value is
119 .BR DEF_CMDTIME ms.
120 .TP
121 .BR -v | --verbose
122 Increase verbosity level by one. Currently the maximum defined level is
123 .BR 3 ,
124 the default value is
125 .BR 0 .
126 .TP
127 .BR -h | --help
128 Give short parameters description to
129 .I stderr
130 (standard error output stream).
131 .TP
132 .BR -v | --version
133 Print the version number and exit.
134 .TP
135 .RB < "dest. phone" >
136 This mandatory parameter specifies the telephone number of the recipient
137 of SMS message. International prefix character plus
138 .RB ( + )
139 is supported the national mode without plus
140 .RB ( + )
141 prefix is supported and the meaning is specific to the GSM operator currently
142 being roamed in (NOT the native
143 .RB "'home'"
144 operator of the SIM card!).
145 This number can be made default in system configuration files, see below
146 for section
147 .BR CONFIGURATION .
148 .TP
149 .RB < "msg text" >
150 Here you write the exact body of the message. This parameter should be
151 specified only as one component, although if more found they are concatenated
152 with separating space (" "). But this practice is discouraged as
153 your shell will probably remove any multiple spaces found and also other
154 metacharacters may be incorrectly interpreted. To prevent any escaping
155 mess, you may prefer to omit this parameter and the the message text is
156 then read from
157 .I stdin
158 (standard input stream).
159
160 .SH CONFIGURATION
161 .B mdsms
162 reads ~\fB      CONFIG_MAIN     \fP~ followed by ~\fB$HOME      CONFIG_HOME     \fP~
163 configuration files. The content of these files (and also any file read by
164 .BR -c | --config
165 option)
166 has the usual
167 .BR getopt (3)
168 syntax with dashes. Newlines are taken as whitespace, both double ("\fB~\fP")
169 and single ("\fB'\fP")
170 quoting is supported. Embedded quote characters can be escaped by backslash
171 ("\fB\\\fP").
172 Arguments are processes in order as specified in configuration files and
173 finally the command-line of the program itself, overriding any previous
174 values.  Although the order of
175 .BR -c | --config
176 options on one line is preserved the first file is read AFTER all of the
177 current options are processed. Recursive use of
178 .B -c
179 is permitted and the files are read in LIFO (Last-In First-Out, AKA stack)
180 order. You should use "\fB-v -v\fP"
181 to see details of option processing with more complex configuration setups.
182
183 .SH OPERATION
184 Upon startup
185 .B mdsms
186 locks the port (see option
187 .BR -l | --lockfile
188 for details) and opens the serial device with hardcoded parameters of
189 19200 baud, software handshaking (XON/XOFF style), 8 bits, no parity.
190 Then issues the following commands:
191 .TP
192 .BR AT <CTRL-Z>
193 .B AT
194 is used to fool MobilDock and pass the following
195 .B <CTRL-Z>
196 (ascii decimal code 26) character to Siemens A1 and break it from eventual
197 .B AT+CMGS
198 mode in which it may errorneously remain from previous sessions.
199 .TP
200 .B AT
201 Test the responsiveness of Siemens A1.
202 .TP
203 \fBAT+CSCA="\fPsmc # from user\fB"\fP
204 This command is omitted if
205 .B "smsc #"
206 is not specified by user (or specified/overriden as empty string \fB""\fP
207 .TP
208 \fBAT+CSCA?\fP
209 Query the currently set SMC center number to include it later to the
210 header of SMS PDU format where it is required. If \fBAT+CSCA="\fP...\fB"\fP
211 was issued before, this number should match it but no sanity checks are
212 currently do so.
213 .TP
214 \fBAT+CMGF=0\fP
215 Set the default SMS message format to PDU type. Currently Siemens A1
216 .RB "doesn't"
217 support any other SMS format anyway.
218 .TP
219 \fBAT+CMGS=\fP# chars
220 This command physically sends the message and the resulting "\fB+CMGS:\fP" output
221 is catched and returned as
222 .B MR
223 (message reference) number to the user.
224 .TP
225 \fBAT\fP
226 Check that Siemens A1 survived the sending of the message.
227
228 .SH SEE ALSO
229 .TP
230 .B GSM 03.40
231 ETSI documentation for SMS messages in GSM networks
232 .TP
233 .B "Developers'" Guide: SMS with the A1
234 Tech note on PDU SMS format etc:
235 .B http:/               /www.siemens.se/telefoner/ovrigtgsm/fragorsvar/a1_sms.pdf
236 .TP
237 .B Technical Description of the Siemens A1
238 Siemens A1 command description
239 .B http:/               /www.siemens.se/telefoner/ovrigtgsm/fragorsvar/a1_manual.pdf
240
241 .SH FILES
242 .TP
243 \fB     CONFIG_MAIN     \fP
244 Main configuration file
245 .TP
246 \fB$HOME        CONFIG_HOME     \fP
247 User personalized local configuration file
248
249 .SH AUTHOR
250 .B mdsms
251 was written by Jan Kratochvil who should be responsible for all the bugs
252 included. Please see the file "\fBAUTHORS\fP"
253 shipped with the original distribution archive for more details.