Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
callback(8)		    mgetty+callback manual		   callback(8)

       callback	- call a user back, presenting a login prompt

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

       Call the	given phone number (if none is given on	the command line,  ask
       user  for  one),	 and if	a CONNECT is established, hand over control to
       mgetty(8) to present user with a	login name prompt.

       callback	is used	for various purposes:

       * security: make	sure your users	are who	they pretend to	be by  calling
       a well-known phone number.

       * cost savings: make your company call you back.

       callback	 can be	called directly	from the command line (but you must be
       "root" to do this, otherwise callback can't  signal  mgetty),  or  from
       mgetty's	 "login.config". See the login.config file shipped with	mgetty
       for an example.

       -x <debug level>
	      Use the given level of verbosity for logging - 0 means  no  log-
	      ging, 5 is really	noisy.

       -V     Print version number and quit.

       -d     Do not go	into the background. This is helpful for debugging.

       -l <modem lines>
	      Use  the	given  modem lines. Multiple lines can be separated by
	      ":", as with sendfax(8). Example:	callback -l tty1a:tty2a

       -m <init	sequence>
	      Set the modem initialization sequence (as	usual: expect send ex-
	      pect  ...).  This	can do nearly everything, as long as it	leaves
	      the modem	command	responses on (that  is,	 no  ATQ1  here!)  and
	      switches	the  modem to data mode	(AT+FCLASS=0) if it is used in
	      data/fax mode.

       -s <speed>
	      This is the bit rate that	should be used for  the	 machine-modem
	      connection.   Usually you'll set this via	the "speed <nnnn>" op-
	      tion in "callback.config".

       -S     Use the line where callback is started  from  for	 dialing  out.
	      Callback can make	use of multiple	modem lines, and with this op-
	      tions, you can force it to use just one modem, the one  where  a
	      call comes in.

       callback	 will read all its configuration at run-time from a file, usu-
       ally called /usr/local/etc/mgetty+sendfax/callback.config. See the doc-
       umentation in the manual for	details.

       In  most	cases, callback	can't print any	error messages to the console,
       because it must detach itself immediately from the  terminal,  in  case
       someone	wants  to  be  called back on the modem	line he	called in. So,
       nothing to print	messages to...

       Because of this,	all callback errors are	logged to a protocol file (the
       extent  of  the	data  written is controlled by the "-x"	option), espe-
       cially including	the reason why a call was not made,  or	 what  exactly

       Just two	messages are printed on	stdout,	and those are self-explaining,
       a call from a non-root user, and	an invalid option.

       How does	it work?

       This is a bit tricky, because of	the way	init(8)	 handles  the  utmp(5)
       file.   You  can't just have any	program	ask the	user for a login name,
       and then	start a	"login shell", it won't	work (this  is	for  the  same
       reason mgetty(8)	has to be started from /etc/inittab).

       So,  mgetty has to do the "asking for login name". But I	do not want to
       have all	that dialout code in mgetty, bloating it even more.

       The way it works	is this: callback dials	out on a modem device. It will
       only  take  a modem device that has a mgetty watching over it (!). When
       the connection is established (CONNECT),	callback will  send  a	signal
       SIGUSR1	to  mgetty,  which, in turn, will send the same	signal back to
       signal "I got your signal".  callback then exits, and mgetty takes over
       the  existing  connection, prompts the user for a login name, and forks
       off /usr/bin/login.

       Conclusion: this	will not work with mgetty versions before February 04,
       1996  (no support for this signalling), and if it doesn't work for you,
       please send me BOTH the mgetty and the  callback	 log  file,  otherwise
       it's very hard to find the bugs.

       callback	is "alpha" code, not very stable right now.

       callback	is fairly dumb concerning retries.

       callback	must be	run as root.

       Most of the documentation consists of "reading the source".

       mgetty(8), ct(1)

       callback	 is  Copyright	(C)  1993-1996	by  Gert  Doering, <gert@gree->.

greenie				   27 Oct 93			   callback(8)


Want to link to this manual page? Use this URL:

home | help