GET-Befehl funktioniert nicht, Alternativen?

Tschortscho

Neuer User
Mitglied seit
20 Mrz 2006
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte per Skript prüfen, ob eine Voip-Verbindung besteht. Hierzu habe ich von www.wehavemorefun.de
folgendes Skript per wget auf meine Box geladen. :

Code:
#!/bin/bash

interval=15
password=
host=fritz.box
wait=false
verbose=false

#----------------------------------------------------------------------------

print_help(){
	echo "usage: $0 [-w [-i INTERVAL]] [-h HOST] [-p PASSWORD]
Checks the FRITZ!Box for running phone calls through VoIP or waits for running
phone call(s) to terminate. Returns 0 if there are no phone calls.

Available options:
    -w           Wait until VoIP isn't used anymore
    -i INTERVAL  Check every INTERVAL if sip0 or sip1 is used (sets -w)
                 See sleep(1) for format of INTERVAL. Default: $interval
    -h HOST      Use HOST instead if the hostname $host
                 cannot be resolved correctly
    -p PASSWORD  Use PASSWORD to authenticate with the FRITZ!Box (should work)
    -v           Be verbose. Will only work with -w"
	exit 1
}

voipinuse() {
	GET "http://$host/cgi-bin/webcm?getpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&errorpage=..%2Fhtml%2Fde%2Fmenus%2Fmenu2.html&var%3Alang=de&var%3Apagename=home&var%3Aerrorpagename=home&var%3Amenu=home&var%3Apagemaster=&time%3Asettings%2Ftime=1190891366%2C-120&var%3Aactivtype=pppoe&var%3AtabInetstat=1&var%3Ashowsetup=1&login%3Acommand%2Fpassword=$password" | grep -o 'case "sip.": state = "3"' > /dev/null
	return $?
}


waitforvoiptoend(){
	if voipinuse; then
		if $verbose; then
			echo -n "Waiting for the phonecall to terminate...";
		fi
		while voipinuse; do
			sleep $interval;
			if $verbose; then
				echo -n ".";
			fi
		done
	fi
	if $verbose; then
		echo "Here we go!"
	fi
	return 0;
}

while getopts "i:p:h:vw" option; do
	case $option in
	i)	interval=$OPTARG
		wait=true
		;;
	p)	password=$OPTARG
		;;
	r)	host=$OPTARG
		;;
	w)	wait=true
		;;
	v)	verbose=true
		;;
	\?)	print_help
		;;
	esac
done

if $verbose; then
	echo "Verbose activated";
fi

if $wait; then
	waitforvoiptoend
	exit 0
fi

if voipinuse; then
        exit 1
else
        exit 0
fi
Wenn ich das Skript mit sh meinskript.sh ausführe, kennt er den GET-Befehl anscheinend nicht. Muss ich da noch etwas installieren? Oder gibts da nen alternativen Befehl dafür?

Danke für Eure Hilfe...


Ich mache meine ersten Schritte im Fritzbox-Modden, so bitte ich um etwas Nachsicht.

Gerät: FRITZ!Box Fon WLAN 7050 Firmware Version 14.04.33

Vielen Dank für Eure Hilfe