Works with GXP1160 / GXP1165 / GXP2120. Might work with other Grandstream phones….
Usage:
gsreboot {admin_password} {phone_IP}
cat /usr/local/bin/gsreboot
#!/bin/bash
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
#!/bin/bash
while read str ;
do
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}
fi
done
This Script works for GXP-2000
Usage:
gsreboot {admin_password} {phone_IP}
cat /usr/local/bin/gsreboot
#!/bin/bash
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