| # ===================================================================================== | |
| # 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" |