.titleBar { margin-bottom: 5px!important; }

sip user => mysql / authentication => LDAP

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von prochmi, 7 Dez. 2005.

  1. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo,
    wie ich in einem älteren thread schon erfahren habe, sollte es möglich sein, die SIP user in einer mysql datenbank zu verwalten, und für die authentifizierung auf einen LDAP server zurückzugreifen.

    ich verwalte mittlerweile die SIP user in einer mysql datenbank, den LDAP treiber hab ich mir auch schon angeschaut, allerdings ist mir nicht klar, wie ich die beiden so kombinieren kann, das ich jetzt das secret komplett aus der mysql datenbank herausnehmen kann und stattdessen gegen den LDAP authentifizieren kann.

    was entspricht eigentlich in der SIP realtime config der extension? ich vermute mal der "name" bin mir aber nicht sicher.

    ich habe nämlich im LDAP benutzernamen die ungleich der extension sind. d.h. wenn man nur mit der extension gegen LDAP authentifizieren könnte, wäre es blöd, aber das hoffe ich mal nicht (für das gibts ja den username).

    ich hoffe ich hab das so richtig verstanden (das wär echt einfach nur geil wenn das so funktioniert).
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Wenn Du schon die SIP User in einer Datenbank ablegst, dann doch bitteschön auch auf dem LDAP-Server ! Sonst ist das ganze doch ziemlich sinnlos.


    Hast Du nicht. Das Konzept des LDAP-Treibers sieht vor, sowohl die Authentifizierung als auch die Verwaltung der SIP User in der LDAP Datenbank vorzunehmen. Dazu sind die entsprechenden Objektklassen mit den benötigten Attributen in dem mit dem Treiber gelieferten Schema definiert.

    Ein "gemischtes" Realtime wird jedenfalls nicht funktionieren.


    Laß uns bitte zum Thema LDAP in diesem Thread

    http://www.ip-phone-forum.de/forum/viewtopic.php?t=17927&highlight=

    weiterdiskutieren - der Thread ist relativ aktuell. Und da es in diesem LDAP Treiber noch einiges an Entwicklung geben wird, wäre es recht praktisch, alle Infos in einem Thread gesammelt zu halten.

    Übrigens stehe ich mit dem Entwickler des LDAP-Treibers in direktem Kontakt, um neues zu testen und evtl. Änderungen zu erörtern. Z.B. hat / wird sich der Aufbau der ldap.conf grundlegend ändern, im Vergleich zu dem, was in der ersten Version angedacht und veröffentlicht war.
     
  3. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hallo,
    da es eine generelle Diskussion über Realtime ist und eigentlich nichts mit der Konfiguration des neuen LDAP Treibers zu tun hat, bleibe ich mal in diesem Thread.

    Ok, dann speichere ich eben die SIP User und den Dialplan komplett im LDAP.

    Aber was ist z.B. mit Voicemail oder CDR?
    Ein LDAP Server ist sicher nicht dazu ausgelegt, massenhaft Voicemessage oder CDR's zu speichern. Oder werden die Nachrichten selber sowieso nur direkt im Filesystem gespeichert?

    Oder ist das wiederum möglich (das ich SIP User im LDAP hab und Voicemail in einer SQL DB)?

    Ich denke einfach das es nicht sinnvoll ist mit Gewalt alles in einen LDAP Server zu pressen.

    MfG,
    Michael
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Auch wenn Du Deine Voicemail über SQL konfigurierst, werden die gespeicherten Nachrichten trotzdem nicht in der Datenbank abgelegt, sondern auf der Festplatte des Asterisk-Servers.

    Du hast scheinbar den Leitgedanken eines Directory-Servers noch nicht ganz verstanden. Nur ganz kurz: einem LDAP muß man nix mit Gewalt antun - der macht sowas auch völlig freiwillig und wurde genau dafür entwickelt, unterschiedlichste Daten und Datentypen zu speichern. Bei mir liegen inzwischen sogar meine gerippten MP3 Dateien im LDAP Server. Bietet sich doch an :wink:
     
  5. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    mir geht es auch nicht darum das nicht verschiedenste sachen im LDAP gespeichert werden, sondern darum, das ein LDAP nunmal auf lesezugriff optimiert ist und nicht auf schreibzugriffe.

    daraus habe ich geschlossen, das er für voicemail oder auch CDR vermutlich weniger optimal arbeitet (vorallem bei großen benutzerzahlen).
    da die voicemessages selber anscheinend sowieso direkt im filesystem gespeichert werden, (unbd nur der pfad dorthin im LDAP), wäre das für voicemail egal.

    wie schauts dann noch mit CDR aus?

    da hat es ja nicht nur den grund der vielen schreibzugriffe, sondern auch die integration in eine kundendatenbank.

    mfg,
    michael
     
  6. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    :shock: wer erzählt Dir denn sowas ?

    Der steht nicht im LDAP sondern in einer Konfigurationsdatei des Asterisk. (Nicht in der voicemail.conf)


    Es ist doch kein Problem, die CDR in LDAP abzulegen - wenn dies auch mit den bisher vorhandenen Treibern gar nicht vorgesehen ist. Die Einbindung in die Kundendatenbank ist doch dann wieder nur eine reine Abfrage mit entsprechenden Filtern.
     
  7. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    so ziemlich jeder :) (fachbücher, uniprofessoren, ...)

    es ist nunmal so, das ein verzeichnis hauptsächlich zum nachschauen da ist und daher auch darauf optimiert ist.

    auch in der praxis wird ein LDAP server zum speichern von konfigurationen, zum authentifizieren, für adressbücher, usw. verwendet aber sicher nicht als kunden-/unternehmensdatenbank oder gar als datenspeicher.

    ich möchte hier wirklich nicht klugscheissen, aber sowas kann ich nicht einfach so stehen lassen ;-)

    d.h. es gibt nicht zu jeder voicemessage einen datensatz in einer DB/LDAP und die ganzen informationen (z.B. aufnahmezeit) werden direkt aus jedem aufgenommenen file genommen?


    aus oben genannten gründen ev. doch. (viele schreibzugriffe, wenig lesezugriffe)


    also, nix für ungut, aber alles was ich bis jetzt über LDAP gelesen bzw. gehört habe wiederspricht deiner auffassung von LDAP gewaltig :)

    woher hast du deine informationen her, wenn ich fragen darf?

    mfg,
    michael
     
  8. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Genauer gesagt gibt es zu jeder Voicemail genau 2 Dateien - einmal die Aufzeichnung selbst und einmal eine Art "Beschreibungsdatei" in der Datum/Uhrzeit des Anrufs, Länger der Nachricht, Rufnummer des Anrufers (wenn bekannt) usw. stehen.


    Aus 2 eigenen LDAP Servern ... mit denen ich noch nie Performanceprobleme wegen Schreibzugriffen hatte.
    Wenn Deine Auffassung stimmen würde, wäre ja LDAP niemals dafür geeignet, überhaupt SIP-User aufzunehmen. Denn stell Dir doch mal einen expandierenden VoIP Provider vor, der seine neuen Kunden anlegen muß - die muß er doch alle auch irgendwann (und das möglichst zeitnah bei der Anmeldung) in das LDAP Directory schreiben. Hinter meinen LDAP Servern hängt ja letztendlich eine Berkeley-Datenbank. Und das ist ja auch nicht grade die schlechteste Wahl.
     
  9. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    klar, dann ist das natürlich egal. ich dachte, das mindestens die beschreibung als datenbankeintrag vorliegt (wenn nicht sogar die nachricht selbst).

    es ist ja nicht nur meine auffassung, das wird tatsächlich so an den unis unterrichtet und von firmen so praktiziert :)

    Schau dir z.B. mal folgende Präsentation an (hier).

    ganz so dramatisch würd ich es zwar auch nicht sehen, aber das sind im prinzip die probleme von LDAP.

    Das mit dem expandierenden Provider versteh ich nicht ganz. Sip-User währen eigentlich ein typischer Anwendungsfall => einmal anlegen, immer lesend drauf zugreifen.

    Was hinterbei hängt ist nicht immer von Bedeutung!
    Hinter meiner DB hängt immer ein Filesystem und trotzdem geht es viel schneller wenn ich Daten direkt aufs Filesystem schreib und nicht in die Datenbank.

    MfG,
    Michael
     
  10. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Ich denke, die Probleme beim Einsatz eines LDAP Servers sind mehr auf die vielen fehlenden technischen Möglichkeiten der Datenbanknutzung zurückzuführen (keine eigene Sperrlogik, keine komplexen Abfragen, keine Verknüpfung von Tabellen usw.) als auf die mangelnde Performance beim Schreiben in die LDAP Datenbank. Das kommt ja auch in dem von Dir angegebenen Link sehr gut zum Ausdruck, und das ist nicht von der Hand zu weisen. Wenn ich mit einem LDAP Server die Funktionalität eines SQL Server nachbilden wollte, müßte ich einen sehr hohen Aufwand in der Applikationsentwicklung betreiben. Insofern hast Du natürlich recht, wenn Du sagst, daß LDAP auf Lesezugriffe "optimiert" sei.

    Deine eingangs erwähnten diesbezüglichen Probleme lesen sich allerdings so, daß LDAP generell Probleme beim schreiben von Daten in die Datenbank hätte. Und dem ist eben nicht so. Ich muß halt nur etwas mehr Aufwand in die Applikation stecken, die die Daten ablegen möchte.
     
  11. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    das das schreiben nicht möglich ist bzw. problematisch ist habe ich nicht gesagt, sondern, das der LDAP eben nicht darauf optimiert ist => bei hoher belastung schlechte performance, bis zur unbrauchbarkeit

    daher ist es mir auch nicht um die generelle verwendung von LDAP gegangen, sondern um die verwendung bei sehr write-lastigen anwendungen (voicemail, cdr). das man das bei geringen benutzeranzahlen wiederum vernachlässigen kann ist eine andere sache.

    aber weißt du vielleicht trotzdem, ob es möglich ist, den LDAP nur für die SIP- bzw. IAX-user zu nutzen und eine SQL DB für/anstatt anderer configfiles?

    mfg,
    michael
     
  12. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Ja das ist möglich. Du gibst ja in der extconfig.conf ganz genau das Mapping vor, welche Daten woher beschafft werden sollen. Da ist völlig problemlos, sowohl MySQL als auch LDAP abzufragen.

    Was meines Wissens aber nich geht, ist Teile von Sip-Usern (z.B. Name & Paßwort) aus LDAP und andere Teile der Sip-User-Konfiguration zur Vervollständigung aus MySQL zu holen.


    Und mit der Schreib-Performance - da haben wir einfach eine Weile aneinander vorbeigeredet :bier:
     
  13. prochmi

    prochmi Neuer User

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    112
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    cool, damit kann ich schon sehr gut leben.

    stimmt :)