1callback(8)                 mgetty+callback manual                 callback(8)
2
3
4

NAME

6       callback - call a user back, presenting a login prompt
7

SYNOPSIS

9       callback   [-x<debuglevel>]   [-V]   [-l<modemlines>]  [-m<initstring>]
10       [-s<speed>] [-d] [-S] [phone-number]
11

DESCRIPTION

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

OPTIONS

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

CONFIG FILE

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

DIAGNOSTICS

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

INTERNALS

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

BUGS

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

SEE ALSO

118       mgetty(8), ct(1)
119

AUTHOR

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)
Impressum