@paul53
für Anrufer aus "gesperrten Telefonbüchern" habe ich eine Lösung gefunden.
Jeder Name des "gesperrten Telefonbuches" beginnt mit einem signifikanten Zeichen, hier *.
88886e62-0f33-44f7-8769-5423c2c68d82-image.png
Im Scrip wird auf Vorhandensein in "tr-064.0.callForwarding" und beginnendem Zeichen des Anrufer namens reagiert.
// wenn Anrufer gesperrt dann Spaemmer in Tabelle speichern und ggf. Pushnachricht
if (istRufnummernbereichgesperrt (AnruferNummer) || istSperrTelefonbuch(AnruferName)) {
const jsonObj = JSON.parse(getState(idrufegesperrt).val);
while (jsonObj.length > maxUnerwuenschteAnrufer) {
jsonObj.splice(0, 1);
}
jsonObj.push({
"Datum": moment().locale("de").format('DD.MM.YY HH:mm'),
"Anrufer": AnruferName,
"Rufnummer": AnruferNummer,
"Anschluss": AnschlussName
});
setState(idrufegesperrt, JSON.stringify(jsonObj));
if (push) {
var nachricht = 'von: <font color="#ff4d00">' + AnruferName + '</font>\n' +
'Nr.: <font color="#ff4d00">' + AnruferNummer + '</font>\n' +
'auf: <font color="#ff4d00">' + AnschlussName + '</font>';
fPush (nachricht,'Anruf','intermission')
}
return;
}
// gesperrte Nummern
/**
* @param {string} eingehend
*/
function istRufnummernbereichgesperrt(eingehend) {
var treffer=false;
$('tr-064.0.callForwarding.*').each(function(id) {
var arr = getObject(id).common.name.split(" ");
if (arr[0] == "fromNumber" && arr[2] == "->") {
if (eingehend.startsWith(arr[1])) {
if (clog) {log ("!Nummer unerwünscht: "+eingehend+" - Filter: " + arr[1])};
treffer= true;
}
}
});
return treffer;
};
// Nummern aus SperrTelefonbuch Name beginnend mit "*"
/**
* @param {string} eingehend
*/
function istSperrTelefonbuch(eingehend) {
var treffer=false;
if (eingehend.startsWith("*")) {
if (clog) {log("gesperrter Anrufer: "+eingehend)};
treffer=true;
}
return treffer;
}