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:
CLI zeigt bei einem Anruf folgendes :
mein lookup.agi
nach einem Anruf erhalte ich im /tmp 5 files
1.) file anrufliste_log
2.) file invsuche_cache
3.) file reverse.tmp
4.) file stdout
5.) file tmpsuche.html
ev. kann jemand sehen wo ich einen Fehler gemacht habe ?
Beste Grüsse aus der Schweiz
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
Code:
0796223185—Name Vorname
Code:
0796223185–
Code:
SET VARIABLE LONGNAME “Name Vorname”
Code:
Name Vorname
ev. kann jemand sehen wo ich einen Fehler gemacht habe ?
Beste Grüsse aus der Schweiz