@kasper-ls
Da muss ich mal schauen.
Bei Österreich ist das auf alle Fälle schwierig, da die Seite mit einem Post-Request aufgerufen werden muss. Ich hatte da mal was gefunden, da mir bash-Skripte aber ohnehin zu langsam sind (spätestens wenn noch ldap oder mysql genutzt werden sollen), hab' ich mirs leider nicht gemerkt.
Aber die greps auf den Seiten sollte ich hinbekommen
Ich meld' mich wieder
edit:
So, jetzt hab ich mal die Schweiz eingebaut, dazu Hinweis: Der Seitenaufruf hat sich mal wieder geändert: Die URL ist jetzt nicht mehr so, wie in meinem php-Skript angegeben, sondern vielmehr:
"http://tel.search.ch/result.html?name=&misc=&strasse=&ort=&kanton=&tel=<nummer>"
Zusätzlich kann der Parameter firma=1 bzw. privat=1 angegeben werden.
Wer meine php und die hier eingeflossenen bash-Erweiterungen in das Skript von kasper-ls vergleicht, wird Gemeinsamkeiten finden. Die sind beabsichtigt
Wesentlich überarbeitet wurde die Routine
normalisirung, die jetzt beliebige Nummernformate prüft und neben der zur Speicherung standardisierten Nummer eine rückwahlfähige, auf den Standort des Nutzers bezogene Rufnummer erzeugt, die auch an VDR bzw. Asterisk übergeben wird:
PHP:
#Hier stehen die Einstellungen für den eigenen Anschluss
IAC="00" # Vorwahlziffern für internationalen Anruf
NAC="0" # Vorwahlziffern für nationalen Anruf long Distance
CC=49 # eigener Ländercode (49 => Deutschland)
NDC=30 # eigene Vorwahl ohne 0 ( 30 => Berlin)
## Nummer Normalisierung auf internationales Formaat mit +<CC><NDC><SN>
function normalisierung {
# Leerzeichen raus
NUMMER=`echo $NUMMER | sed -e "s/\ //g"`
# Pruefen auf +
if [[ "$NUMMER" =~ ^\+.* ]]; then
# eigener IAC und eigener CC und eigener NDC
if [[ "$NUMMER" =~ ^\+$CC$NDC.* ]]; then
NUM=`echo $NUMMER | sed -e "s/^\+$CC$NDC//"`
# eigener IAC und eigener CC
elif [[ "$NUM" =~ ^\+$CC.* ]]; then
NUM=`echo $NUMMER | sed -e "s/^\+$CC$NDC/$NAC/"`
else
NUM=`echo $NUMMER | sed -e "s/^\+/$IAC/"`
fi
# Pruefen auf eigenen IAC
elif [[ "$NUMMER" =~ ^$IAC.* ]]; then
# eigener IAC und eigener CC und eigener NDC
if [[ "$NUMMER" =~ ^$IAC$CC$NDC.* ]]; then
NUM=`echo $NUMMER | sed -e "s/^$IAC$CC$NDC//"`
# eigener IAC und eigener CC
elif [[ "$NUM" =~ ^$IAC$CC.* ]]; then
NUM=`echo $NUMMER | sed -e "s/^$IAC$CC/$NAC/"`
else
NUM=$NUMMER
fi
NUMMER=`echo $NUMMER | sed -e "s/^$IAC/+/"`
# Pruefen auf long distance domestic
elif [[ "$NUMMER" =~ ^$NAC.* ]]; then
if [[ "$NUMMER" =~ ^$NAC$NDC.* ]]; then
NUM=`echo $NUMMER | sed -e "s/^$NAC$NDC//"`
else
NUM=$NUMMER
fi
NUMMER=`echo $NUMMER | sed -e "s/^$NAC/+$CC/"`
# Local Call
else
NUM=$NUMMER
NUMMER=+$CC$NDC$NUMMER
fi
}
Das gesamte überarbeitete Skript, das schon mal DE und CH handelt liegt anbei.