reverse lookup in www.dasoertliche.de für AAH 2.8

robinsonR schrieb:
Die Idee hatte ich auch schon. Ich suchte einfach eine elegantere Lösung.

Ich habe gerade eine gute Stunde damit verbracht, danach zu suchen, wie man in dieser Skriptsprache die Länge eines Strings erhält. Könnte mir mal jemand sagen, wo man eine Anleitung findet? Was zum Geier ist das? Irgendwann ist mir mal das Stichwort (B)ash über den Schirm geflimmert, aber dazu gibt's keine Längenfunktion, bzw. die 3Mio. Hinweise waren allesamt entweder nichts oder funktionierten nicht! :mad:

Ich würde immer noch gern meine Rückwärts-Schleife aufsetzen, die ggf. nach einer Hauptrufnummer sucht. RobinsonR's Problem könnte man damit auch leicht lösen ...

Im Skript-Forum hat auch niemand geantwortet, was'n bloß los!?

Grüße,
Olaf
 
Hi Olaf...

WM ist los...

Ich möchte auch noch was einbauen.
Ich möchte sehen aus welchem Land der Anruf kommt, wenn nicht aus der BRD.


Gruß
Stefan
 
robtor schrieb:
Somit zeigt ein sip-Telefon den Namen der gefunden wurde auch an!!!

Wieso nur ein Sip-Telefon?
Meine ISDN-Gigasets können das auch.
 
robinsonR schrieb:
Dummerweise sucht der Skript jetzt auch bei internen Anrufen. Wie kann ich das verhindern?

Bei mir gehen interne und externe Anrufe in unterschiedlichen Extensions ein. Die Suche wird nur in der extension für externe Anrufe angestossen.
 
kombjuder schrieb:
Bei mir gehen interne und externe Anrufe in unterschiedlichen Extensions ein. Die Suche wird nur in der extension für externe Anrufe angestossen.

Das hatte ich auch schon gedacht. Leider habe ich bei meiner Trixbox nicht herausfinden können, wo ich denn das Makro einfügen sollte.
 
robinsonR schrieb:
Ich habe jetzt das da gebastelt:

Code:
#!/bin/sh
#
read agi_request
read agi_language
read agi_channel
read agi_type
read agi_uniqueid
read agi_callerid
read agi_dnid
read agi_rdnis
read agi_context
read agi_extension
read agi_priority
read agi_enhanced
read agi_accountcode
read emptyline

#pfad zum cachefile
CACHE="/etc/asterisk/invsuche_cache.conf"

#pfad um das tempfile anzulegen
TMPFILE="/tmp/tmpsuche"
LOG="/var/log/asterisk/anrufliste_log"

if [ $1 == anonym ]; then

    NUMMER= $1
    NAME="ohne Nummer"
else
    NUMMER=`echo $1 | sed -e "s/\ //g" -e "s/+41/0/"`
    #echo "Suche nach $NUMMER im cache"
    NAME=`awk  -F '\t' '{ if ($1 == "'$NUMMER'") print $2 }' $CACHE`
    DETAILS=`awk  -F '\t' '{ if ($1 == "'$NUMMER'") print $3 }' $CACHE`
    #echo "Name: $NAME"
    #echo "Details: $DETAILS"
    if [ "$NAME" == "" ]; then
    #   echo "Suche nach $NUMMER in www.tel.search.ch"
        lynx "http://tel.search.ch/result.html?name=&misc=&strasse=&ort=&kanton=&tel=$NUMMER" \
        -dump -nolist -connect_timeout=3>  $TMPFILE

        if grep "Suche verfeinern" $TMPFILE
        then

         NAME=`grep [tel.search.ch] -A 12  $TMPFILE  | sed "/^$/d" | awk '{ if (FNR == 10) print $0 }' | sed -e "s/   //"`
         DETAILS=`grep [tel.search.ch] -A 12  $TMPFILE | sed "/^$/d" | awk '{ if (FNR == 11) print $0 }' | sed -e "s/\// /"`

                if  [ "$NAME" == "" ]; then
                    NAME="$NUMMER"
                    DETAILS="Fehler $2"
                else
                    echo -e "$NUMMER\t$NAME\t$DETAILS" >> $CACHE
                fi;

        else

               NAME="$NUMMER"
               DETAILS="Kein Eintrag $2"

        fi;

    fi
fi
rm -f /tmp/tmpsuche
echo -e "`date +%e.%m\ %H:%M ` $NAME $DETAILS" >>$LOG
echo 'SET VARIABLE LONGNAME '"\"$NAME $DETAILS" >/dev/stdout
read in

exit 0
Und das scheint zu funktionieren.
Da mein (Siemens)-Telefon beim anonym telefonieren "00None" überträgt, bzw. das in der Asterisk-Konsole angezeigt wird, habe ich beim Wählplan noch hinzugefügt, dass er bei eben diesem Vorkommen "anonym" als Nummer weitergeben soll. Darum taucht das auch hier
Code:
if [ $1 == anonym ]; then

    NUMMER= $1
    NAME="ohne Nummer"
else
auf. Vielleicht ist das ein Spezialfall oder es gibt eine elegantere Lösung; habe einfach auf die Schnelle nichts Besseres gefunden.

Ist zwar schon etwas her, ich möchte aber nochmals darauf zurückkommen. Und zwar ist mir aufgefallen, dass dieses Skript nicht in jedem Fall funktioniert und daher würde ich es gerne modifizieren.
Das Problem ist, dass in diesem Skript bestimmte Zeilen aus dem Suchergebnis /tmp/tmpsuche herausgenommen werden. Leider ist der zur Nummer gehörende Namen nicht immer in der gleichen Zeile zu finden. Wie also kann ich herausfinden, in welcher Zeile der gewünschte Namen zu finden ist? Die Frage ist auch, wie soll am einfachsten (sichersten) festgestellt werden, ob ein Eintrag gefunden wird oder nicht?
 
Das Örtliche hat ja jetzt eine neue Webseitenstruktur. Muss hier das reverse.agi Script geändert werden oder funktioniert das weiterhin?

Gruß Snuff
 
Hallo zusammen,

ich habe das neue reverse lookup Script aus diesem Beitrag http://www.ip-phone-forum.de/showthread.php?t=164211 auf Trixbox 2.8 installiert.

Auf der Konsole läuft es gut.
Ich bekomme es nur nicht in der extensions.conf ans laufen.

Hat es schon einer hin bekommen oder kann mir helfen?

Hier sollte der Code für das agi rein, nur wie?:


Code:
exten => s,1,GotoIf($["${MOHCLASS}" = ""]?dial)
exten => s,n,SetMusicOnHold(${MOHCLASS})
exten => s,n(dial),AGI(dialparties.agi)
exten => s,n,NoOp(Returned from dialparties with no extensions to call and DIALSTATUS: ${DIALSTATUS})


Danke
Stefan
 
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.