A dialback service is one which you dial up to, provide some kind of
identification and/or authentication, such as a name and/or password, and then
it looks up your phone number in a database and calls you back. It is a type
of security, based on having the phone numbers of all authorized callers, and
opening sessions for them only when they are calling from those numbers.
Suppose you were using a Hayes modem to make a call to a dialback service.
You would do the following: Here you would have the identification / authentication dialog. Now the
dialback service hangs up on you, and you must put the modem in answer mode:
When the call comes in, the modem answers and you're on line.
But now you want to automate the process. This is easily accomplished in
Kermit. Let's use C-Kermit 6.0 to illustrate, since it has a new ANSWER
command. Here is a simple script to do the job: At this point, you would use INPUT and OUTPUT commands to accomplish the
identification / authentication dialog. For example, if the dialback server
prompts you with USERNAME: and PASSWORD:, and your script had previously stored
these values in the variables \%u and \%p, respectively: Now you will need to hang up your end of the connection, and then wait for
the phone to ring:
31 How Do I Call up a Dialback Service?
ATD7654321 (Dial the number)
CONNECT 14400 (Read the response)
NO CARRIER (The connection is closed)
ATS0=1 (Tell the modem to answer the next call)
set modem type usr ; or whatever
set port /dev/cua ; or whatever
set speed 38400 ; or whatever
dial 7654321 ; dial the number
if fail stop
input 10 USERNAME:
if fail stop 1 No username prompt
output \%u\13
input 10 PASSWORD:
if fail stop 1 No password prompt
output \%p\13
hangup
answer 120
if fail stop 1 No callback
The ANSWER command conditions the modem for answering (ATS0=1 for Hayes
and compatible modems) and then waits the given number of seconds (120 in this
case) for the call to come in. At this point, if the script is still
executing, you've got a connection. You can give a CONNECT command, or execute
a login script, or whatever else you want to do.
Kermit FAQ / Columbia University / kermit@kermitproject.org