#!/bin/bash # Skripta so koja pppd go vrti brojot na provajderot # referenci /usr/share/doc/ppp-*, man pppd, man chat # Kolku pati da probuva da vrti ako naide na zafateno ili greshka MAX=30 # Kolku da cheka pomegju vrtenja ( format 1s, 1m, 1h ) PAUZA=1s TELEFON=$1 # Funkcija za vrtenje na brojot # # Linijata # 'OK' 'AT&FX3M3 # e initial stringot za modemot. Bi trebalo da raboti kaj # site hardverski modemi. Ako neshto ne e vo red samo napishete go # vashiot initial string # # Mozhe eventualno da se smeni M3 komandata(poslednata) # M0 - zvuchnikot na modemot sekogash iskluchen # M1 - ukluchen dodeka vrti se dodeka najde server na drugata strana # M2 - sekogash ukluchen ( losha ideja :-) ) # M3 - iskluchen dodeka vrti, ukluchen dodeka ne najde server na drugata strana # janko - 'OK' 'ATX3M0L0&Q5&M0&G0%C3' \ # isata moj #'OK' 'AT&FX3M0&Q5%C3' \ # 'OK' 'AT&FX3M3L1&Q5&M0&G0%C3' \ # conexant AT&FW3+MS=V90,1,28800,33600,28800,56000 function callnumber { /usr/sbin/chat -T $TELEFON \ TIMEOUT 1 \ ABORT 'BUSY' \ ABORT 'NO ANSWER' \ ABORT 'RING\r\n\r\nRING' \ '' 'AT' \ 'OK-+++\c-OK' 'ATH0' \ TIMEOUT 20 \ 'OK' 'ATZ' \ TIMEOUT 50 \ 'OK' 'ATX3DT\T' \ ECHO ON \ CONNECT '' # Proveruva dali dali si dobil nekoj broj. if [ "$?" = "0" ]; then exit 0 fi return } # Vrti dodeka nekoj ne se javi attempt=0 while : ; do attempt=`expr $attempt + 1` callnumber $attempt if [ "$attempt" = "$MAX" ]; then exit 1 fi sleep "$PAUZA" done