Rückwärtssuche bei dasoertliche.de neues Script

kasper-ls

Neuer User
Mitglied seit
11 Jan 2008
Beiträge
46
Punkte für Reaktionen
0
Punkte
6
Hallo Leute.

--- Edit ---
Die neueste Version findet ihr hier.
-------------

Ich hab das alte CallerID mit AGI an VDR per Telnet übermitteln das einen Namen über http://www.dasoertliche.de sucht überarbeitet.
Sollte genau so funktionieren wie früher.
Sieht aber übersichtlicher aus.

- alles in einzelne Funktionen aufgeteilt

Man Kann das Script sehr einfach um weiter Funktionen wie z.B "OSD an Dbox" oder "such in einer SQL-DB" erweitern.

Code:
-- entfernt, weil veraltet
 
Zuletzt bearbeitet:
Man Kann das Script sehr einfach um weiter Funktionen wie z.B "OSD an Dbox" oder "such in einer SQL-DB" erweitern.


Wenn du mal übrige Zeit hast, könntest du dann eine Routine einbauen, um weitere Länder abzufragen?

Ich habe eine Anpassung des Originalscripts für die Schweiz und Österreich hier gesehen. Es ist ja eigentlich nicht viel anders für die einzelnen Länderer.
 
Hallo.

Das ist ja der Vorteil von den Funktionen.
Jeder kann neue Funktionen einbauen.
z.B. auch solche die andere Länder Abfragen.
Und im Eigendlichen Programm ablauf kann man mit geschickten Regeln das abfragen.

Kannst du mir mal Links zu den anderen Scripten geben?
Dann schau ich mir das an und binde es ein.
 
erweitert um SQLite-DB als Cache Speicher

Script um sqlite3 erweitert.

Man kann jetzt wählen, ob man eine Cache-Datei oder eine SQLite3-DB als Speicherort bevorzugt.

Anbei auch eine Muster DB.
Mit dem Programm sqlitebrowser kann man so eine DB sehr gut bearbeiten.
 

Anhänge

  • dasoertlichede_2.sh.tar
    10 KB · Aufrufe: 127
  • invsuche_cache_muster.db.tar
    10 KB · Aufrufe: 61
Hallo zusammen,

ich habe hier mal anbei als Skript eine Lösung in PHP für die Rückwärtssuche. Die Caching-Mechanismen sind nur als Dummie-Funktionen implementiert, genügend Ideen zur Ablage gab es ja schon.
Das Skript ermittelt jeweils den ersten Eintrag und sucht bei diesem nach Namen, Strasse und PLZ/Ort. Für USA/Kanada wird der Bundesstaat zusätzlich ausgegeben.
Im Testmodus ist die Nutzung der phpagi-Klasse auskommentiert. Entfernt man die Kommentare und setzt selbige an die Prints, kann man das ganze im * mit AGI(rueckwaerts.agi|$CALLERID(num)); verwenden, die CALLERID wird dann entsprechend gesetzt.

Derzeit unterstützte Länder (einschließlich genutzter Webseiten):

Deutschland www.dasoertliche.de
Österreich www.tb-online.at
Schweiz tel.search.ch
Luxemburg www.editustel.lu
Kanada www.411.ca
USA www.anywho.com

Weitere Länder baue ich gern ein, wenn jemand Webseiten kennt (an Belgien bin ich bereits dran, es tut aber noch nicht).

Hinweis: Die kanadische Seite ist recht langsam, alles andere geht zügig.
 

Anhänge

  • revers.zip
    25.7 KB · Aufrufe: 180
@abw1oim

Tolle sache dein Script. Leider in php Programiert und das kann ich nicht lesen.
Kannst du mir deine Suchstring auch in einer sed/awk Version posten, so das ich das in mein Script einbauen kann?
I
 
@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.
 

Anhänge

  • rueckwaerts.sh.gz
    3.5 KB · Aufrufe: 53
Zuletzt bearbeitet:
erweitert um sqlite2 support wegen cdr_sqlite.so

Hallo Leute.

Ich hab das Script um sqlite2 erweitert.

Der sqlite Support wird benötigt, falls man die cdr.db von Asterisk benutzen möchte.
Das cdr_sqlite.so bis Asterisk 1.4.19 nutzt noch eine sqlite2-db.
 

Anhänge

  • dasoertlichede_2a.tar.bz2
    2.2 KB · Aufrufe: 33
@abw1oim

Hallo.

Wir sollten mal unsere zwei bash Scripte Syncronisieren.
Währe ja blöde wenn es jetzt schon ein fork geben würde.
Ich hab meine letzte Änderung noch auf meiner alten Basis erstellt.

Was für einen Namen sollen wir den für das gemeinsame Script wählen?

Mein Vorschlag: ast_revers.agi
 
suche in Deutschland und Schweiz

Hallo.
Ich habe mich zu einer Namensänderung entschlossen.
- ast_revers.agi
Das Tar Files enthält jetzt auch eine Erstellungsdatum
- ast_revers.agi_2007.04.17.tar.bz2

Das Skript wurde um einen Länder Support erweitert.
Ein herzlichen Dank an "abw1oim" für die Integration.

Funktionen:
- Suche in Deutschland
- Suche in der Schweiz
- SQLite2 und SQLite3 -Cache (SQLite2 wird auch vom cdr_sqlite.so benutzt)
- Cache File
- Speichern in Internationaler Schreibweise
- Erkennung der eigene Lokation
- VDR-OSD
- Logfile
 

