Bash script to remote reboot some Grandstream phones

Works with GXP1160 / GXP1165 / GXP2120
Might work with other Grandstream phones....

gsreboot {admin_password} {phone_IP}

cat /usr/local/bin/gsreboot

sid=$(curl -s -c /tmp/cookies.txt -d"password=${1}" http://${2}/cgi-bin/dologin | sed -r 's|.*"sid" : "([0-9a-z]+)".*|\1|' )
curl -b /tmp/cookies.txt -d"request=REBOOT&sid=${sid}" http://${2}/cgi-bin/api-sys_operation

Reboot all phones
arp -an | grep 00:0b | gsrebootall admin

cat gsrebootall

while read str ;
ip=$(echo -n ${str} | grep -o -E '([0-9]{1,3}\.){3}[0-9a-z]{1,3}')
if [ "${ip}" ] ; then
    echo Reboot ${ip}
    gsreboot ${1} ${ip}

This Script works for GXP-2000

gsreboot {admin_password} {phone_IP}

cat /usr/local/bin/gsreboot

curl -s --cookie-jar /tmp/cookies.txt -d "Login=Login&P2=${1}&gnkey=0b82" http://${2}/dologin.htm
curl -b /tmp/cookies.txt http://${2}/rs.htm

See also

Created by: laigor, Last modification: Sun 26 of Jul, 2015 (20:10 UTC) by sofagris
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+