1callback(8) mgetty+callback manual callback(8)
2
3
4
6 callback - call a user back, presenting a login prompt
7
9 callback [-x<debuglevel>] [-V] [-l<modemlines>] [-m<initstring>]
10 [-s<speed>] [-d] [-S] [phone-number]
11
13 Call the given phone number (if none is given on the command line, ask
14 user for one), and if a CONNECT is established, hand over control to
15 mgetty(8) to present user with a login name prompt.
16
17 callback is used for various purposes:
18
19 * security: make sure your users are who they pretend to be by calling
20 a well-known phone number.
21
22 * cost savings: make your company call you back.
23
24 callback can be called directly from the command line (but you must be
25 "root" to do this, otherwise callback can't signal mgetty), or from
26 mgetty's "login.config". See the login.config file shipped with mgetty
27 for an example.
28
29
31 -x <debug level>
32 Use the given level of verbosity for logging - 0 means no log‐
33 ging, 5 is really noisy.
34
35 -V Print version number and quit.
36
37 -d Do not go into the background. This is helpful for debugging.
38
39 -l <modem lines>
40 Use the given modem lines. Multiple lines can be separated by
41 ":", as with sendfax(8). Example: callback -l tty1a:tty2a
42
43 -m <init sequence>
44 Set the modem initialization sequence (as usual: expect send
45 expect ...). This can do nearly everything, as long as it
46 leaves the modem command responses on (that is, no ATQ1 here!)
47 and switches the modem to data mode (AT+FCLASS=0) if it is used
48 in data/fax mode.
49
50 -s <speed>
51 This is the bit rate that should be used for the machine-modem
52 connection. Usually you'll set this via the "speed <nnnn>"
53 option in "callback.config".
54
55 -S Use the line where callback is started from for dialing out.
56 Callback can make use of multiple modem lines, and with this
57 options, you can force it to use just one modem, the one where a
58 call comes in.
59
60
62 callback will read all its configuration at run-time from a file, usu‐
63 ally called /etc/mgetty+sendfax/callback.config. See the documentation
64 in the mgetty.info manual for details.
65
66
68 In most cases, callback can't print any error messages to the console,
69 because it must detach itself immediately from the terminal, in case
70 someone wants to be called back on the modem line he called in. So,
71 nothing to print messages to...
72
73 Because of this, all callback errors are logged to a protocol file (the
74 extent of the data written is controlled by the "-x" option), espe‐
75 cially including the reason why a call was not made, or what exactly
76 failed.
77
78 Just two messages are printed on stdout, and those are self-explaining,
79 a call from a non-root user, and an invalid option.
80
81
83 How does it work?
84
85 This is a bit tricky, because of the way init(8) handles the utmp(5)
86 file. You can't just have any program ask the user for a login name,
87 and then start a "login shell", it won't work (this is for the same
88 reason mgetty(8) has to be started from /etc/inittab).
89
90 So, mgetty has to do the "asking for login name". But I do not want to
91 have all that dial-out code in mgetty, bloating it even more.
92
93 The way it works is this: callback dials out on a modem device. It will
94 only take a modem device that has a mgetty watching over it (!). When
95 the connection is established (CONNECT), callback will send a signal
96 SIGUSR1 to mgetty, which, in turn, will send the same signal back to
97 signal "I got your signal". callback then exits, and mgetty takes over
98 the existing connection, prompts the user for a login name, and forks
99 off /bin/login.
100
101 Conclusion: this will not work with mgetty versions before February 04,
102 1996 (no support for this signalling), and if it doesn't work for you,
103 please send me BOTH the mgetty and the callback log file, otherwise
104 it's very hard to find the bugs.
105
106
108 callback is "alpha" code, not very stable right now.
109
110 callback is fairly dumb concerning retries.
111
112 callback must be run as root.
113
114 Most of the documentation consists of "reading the source".
115
116
118 mgetty(8), ct(1)
119
121 callback is Copyright (C) 1993-1996 by Gert Doering, <gert@gree‐
122 nie.muc.de>.
123
124
125
126greenie 27 Oct 93 callback(8)