Navigation

Start Tipps & Tricks wekomm

Unternavigation

Asterisk sucht im ldap-Server nach der Rufnummer des Anrufers

Bei der Einrichtung meiner Asterisk-Installation habe ich kaum eine einfache Möglichkeit gefunden, die Rufnummer des Anrufers in einer Datenbank zu suchen. Da ich Siemens / Unify Telefone benutze, sollte das eine LDAP-Datenbank sein.
Ich habe dann eine Version eines Scriptes von Stefan Häse gefunden, die als Basis diente. Blöd war nur, dass sich das Script bei Problemen mit der Datenbank aufhängte und damit Asterisk blockierte.
Ich habe das Script um eine Verfügbarkeitsabfrage sowie um eine führende 0 erweitert, so dass es meinen Bedürfnissen entspricht.

Zunächst aber muss bei einem eingehenden Anruf das Script im Dialplan von Asterisk aufgerufen werden:
; Jetzt wird in der globalen Datenbank der Name gesucht same => n,agi(ldap-lookup.php,${CALLERID(num)}) same => n,Set(CALLERID(name)=${LONGNAME}) same => n,Set(CALLERID(num)=${FULLNUMBER})
Jetzt sollten die Asterisk-Variablen entsprechend gefüllt sein. Das Script selbst (ldap-lookup.php) legt man am besten in das Verzeichnis /var/lib/asterisk/agi-bin und macht es mit chmod 775 execseg.php ausführbar.
Dieses Script kann man HIER runterladen.

Natürlich müssen die entsprechenden Werte für IP-Adresse des Servers, Binding und Passwort im Script angepasst werden Dann aber sollte bei einem Anruf der Name des Anrufers im Telefon angezeigt werden.