Hallo,
seit kurzem kann man ja mit blockIncomingPhoneCall im FRITZBOX-Modul Einträge für Rufsperren konfigurieren.
Was ich vermisse ist die Möglichkeit diese Rufsperren auszulesen.
Kann mir bitte wer zeigen wie solch ein tr064-Befehl für GetCallBarringList aussieht ?
Ist es denkbar dafür einen getter in FRITZBOX oder eher FB_CALLMONITOR zu ergänzen ?
Gruß
Thomas
Hallo Thomas,
probier mal in der box hinter tr064Command
X_AVM-DE_OnTel:1 x_contact GetCallBarringList
Da kommt bei mir ein Link auf eine xml Datei zurück.
Mit meiner Notiz (https://heinz-otto.blogspot.com/2018/08/fritzbox-mit-tr064-abfragen.html) bin ich da ziemlich geradeaus hingekommen.
Gruß Otto
Hallo,
Du kannst auch alle Einträge so abrufen:
get <name> luaData xhr 1 page callLock
oder im json Format
get <name> luaData [json] xhr 1 page callLock
Grüße Jörg
Thx, ich schaue mir später alle Vorschläge an, geht gerade nicht.
Die Json-Variante hört sich interessant an, am Ende sollen die Nummern im sip_filter-Attribut einer SIP-Definition landen. Meine bisherige Lösung über ein Spam-Telefonbuch mag ich damit ersetzen.
X_AVM-DE_OnTel:1 x_contact GetCallBarringList
Service='X_AVM-DE_OnTel:1' Control='x_contact' Action='GetCallBarringList'
----------------------------------------------------------------------
$VAR1 = {
'GetCallBarringListResponse' => {
'NewPhonebookURL' => 'https://192.168.188.1:49443/phonebook.lua?sid=0b2e5e06bb2c55c0&pbid=258'
}
};
Wenn ich die URL aufrufe, bekomme ich eine 404-Seite zurück ?
Gibts bei dem Aufruf irgendwas zu beachten ?
Wäre es i.O. wenn ich mir die Nummern unkonventionell via regexp aus dem JSON hole ?
{my $v=q({"data":[{"numberstring":"01234","uid":101,"numbers":[{"type":"geschäftl.","number":"01234"}],"typeSuffix":"_entry","name":"blib"},{"numberstring":"4567","uid":100,"numbers":[{"type":"geschäftl.","number":"04567"}],"typeSuffix":"_entry","name":"Testy"}],"sid":"c79e146eab0af28c","sidNew":0,"pid":"fonDevice"});;join (',',$v =~ m/number...(\d+)/gm)}
Wie würdet Ihr das angehen ?
Hallo,
Du kannst das json auch in einen Hash konvertieren und dann einfach eine Schleife drüber laufen lassen.
Grüße Jörg
Zitat von: TomLee am 08 April 2024, 23:14:20Wenn ich die URL aufrufe, bekomme ich eine 404-Seite zurück ?
Gibts bei dem Aufruf irgendwas zu beachten ?
Bei mir wurde sofort eine xml Datei geladen. :-\
Zitat von: Otto123 am 09 April 2024, 11:34:34Zitat von: TomLee am 08 April 2024, 23:14:20Wenn ich die URL aufrufe, bekomme ich eine 404-Seite zurück ?
Gibts bei dem Aufruf irgendwas zu beachten ?
Bei mir wurde sofort eine xml Datei geladen. :-\
Hallo,
ich bekomme auch nur eine 404. Habe aber auch dann nicht weiter geforscht.
Grüße Jörg
ja, lohnt sich wahrscheinlich nicht. Aber ich bekomme nur die HTTPS Zertifikatswarnung der Fritzbox, wenn ich die ignoriere geht es. Ich dachte ich hätte vielleicht gestern noch eine Sitzung zur FB offen gehabt, aber es nicht so.
Zitat von: JoWiemann am 09 April 2024, 07:32:25Hallo,
Du kannst das json auch in einen Hash konvertieren und dann einfach eine Schleife drüber laufen lassen.
Grüße Jörg
Einfach weil ich Spass dran hab und es mich fuchst wie man so was macht, halt ich hier mal fest wie das für die numberstring-Werte ginge. Bleiben tu ich aber bei der regexp-Variante.
Ohne Zuhilfenahme von "KI", ohne Unterstützungsbeiträge von Betateilchens hier im Forum zu lesen hätte ich es aber nicht hinbekommen:
sub treb {
my $json = '{"data":[{"name":"Spam1","typeSuffix":"_entry","numbers":[{"type":"geschäftl.","number":"04042236852"}],"uid":101,"numberstring":"04042236852"},{"name":"Spam10","typeSuffix":"_entry","numbers":[{"number":"03414999480076","type":"privat"}],"uid":109,"numberstring":"03414999480076"},{"numberstring":"0302325671212","uid":110,"numbers":[{"type":"privat","number":"0302325671212"}],"typeSuffix":"_entry","name":"Spam11"},{"typeSuffix":"_entry","name":"Spam12","numbers":[{"type":"privat","number":"020189067704"}],"uid":111,"numberstring":"020189067704"},{"numberstring":"021732651045","uid":112,"numbers":[{"number":"021732651045","type":"privat"}],"name":"Spam13","typeSuffix":"_entry"},{"numberstring":"036121871533","uid":113,"numbers":[{"number":"036121871533","type":"privat"}],"typeSuffix":"_entry","name":"Spam14"},{"typeSuffix":"_entry","name":"Spam15","uid":114,"numbers":[{"type":"privat","number":"04085599911"}],"numberstring":"04085599911"},{"name":"Spam16","typeSuffix":"_entry","numberstring":"0721509531027","uid":115,"numbers":[{"type":"privat","number":"0721509531027"}]},{"typeSuffix":"_entry","name":"Spam17","uid":116,"numbers":[{"type":"privat","number":"039155721386"}],"numberstring":"039155721386"},{"numberstring":"039155721230","numbers":[{"number":"039155721230","type":"geschäftl."}],"uid":100,"typeSuffix":"_entry","name":"Spam2"},{"typeSuffix":"_entry","name":"Spam3","numberstring":"073598407944","numbers":[{"type":"privat","number":"073598407944"}],"uid":102},{"numberstring":"028616879965","uid":104,"numbers":[{"type":"privat","number":"028616879965"}],"name":"Spam4","typeSuffix":"_entry"},{"numbers":[{"type":"privat","number":"085631477662"}],"uid":103,"numberstring":"085631477662","name":"Spam5","typeSuffix":"_entry"},{"numberstring":"089452054228","uid":105,"numbers":[{"number":"089452054228","type":"privat"}],"name":"Spam6","typeSuffix":"_entry"},{"numberstring":"06920023399","numbers":[{"number":"06920023399","type":"privat"}],"uid":106,"typeSuffix":"_entry","name":"Spam7"},{"numbers":[{"number":"023274177620","type":"privat"}],"uid":107,"numberstring":"023274177620","typeSuffix":"_entry","name":"Spam8"},{"name":"Spam9","typeSuffix":"_entry","numberstring":"0891247111346","numbers":[{"type":"privat","number":"0891247111346"}],"uid":108}],"sid":"bcc25b1219484c07","sidNew":1,"pid":"fonDevice"}';
my $decoded = decode_json($json);
my @numbers = @{$decoded->{'data'}};
my $counter = 0;
@numbers = map { $numbers[$counter++]->{'numberstring'} } @numbers;
Debug join(",",@numbers);
}
edit:
Die Nummern aus number:
@numbers = map { $numbers[$counter++]->{'numbers'}->[0]->{'number'} } @numbers;