Anhänge

  • ast_revers.agi-0.1_2007.04.17.tar.bz2
    4.1 KB · Aufrufe: 37
und hier noch (kasper-ls hat das nicht mehr rechtzeitig bekommen) die Suche für ÖSTERREICH:

PHP:
function OESTERREICH {
SNUM=`echo $NUMMER | sed -e "s/^+${CC[$CINDEX]}/${NAC[$CINDEX]}/"`

#Variante für Lynx, nicht weiter verfolgt
#echo "pc=in&suchmaske=_einfach&aktion=suchein&loga=&selsort=&AktuelleSeite=0&blaettern=_einfach$SNUM&wen=&was=&wo=&karte=nichtanzeigen&telnummer=$SNUM" | \
#lynx -dump -nolist -force_html -post_data "http://www.tb-online.at/index.php" > $TMPFILE

#CURL - implementiert. alternativ: wget ab Version 1.11 (Option: --post_data)
curl -s -d "pc=in&suchmaske=_einfach&aktion=suchein&loga=&selsort=&AktuelleSeite=0&blaettern=_einfach$SNUM&wen=&was=&wo=&karte=nichtanzeigen&telnummer=$SNUM" http://www.tb-online.at/index.php > $TMPFILE
NAME=`grep 'class=\"name\".*' -m1 $TMPFILE | sed -e s/^.*\"name\"\>//g -e s/\<'\/'p\>.*//g`
if [ "$NAME" != "" ]; then
    DETAILS=`grep 'class=\"name\".*' -m1 -A1 $TMPFILE | sed -e s/^.*\"name\"\>.*//g -e s/\<p\ class\=\"telnummer\".*//g -e s/\<'\/'p\>/\|/g -e s/\<p\>//g -e s/\&nbsp\;/\ /g`
    STRA=`echo $DETAILS | cut -d '|' -f 1`
    ORT=`echo $DETAILS | cut -d '|' -f 2`
    DETAILS="$STRA, ${LAND[$CINDEX]}$ORT"
fi
rm $TMPFILE
}

@kasper-ls: Danke für die Integration, mache auf Deiner Basis weiter
 
Zuletzt bearbeitet:
Integration Österreich

Hallo.

Vor meinem Urlaub gibt es noch Österreich dazu.
 

Anhänge

  • ast_revers.agi_2007.04.17a.tar.bz2
    4.4 KB · Aufrufe: 26
Neue Version

So, hier nun das Neueste. Jetzt werden alle Länder unterstützt, die auch schon in meinem PHP-Skript steckten, also haben wir

Deutschland
Schweiz
Österreich
Luxemburg
USA
Kanada

Sind Euch eigentlich weitere Seiten für weitere Länder bekannt, die Rückwärtssuche unterstützen?
 

Anhänge

  • ast_revers.agi_2007.04.17.b.tar.bz2
    5.3 KB · Aufrufe: 44
Könnten die User die das Script einsetzen kurz berichten ob alles so tut wie es soll?
 
Könnten die User die das Script einsetzen kurz berichten ob alles so tut wie es soll?

Wenn Anrufer anonymous, dann Eintrag +497621anonymous
Ausserdem vermisse ich Anrufliste_log aus dem Originalscript (Kann sein ich bn nur zu blöd es zu finden.)
 
@kombjuder: Hast Du mal einen Link zum Original? Ich helfe hier ja sozusagen nur aus :rolleyes:

Was den Fehler betrifft: Ersetze mal

Code:
# Pruefen ob eine Nummer uebermittelt wurde
if [ "$NUMMER" == "" ]; then

mit

Code:
# Pruefen ob eine Nummer uebermittelt wurde (nur reine Ziffernfolge und +)
TEST=`echo $NUMMER | sed -e s/[\+0-9]//g` 
if [ "$TEST" != "" ] || [ "$NUMMER" == "" ] ; then

dann ist das Problem weg. In einer Folgeversion, in ders dann noch Frankreich, Belgien und Italien geben wird, ist der Fix dann enthalten.

Danke für die Fehlermeldung!

Edit 2008-04-19:
@komjuder: Hatte mal diesen alten Beitrag von Dir gefunden: Spanien : Falls Du das immer noch gerne hättest: Das wird leider für Privatpersonen nichts. Nach gegenwärtig bekanntem Status in Spanien ist die Rückwärtssuche seit 2002 untersagt. Für Unternehmen könnte es jedoch klappen, ich bastle da heute mal rum.
 
Zuletzt bearbeitet:
@kombjuder: Hast Du mal einen Link zum Original? Ich helfe hier ja sozusagen nur aus :rolleyes:

Ich suche nachher mal. Ist aber nichts besonders, nur eine Auflistung der eingegangenen Anrufe mit Datum, Uhrzeit und Name oder wenn nicht auflösbar Rufnummer.


Danke für die Fehlermeldung!

War ja schließlich gewünscht. Ist mir auchnur aufgefallen, als ich ein paar Einträge von Leuten berichtigt habe, die nicht im Telefonbuch stehen.

Edit 2008-04-19:
Für Unternehmen könnte es jedoch klappen, ich bastle da heute mal rum.


Zum Glück sind wir nicht in Spanien ...

Meine Frau würde sich freuen.

Danke für das tolle Script!
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,640
Beiträge
2,215,722
Mitglieder
371,219
Neuestes Mitglied
csgaming
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.