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
33              logging, 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 debug‐
38              ging.
39
40       -l <modem lines>
41              Use the given modem lines. Multiple lines  can  be  sepa‐
42              rated  by  ":",  as with sendfax(8). Example: callback -l
43              tty1a:tty2a
44
45       -m <init sequence>
46              Set the modem initialization sequence (as  usual:  expect
47              send expect ...).  This can do nearly everything, as long
48              as it leaves the modem command responses on (that is,  no
49              ATQ1   here!)   and  switches  the  modem  to  data  mode
50              (AT+FCLASS=0) if it is used in data/fax mode.
51
52       -s <speed>
53              This is the bit rate that should be used for the machine-
54              modem connection.  Usually you'll set this via the "speed
55              <nnnn>" option in "callback.config".
56
57       -S     Use the line where callback is started from  for  dialing
58              out.  Callback  can make use of multiple modem lines, and
59              with this options, you can  force  it  to  use  just  one
60              modem, the one where a call comes in.
61
62

CONFIG FILE

64       callback  will  read  all  its  configuration at run-time from a
65       file, usually  called  /etc/mgetty+sendfax/callback.config.  See
66       the documentation in the mgetty.info manual for details.
67
68

DIAGNOSTICS

70       In  most  cases,  callback can't print any error messages to the
71       console, because it must detach itself immediately from the ter‐
72       minal, in case someone wants to be called back on the modem line
73       he called in. So, nothing to print messages to...
74
75       Because of this, all callback errors are logged  to  a  protocol
76       file  (the  extent of the data written is controlled by the "-x"
77       option), especially including the reason  why  a  call  was  not
78       made, or what exactly failed.
79
80       Just  two  messages  are  printed on stdout, and those are self-
81       explaining, a call from a non-root user, and an invalid option.
82
83

INTERNALS

85       How does it work?
86
87       This is a bit tricky, because of the  way  init(8)  handles  the
88       utmp(5)  file.  You can't just have any program ask the user for
89       a login name, and then start a  "login  shell",  it  won't  work
90       (this  is  for  the same reason mgetty(8) has to be started from
91       /etc/inittab).
92
93       So, mgetty has to do the "asking for login name". But I  do  not
94       want  to  have all that dialout code in mgetty, bloating it even
95       more.
96
97       The way it works is this: callback dials out on a modem  device.
98       It will only take a modem device that has a mgetty watching over
99       it (!). When the connection is established  (CONNECT),  callback
100       will  send a signal SIGUSR1 to mgetty, which, in turn, will send
101       the same signal back to signal "I got  your  signal".   callback
102       then  exits,  and  mgetty  takes  over  the existing connection,
103       prompts the user for a login name, and forks off /bin/login.
104
105       Conclusion: this will not work with mgetty versions before  Feb‐
106       ruary  04,  1996  (no  support  for  this signalling), and if it
107       doesn't work for you, please send me BOTH  the  mgetty  and  the
108       callback log file, otherwise it's very hard to find the bugs.
109
110

BUGS

112       callback is "alpha" code, not very stable right now.
113
114       callback is fairly dumb concerning retries.
115
116       callback must be run as root.
117
118       Most of the documentation consists of "reading the source".
119
120

SEE ALSO

122       mgetty(8), ct(1)
123

AUTHOR

125       callback is Copyright (C) 1993-1996 by Gert Doering, <gert@gree‐
126       nie.muc.de>.
127
128
129
130greenie                            27 Oct 93                       callback(8)
Impressum