Die Rufliste der Fritzbox soll auf einer Dedizierten HTML Seite dargestellt werden, die auch auf IPhone/IPad funktioniert und kein Passwortlogin erfordert.
http://fritzbox/cgi-bin/webcm?getpage=../html/de/home/foncallsdaten.xml&sid=<hier kommt die SID>
gibt ein XML von der Rufliste
<Foncalls> <Calls id="0"> <Type>2</Type> <Date>21.12.12 11:47</Date> <Number>0XXXXXX</Number> <Port/> <Duration>0:00</Duration> <Route>1</Route> <RouteType>1</RouteType> <Name></Name> <FonbookType/> <PortName></PortName> <Path></Path> </Calls> </Foncalls>
wobei:
Type | Bedeutung |
---|---|
1 | Ankommender Anruf |
2 | Anruf in Abwesenheit |
3 | Ausgehender Anruf |
Beim Anmelden an der Fritzbox will man nur den „sid“ Parameter herausknobeln, den man Url mitgeben muss, damit die Fritzbox akzeptiert, dass man angemeldet ist.
Die Anmeldung an der FritzBox läuft folgendermaßen ab:
["security:status/challenge"] = "1fe918cd",
<Challenge>-<Passwort>
def digest(self, string): """Calculate the md5 digest like fritzbox does. """ d=[] for i in unicode(string): d.append(ord(i)) m = md5.new() m.update(struct.pack('h'*len(d), *d)) return m.hexdigest()
<Challenge>-<Hash>
und an die Adresse
http://fritzbox/login.lua
als POST Parameter mit dem Namen „response“ gesendet.
Ruft man immer nur (wie oben angegeben) die foncallsdaten.xml ab, wird man feststellen, dass die Daten dort nicht aktualisiert werden.
Dies passiert nur, wenn man die FritzBox Seite besucht.
Man kann dies allerdings auch mit dem Aufruf der URL
http://fritzbox/home/home.lua?sid={0}&comfort=0&useajax=1&xhr=1
machen. Hierbei ist „{0}“ mit der aktuellen sid zu ersetzen.