Asterisk und LDAP: Anzeige ändern

robinsonR

Mitglied
Mitglied seit
17 Apr 2006
Beiträge
560
Punkte für Reaktionen
0
Punkte
16
Ich habe hier einen Asterisk am Laufen, der über getLDAP die Anrufernamen von einem OSX-Server holt. Das funktioniert auch; leider hat die Sache einen kleinen Schönheitsfehler. Angezeigt wird, wie in der ldap.conf angegeben der CommonName:
Code:
[cidname]
host = server.asam.private
version = 3
base = dc=server,dc=asam,dc=private
filter = (&(objectClass=person)(|(homePhone=%s)(mobile=%s)(telephoneNumber=%s)(facsimilieTelephoneNumber=%s)))
attribute = cn
convert = UTF-8, ISO-8859-1
Welche Parameter muss ich bei «attribute» angeben, um Vor- und Nachnamen angezeigt zu bekommen?
 
Hallo,

die LDAP Atribute heißen "givenName" für Vormane und "sn" für Nachname.

Allerdings müsstest du auch "displayName" verwenden können, das ist der Anzeigename.
 
Und die kann ich einfach aneinanderhängen?
Also:
Code:
attribute = givenName sn
 
Leider funktioniert «displayName» nicht. Also hatte ich versucht, givenName und sn zu verwenden. Diese einfach aneinanderreihen funktioniert leider nicht. Wie kann ich nun bewerkstelligen, dass diese beiden Felder kombiniert dargestellt werden?
 
Hi,

ich hab es selbst noch nicht gemacht, allerdings könnte ich mir vorstellen das du die beiden mit Komma trennen musst. Also "givenName, sn".

Ansonsten würde ich noch andere Zeichen ausprobieren wie z.B. & oder +.

Aber wie gesagt, selbst habe ich bis jetzt noch nicht mit Asterisk und LDAP gearbeitet.
 
Gelöst

Ich musste mehrere LDAP-Anfragen in ldap.conf definieren; wichtig ist, dass die «objectClass» nicht auf einen Bereich beschränkt ist, darum «=*» :
Code:
[cidname]
host = ldap.host.com
version = 3
base = dc=ldap,dc=host,dc=com
filter = (&(objectClass=*)(|(homePhone=%s)(mobile=%s)(telephoneNumber=%s)(facsimilieTelephoneNumber=%s)))
attribute = givenName
convert = UTF, ISO-8859-1

[sn]
host = ldap.host.com
version = 3
base = dc=ldap,dc=host,dc=com
filter = (&(objectClass=*)(|(homePhone=%s)(mobile=%s)(telephoneNumber=%s)(facsimilieTelephoneNumber=%s)))
attribute = sn
convert = UTF, ISO-8859-1

[company]
host = ldap.host.com
version = 3
base = dc=ldap,dc=host,dc=com
filter = (&(objectClass=*)(|(homePhone=%s)(mobile=%s)(telephoneNumber=%s)(facsimilieTelephoneNumber=%s)))
attribute = apple-company
convert = UTF, ISO-8859-1
In «extensions.conf» dann werden alle Variablen nacheinander gesucht und anschliessend aneinandergefügt:
Code:
exten => s,100,LDAPget(CIDNAME=cidname/${CALLERID(num)},${CALLERID(num)},${CALLERID(num)},${CALLERID(num)})   ; check for mobile and fax as well
exten => s,101,LDAPget(SN=sn/${CALLERID(num)},${CALLERID(num)},${CALLERID(num)},${CALLERID(num)})   ; check for mobile and fax as well
exten => s,102,LDAPget(CO=company/${CALLERID(num)},${CALLERID(num)},${CALLERID(num)},${CALLERID(num)})   ; check for mobile and fax as well

exten => s,103,Set(CALLERID(name)=${CO}" "${CIDNAME}" "${SN})
Jetzt wird mir der Vor- Nachname und die Firma des Anrufers angezeigt.
 
Kostenlos!

Statistik des Forums

Themen
248,868
Beiträge
2,303,352
Mitglieder
378,528
Neuestes Mitglied
Fullyrealized