[fli4l] Fritzbox als VOIP-Client hinter fli4l nach dem IP-UP rebooten
Marcus Roeckrath
marcus.roeckrath at gmx.de
Mi Sep 14 21:15:34 CEST 2016
Hallo Erwin,
Erwin Lottermann wrote:
> Ja, Reboot ist von AVM vorgsehen.
> Den Link habe ich oben gesetzt.
> Da die Reboot-Funktion keinen speziellen Aufrufparameter erwartet und
> irgendwo etwas von SOAP stand, hatte ich vermutet, dass es am Ende nur
> auf den Aufruf einer speziellen Webadresse der Fritzbox hinausläuft
> (user-credentials wird man sicher auch mitschicken müssen).
Vielleicht so den Reboot auslösen (ungetestet; Vorsicht Umbrüche):
#!/bin/sh
FBIP='192.168.178.1'
FBPORT='49000'
FBPORTSSL='49443'
# Es kann auch ein in der Fritzbox definierter User sein
user="dslf-forum" # Standarduser in TR-064 festgelegt
password="x" # Passwort der Weboberfläche
control_url="`curl -s "http://${FBIP}:${FBPORT}/tr64desc.xml" | \
sed -e '/deviceinfo<\/controlURL\>/!d' -e 's/^<controlURL>//' -e
's/<\/controlURL>.*$//'`"
urn="`curl -s "http://${FBIP}:${FBPORT}/tr64desc.xml" | \
sed -e '/DeviceInfo:1<\/serviceType\>/!d' -e 's/^<serviceType>//' -e
's/<\/serviceType>.*$//'`"
FBPORTSSL=`curl -s -m 5 -X POST "http://${FBIP}:${FBPORT}${control_url}" \
-H "Content-Type: text/xml; charset=\"utf-8\"" \
-H "SoapAction:${urn}#GetSecurityPort" \
-d "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope
xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"
s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
<s:Body>
<u:GetSecurityPort xmlns:u=\"${urn}\">
</u:GetSecurityPort>
</s:Body>
</s:Envelope>" | \
grep 'NewSecurityPort' | sed
's#^.*<NewSecurityPort>\(.*\)<.*$#\1#'`
control_url="`curl -s "http://${FBIP}:${FBPORT}/tr64desc.xml" | \
sed -e '/deviceconfig<\/controlURL\>/!d' -e 's/^<controlURL>//' -e
's/<\/controlURL>.*$//'`"
urn="`curl -s "http://${FBIP}:${FBPORT}/tr64desc.xml" | \
sed -e '/DeviceConfig:1<\/serviceType\>/!d' -e 's/^<serviceType>//' -e
's/<\/serviceType>.*$//'`"
# Oder mit auth
# curl -s --anyauth -u "${user}:${password}" --insecure \
#
curl -s --insecure \
-X POST "https://${FBIP}:${FBPORTSSL}${control_url}" \
-H "Content-Type: text/xml; charset=\"utf-8\"' \
-H "SoapAction:${urn}#Reboot" \
-d "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"
s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">
<s:Body>
<u:Reboot xmlns:u=\"${urn}\">
</u:Reboot>
</s:Body>
</s:Envelope>"
Mit der Authentifizierung schlage ich mich gerade wegen Setzen und Löschen
von PortMappings rum. :-(
--
Gruss Marcus
Mehr Informationen über die Mailingliste Fli4L