Asterisk: Reverse-Lookup auf dasoertliche.de

Ein nettes Feature ist das Reverse-Lookup von anrufenden Telefonnummern, sodass man den Namen des Anrufers am Display des SIP-Endgerätes angezeigt bekommt. Im IP-Phone-Forum wird dieses Feature mit Hilfe der Asterisk-Addons und einer MySQL-Datenbank implementiert. Da ich auf die Datenbank verzichten wollte, habe ich das Reverse-Lookup ohne Datenbank umgesetzt.
Voraussetzung für die Nutzung von AGI-Skripten ist asterisk-perl, das man hier bekommt.

In /usr/share/asterisk/agi-bin legt man das Skript revlookup an:
#!/bin/sh

TMPFILE=/var/tmp/basename $0.tmp

read _

agi_request=$1

wget -q --timeout=3 -O $TMPFILE "http://www3.dasoertliche.de/?form_name=search_inv&ph=$agi_request"
NAME=$(grep class=\"entry $TMPFILE|sed -e 's,.*entry\">,,;s,.*$,,')

rm -f $TMPFILE

if [ -z "$NAME" ]; then
NAME="unknown"
fi

echo 'SET VARIABLE NAME '"\"${NAME}\""
echo

Der Dialplan für einen SIP-Provider in der extensions.conf sieht nun so aus:
; sipgate 1
exten => 1234567e1,1,NoOp(Incoming call on sipgate.de 1)
exten => 1234567e1,n,Ringing
exten => 1234567e1,n,AGI(revlookup,${CALLERID(num)})
exten => 1234567e1,n,SetCallerID("Sipgate 1: ${CALLERIDNUM} (${NAME})" <2*${CALLERIDNUM}>)
exten => 1234567e1,n,Goto(dial-sip,1)

Schon wird der Name des Anrufers angezeigt. Falls dieser nicht gefunden wurde, erscheint stattdessen ein “unknown”.
Genial einfach 😉

3 Replies to “Asterisk: Reverse-Lookup auf dasoertliche.de”

  1. Diesmal sehr viel:

    Cybercrime: Angriff aus dem Netz: Am Sonntag 16.30 Uhr startet auf 3sat eine Doku-Serie (via aptgetupdate.de)
    Automatisches Update von WordPress: Plugin um Updates automatisch einzuspielen (via aptgetupdate.de)
    Postfix Performance T…

  2. Hi,

    das TMPFILE mit “/var/tmp/basename $0.tmp” zu initialisieren ist sehr unschön, da das vermutlich bei jedem Aufruf das selbe sein wird.

    Unter Umständen kommen da Race Conditions zum tragen, die eigentlich unnötig sind – das Ganze geht nämlich auch ohne temporäre Datei:

    NAME=”$(wget -q –timeout=3 -O- “http://www3.dasoertliche.de/?form_name=search_inv&ph=$agi_request”|grep class=\”entry|sed -e ‘s,.*entry\”>,,;s,.*$,,’)”

    Gruß,
    Marcel.

Leave a Reply

Your email address will not be published. Required fields are marked *