Navigation

Start Projekte Tutorials & Texte Archiv

Unternavigation

Howto

Voraussetzungen

  • PHP (CLI) ab Version 4 mit LDAP-Unterstüztung
  • Kontakte müssen die Klasse inetOrgPerson verwenden
  • Telefonnummern müssen durchgehend im Adressbuch stehen (+4912345, nicht +49 123 45)

Installation

  1. Im Script die Variablen $connection, $binding und $search anpassen.
    $connection gibt den LDAP-Server an. SSL ist mit 'ldaps://ldap.host' möglich.
    $binding speichert die Benutzerdaten.
    Unter $search ist nur die Suchbasis wichtig.
  2. Die Dateiberechtigungen setzen: Das Script muss für Asterisk ausführbar sein und darf nicht World-Readable sein. Beispiel:
    # chown asterisk:asterisk ldap-lookup.agi
    # chmod 770 ldap-lookup.agi
  3. Das Script in das AGI-BIN-Verzeichnis verschieben, z.B. /usr/share/asterisk/agi-bin
  4. Optional empfiehlt sich ein Probelauf:
    # echo "agi_callerid:[Telefonnummer]"|./ldap-lookup.agi
    SET VARIABLE LONGNAME "[Name]:"
    SET VARIABLE FULLNUMBER "[Telefonnummer]"
  5. Den Kontext für eingehende Gespräche anpassen, z.B. so:
    [inbound]
    exten => 1234,1,agi,ldap-lookup.php|${CALLERID(number)}
    exten => 1234,2,Set(CALLERID(name))=${LONGNAME})
    exten => 1234,3,Set(CALLERID(number))=${FULLNUMBER})
    exten => 1234,4,Dial,SIP/[Nummer]|45|t
    Die letzte Zeile sollte in ähnlicher Form bereits vorhanden sein.
  6. Asterisk die Konfiguration neu einlesen lassen.

Hinweise

  • Für den LDAP-Zugriff sollte man die Verwendung eines dedizierten Benutzers in Betracht ziehen, der nur lesend und nur auf die benötigten Felder (givenname, sn, telephoneNumber, homePhone und mobile) zugreifen darf.
  • Umlaute werden bei einigen Endgeräten nicht korrekt dargestellt.