.titleBar { margin-bottom: 5px!important; }

Reverse Lookup Problem Anrufen Name Abfrage über tel.search.ch

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von silver_ch, 18 Nov. 2011.

  1. silver_ch

    silver_ch Neuer User

    Registriert seit:
    18 Jan. 2005
    Beiträge:
    87
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hallo zusammen,

    PBX:
    Ich habe ein Astlinux Asterisk PBX auf CF Karte mit Schreibschutz nur /tmp Ordner ist beschreibbar.

    Problem:
    Ich versuche mit dem Reverse Lookup.AGI Script welche ich installiert habe Namensabfrage über tel.search.ch.Script funktioniert aber mein Asterisk zeigt mir Name von Anrufen nicht er zeigt mit immer nur die Nummer.Ich bekomme brav im /tmp 5 files und als Inhalt steht über tel.search.ch abgefragte Name.Asterisk zeigt mit aber als CallerID 2x Nummer z.B. 0796223185 0796223185 statt 0796223185 Name Vorname.

    mein extensions.conf schaut so aus:

    Code:
    exten =>15,1,Set(CHANNEL(language)=de)
    exten =>15,n,AGI(lookup.agi, ${CALLERID(num)})
    exten =>15,n,Set(CALLERID(name)=${LONGNAME})
    exten =>15,n,Dial(SIP/15,10,r)
    exten =>15,n,Answer
    exten =>15,n,Playback(vm-nobodyavail)
    exten =>15,n,Voicemail(15)
    exten =>15,n,Hangup
    
    CLI zeigt bei einem Anruf folgendes :

    Code:
    – Called 15@15
    — Executing [15@15:1] Set(“Local/15@15-6c26;2″, “CHANNEL(language)=de”) in new stack
    — Executing [15@15:2] AGI(“Local/15@15-6c26;2″, “lookup.agi, 0796223185″) in new stack
    — Launched AGI Script /var/lib/asterisk/agi-bin/lookup.agi
    — AGI Script lookup.agi completed, returning 0
    — Executing [15@15:3] Set(“Local/15@15-6c26;2″, “CALLERID(name)=”) in new stack
    — Executing [15@15:4] Dial(“Local/15@15-6c26;2″, “SIP/15,10,r”) in new stack
    
    mein lookup.agi
    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=”/tmp/invsuche_cache”#pfad um das tempfile anzulegen
    TMPFILE=”/tmp/tmpsuche.html”
    TMPFILE2=”/tmp/tmpclir”
    LOG=”/tmp/anrufliste_log”
    echo “$1-$2-$3″ >/tmp/reverse.tmp
    if [ "$1" = " " ] || [ -z "$1" ]; then
    echo “Keine Nummer”
    #echo | tail -n 10 /var/log/syslog | grep “RING (” >>$TMPFILE2
    #if [ "`tail -c 10 $TMPFILE2`" = "z audio) " ]; then
    NAME=”analoger Anrufer”
    DETAILS=”Keine details”
    #fi
    #if [ "`tail -c 10 $TMPFILE2`" = "(Speech) " ]; then
    # NAME=”aktiv unterdrueckt”
    # DETAILS=”ISDN anrufer ohne Nummer”
    #fi
    else
    NUMMER=`echo $1 | sed -e “s/\ //g” -e “s/+41/0/”`
    echo “Suche nach $NUMMER im cache”
    NAME=`awk -F ‘—’ ‘{ if ($1 == “‘$NUMMER’”) print $2 }’ $CACHE`
    if [ -z "$NAME" ]; then
    wget -O $TMPFILE “http://maindomain.ch/telsearch.php?tel=$NUMMER”
    NAME=`cat $TMPFILE`
    if [ ! -z "$NAME" ]; then
    printf “$NUMMER—$NAME\n” >> $CACHE
    fi
    fi
    if [ -z "$NAME" ]; then
    NAME=”$NUMMER”
    fi
    fi
    ###
    ### Here you can add “additional alert code”
    ###
    # directly source an external scriptlet, for better separation with this publicly updated script
    #. /usr/local/asterisk/reverse.agi_notifier_sh
    printf “`date +%Y-%m-%d\ %H:%M` $NAME\t$NUMMER\n” >>$LOG
    echo ‘SET VARIABLE LONGNAME ‘”\”$NAME\”" >/tmp/stdout
    read in
    exit 0
    


    nach einem Anruf erhalte ich im /tmp 5 files
    1.) file anrufliste_log
    Code:
    2011-11-17 03:56 Name Vorname	0796223185
    
    2.) file invsuche_cache
    Code:
    0796223185—Name Vorname
    
    3.) file reverse.tmp
    Code:
    0796223185–
    
    4.) file stdout
    Code:
    SET VARIABLE LONGNAME “Name Vorname”
    5.) file tmpsuche.html
    Code:
    Name Vorname
    
    ev. kann jemand sehen wo ich einen Fehler gemacht habe ?

    Beste Grüsse aus der Schweiz