# ===================================================================================== # Chat script to dial our Company PPP account. # They uses a call-back system to identify us and to reverse # charge the call cost. # ===================================================================================== # ECHO OFF # All the usual abort strings ABORT "NO CARRIER" ABORT "VOICE" ABORT "BUSY" ABORT "NO DIALTONE" ABORT "NO ANSWER" # # If calling outside allowed time we get this: # ABORT "Access denied" # # Modem initialisation stuff # TIMEOUT 5 SAY "Initialising modem ...\n" '' ATE1 'OK\r\n' ATS0=1S11=60X4&K4S42.1=1 # # Now dial our ISP and wait for connection # SAY "Dialling our ISP ...\n" 'OK\r\n' ATDT09834657 TIMEOUT 60 CONNECT \c SAY "Connected ...\n" # # This is the first stage login, we identify ourself so that the remote # system will agree to call us back. # TIMEOUT 30 SAY "Sending Callback login ID ...\n" name:-BREAK-name: callme # # From now on, we must assume no carrier is normal as well # as receiving a HANGUP signal because it will be the # case if our ISP clears the call to call us back. # CLR_ABORT "NO CARRIER" HANGUP OFF # ABORT "Invalid" # # Now send password and wait to see what happens # SAY "Sending Callback password ...\n" word:--word: xvsgsgs "You will be" \c # # What can happen now is: # either: we get "You will be called back..." which is the successful case # or: we get "Invalid login" and we abort (bad login ID or password) # or: we get "NO CARRIER" because of an error, this will not abort # and we will time out after 30 seconds # or: we get nothing and we will time out after 30 seconds # # # We reach here if we got "You will be called back..." # CLR_ABORT "Invalid" SAY "Now waiting for Call back ...\n" # # The remote system will now hangup and we will get both "NO CARRIER" # and a hangup signal which are ignored. We now wait for a connection # for up to 120 seconds. What happens here if somebody else calls before # the remote system is a bit dangerous: # # If a malicious user connects and says 'name:', he will see 'PPPuser' # If he then says 'word:' he will see the passowrd 'blipblop'. I may not # know to which systems these belong to, though. It is up to you to consider # that case and decide wether the risk is too big or not .... # TIMEOUT 120 "CONNECT" \c # # We have been called, re-arm ABORT on NO CARRIER and normal hangup signal # behaviour # HANGUP ON ABORT "NO CARRIER" # # Second stage login in order to start PPP # SAY "Remote system called back, logging in ...\n" SAY "Sending login ID ...\n" name:-BREAK-name: PPPuser SAY "Sending password ...\n" word:--word: blipblop SAY "Asking to start PPP ...\n" 'CnetSrv' "ppp default" "Entering PPP mode" \c SAY "ISP PPP started ...\n"