Telefonbuch erweitern mittels Online Namenssuche

Moin Moin,

ich hab beim durchlesen einiger Beiträge öfter mal gelesen das der Speicher des internen Telefonbuchs ein Problem ist und einige Leute sich ein größeres Telefonbuch wünschen. Ich dachte ich erzähl mal kurz wie wir das Problem gelöst haben.

Wir waren auch kurz am überlegen was wir machen. Für ausgehende Gespräche kommen wir absolut mit den Einträgen aus, ich glaube wir sind aktuell bei ca. 50 Einträgen. Nur hätten wir gerne ein größeres Telefonbuch für ankommende Gespräche. Unsere Kundendatenbank beinhaltet aktuell knapp über 8000 Telefonnummern, davon sehr viele Handynummern.

Wir haben das Problem mit der Online-Namessuche gelöst. Steht ja nirgends das die Online Suche auch wirklich Online sprich ins Internet gehen muß. :smiley:

Vereinfacht wurde das ganze dadurch das unsere Kundendantenbank Webbasiert ist, sprich mit jedem Browser geöffnet werden kann.
Wir haben dann einfach eine Seite erstellt an die die Telefonanlage die Nummer übergibt und den Namen zurück bekommt. Aufwand waren ca. 3 Stunden. Wobei ein Großteil für das verstehen der Gruppenfilter drauf ging. Hier ist die Dokumentation etwas dürftig.

Unsere Mitarbeiter sind sehr zufrieden mit der Lösung. Das einzige Problem was sie haben ist die Begrenzung auf 16 Zeichen, die ist wirklich nicht mehr zeitgemäß, nur leider kann man das ja auch mit dem internen Telefonbuch nicht umgehen. :frowning:

Vielleicht bringt das jetzt ja den einen oder anderen hier auf die Idee das auch mal zu versuchen und um damit das Telefonbuch zu erweitern.

Gruß,

Christian

Hi Christian,

kannst Du das mal etwas näher erklären?

Ich habe das Problem ausgehend via CTI zufriedenstellend gelöst. Mein Problem ist die kümmerliche interne Datenbank für Rufe, die auf die Mailboxen gehen - ich sehe da keine wirklich praktikable Lösung für mich.
Die Mailbox-Nachrichten (voice, FAX) werden direkt in den Exchange geschickt, eine Bearbeitung am Telefonieendgerät findet nicht statt.

Idealerweise wäre der Zugriff auf den Exchange zu realisieren, webbasiert ja via OWA möglich,da werde ich aber Zugriffsprobleme bekommen, da die TK ja kein AD-Mitglied werden kann …

Welches CMS nutzt Ihr?

Für jede Anregung dankbar und LG, Thomas

Hallo Christian,

mich würde die Lösung und auch die Dokumenation in Bezug auf die Schnitt-
stelle auch sehr interessieren. Ich nehme einmal an, Du machst die Abfrage
über den IIS Deines Windows 200x Servers? Kannst Du hier näheres für uns
bereitstellen? Script, DB Struktur?

Danke im Voraus!

vG Michael

Moin Moin,

kein Problem, hier ist der Code den ich benutze. Ich hab den einfach auf einem alten Windows Server im ISS laufen.

Ich benutze VB.NET und eine Extra Datei für den VB Teil, könnte man aber auch ohne Probleme in einer Datei machen oder auch in C# oder php unter Linux, was auch immer.

Aufgerufen wird die seiten einfach als http://server/getname.aspx?ph=016287654321 das ganze geht auch im Browser und ist damit recht einfach zu testen.

[CODE]
<%@ Page Language=“VB” AutoEventWireup=“false” CodeFile=“getname.aspx.vb” Inherits=“phonesystem_getname” %>

Untitled Page [/CODE]Und hier die VB Datei. [CODE]Imports InsuranceDB.DataAccess

Partial Class phonesystem_getname
Inherits System.Web.UI.Page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim stemp As String = ""
    Dim sReturn As String = ""

    stemp = "" & Request("ph")
    If stemp.Length > 3 Then
        sReturn = "<a href=""getname.aspx?bla&context=11&arkey="">" & GetName(stemp) & vbCrLf & "</a>"
    End If
    lblReturn.Text = sReturn
End Sub

Private Function GetName(ByVal sNumber As String) As String
    Dim sName As String = ""
    Dim sSQL As String = ""
    Dim itemp As Integer = 0

    'zuerst noch kurz die Nummer richtig formatieren,
    'unsere Datenbank erwartet auch bei deutschen Nummern eine
    'Landesvorwahl.
    If Not Left(sNumber, 2) = "00" Then
        If Left(sNumber, 1) = "0" Then sNumber = Mid(sNumber, 2)
        sNumber = "0049" & sNumber
    End If

    sSQL = "SELECT customerID FROM tblCustomerPhone INNER JOIN tblCountry ON tblCustomerPhone.countryID=tblCountry.countryID " & _
            "WHERE REPLACE(countrycode, '+', '00') + REPLACE(number, ' ', '') = '" & sNumber & "'"
    itemp = GetData.GetOneInteger(sSQL)
    If itemp > 0 Then
        sSQL = "SELECT lastname + ' ' + firstname + ' ' + company FROM tblCustomer WHERE customerID=" & itemp
        sName = Trim(GetData.GetOneString(sSQL))
    End If

    'Noch kurz Umlaute umschreiben, keine Ahnung ob es am IIS oder
    'an Auerswald liegt, aber ohne diese Änderung kommen sie nicht
    'richtig im Telefon an.
    If sName.Length > 0 Then
        sName = sName.Replace("Ü", "&Uuml;")
        sName = sName.Replace("ü", "&uuml;")
        sName = sName.Replace("Ö", "&Ouml;")
        sName = sName.Replace("ö", "&ouml;")
        sName = sName.Replace("Ä", "&Auml;")
        sName = sName.Replace("ä", "&auml;")
    End If
    Return sName
End Function

End Class
[/CODE]Das Ausgabeformat ist etwas komisch
Siehe den Link mit der Bezeichnung getname.aspx?bla&context=11&arkey=. Ich hatte zuerst versucht eine neue Online Namessuche zu erstellen aber das hat nicht funktioniert, da hab ich einfach die von der Telekom genommen kopiert und die sucht nach einem Link mit dem komischen Namen. Bei bedarf kann ich gerne die Onlinenamenssuchdatei der Anlage veröffentlichen.

Was fehlt ist der Code für die eigentliche Datenbank Abfrage aber die dürfte wohl eh bei jedem anders sein.
Unser CMS System ist eine Entwicklungsfähig läuft auf einem Microsoft SQL Server und genau den spreche ich direkt von IIS aus an. Da ich nur lesenden Zugriff brauche ist das ganze kein Problem gewesen. Wie es bei anderen CMS Systemen aussieht weiß ich nicht, kommt halt drauf an wo die Nummern stehen. Aber wenn man die in einer Excel Liste oder Access Datenbank oder so hat, ist das recht einfach abzufragen.
Zuerst schaue ich nach ob es die Nummer in der Kundentelefonliste gibt, falls ja, frage ich nach dem Vornamen, Nachnamen und der Firma und das kommt dann als String zurück.

Thomas, was Exchange betrifft, kommt es drauf an was du aus Exchange auslesen willst. Willst du an die Namen/Nummern der Exchange Benutzer oder an die Namen/Nummern aus den OWA Kontakten?
Wenn du die Daten von den Exchange Benutzern haben willst, dann geht das mehr oder weniger einfach übers ActiveDirectory, gibt genug Beispiele bei Google wie man das mit VB.NET (oder was auch immer) abfragt.
Wenn du hingegen an Namen/Nummern aus deinen OWA Kontakten willst wird es etwas komplizierter. Ohne das jetzt näher zu untersuchen fallen mir da drei Möglichkeiten ein.
a) Kontakte regelmäßig in eine Datenbank / XML Datei exportieren und dann die Datei/Datenbank für das Script oben abfragen. (einfach)
b) OWA aus VB.NET aus aufrufen und die Kontakte Abfragen (recht kompliziert und ändert sich wohl auch mit jeder Exchange Version)
c) Zwischen das Script und OWA Davmail setzen. Davmail kann aus OWA raus Kontakte auslesen und die in “relativ” einfachen Strukturen präsentieren. (besser als b) aber wohl auch nichts was man mal eben an einem Tag programmiert

Hoffe ich konnte etwas weiterhelfen.

Gruß,

Christian

Ich habe auch ein webbasiertes Telefonverzeichnis, das ich gerne an die Onlinenamenssuche anbinden würde, mit Fall-Back auf www.dasoertliche.de. Die Idee ist da, aber ich hatte noch nicht die von dir beschriebenen 3 Stunden Zeit dafür.

Auch ich finde 16 Zeichen echt schlapp. Die Systemtelefone könnten doch gerne mal auf 32 Zeichen gehen. Zur Not stellt man die Namen zweizeilig oder dreizeilig dar. Vielleicht sollten wir mal kollektiv diesen Wunsch an Auerswald melden.

Ich hab einen recht langen Beitrag geschrieben, wie ich das bei uns gemacht habe. Keine Ahnung ob der zu lang war oder ob es am Inhalt lag, aber ich hab eine Meldung zu sehen bekommen das den Beitrag erst ein Moderator freischalten muß…

Christian

Hi Christian,

hast Du hier irgendetwas erreicht? Eventuell kannst Du den hier Interessierten den Beitrag ja als PN zustellen?

Was ich bisher erreicht habe in Bezug auf Exchange/OWA …: Nichts. Die Waldarbeiter haben den TK ganz offenbar keine LDAP-Fähigkeit spendiert - eventuell was für die “Ich-wünsche-mir-ganz-doll-folgendes-feature-Liste”?

BTW: Ich habe jetzt seit einer Woche Estos ProCall 4+ Enterprise am Laufen … ich mach jetzt wirklich ungern Werbung für irgendwelche Produkte, aber: wenn man Ositron gewöhnt war, ist es überraschend festzustellen, wie funktionell und unaufdringlich CTI sein kann. Die Grobeinrichtung würde vermutlich ein pickeliger Adoleszent problemlos hingebogen bekommen, die Verwaltung ist schon fast ein Vergnügen und der Client einfach nur schick. Und nein, ich bekomme kein Geld dafür :rofl:

Leider löst das nur die Auflösung direkt geführter Telefonate, die Automatische Zentrale sowie die Mailboxen bleiben aussen vor - hier hoffe ich auf die “offline-online-Auflösung” von Christian …

LG, Thomas

edit: Hat schon jemand mit einem CT3500 an einer 6000’er mal geprüft, ob die TK zur Namensauflösung auf die dort gespeicherten Kontakte zugreift, ähnlich wie sie es bei den 2500’ern machen soll (ich habe das aufgrund der Rufnummernbegrenzung selbst nie ausprobiert)? Das wäre dann eventuell doch ein Kaufargument für das Wunderbunte - wenn es denn dereinst an den 5000’ern als Systemtelefon spielt und man das Teil vom www abgetrennt bekommt …

und noch mal edit - hier die bestätigende Antwort der Waldarbeiter bzgl. LDAP:

“das Telefonbuch ist für max. 400 Einträge vorgesehen und kann aus technischen Gründen nicht erweitert werden. Zum Thema Exchange sollte Sie sich direkt z. B. mit der Firma Estos (http://www.estos.de) in Verbindung setzen, vielleicht gibt es hier eine Möglichkeit über LANTAPI. Von unserer Seite gibt es hier keine Lösung.”

Nun bin ich mir zwar nicht sicher, ob der support so richtig weiss, wie CTI funktioniert (gefragt hatte ich explizit wegen Automatischer Zentrale und den Nachrichtenboxen), aber immerhin kann man jetzt sicher sein, dass das Anlagentelefonbuch nur für Business-Soziophobiker genutzt werden kann. Jetzt und für immerdar …

[quote=DocBader]
edit: Hat schon jemand mit einem CT3500 an einer 6000’er mal geprüft, ob die TK zur Namensauflösung auf die dort gespeicherten Kontakte zugreift, ähnlich wie sie es bei den 2500’ern machen soll (ich habe das aufgrund der Rufnummernbegrenzung selbst nie ausprobiert)? [/quote]

Hallo Thomas,

ich kann bestätigen, dass zur Namensauflösung an einem 2500 VoIP AB das
interne Telefonbuch der 6000er herangezogen wird.

vG Michael

Hi Michael,

ich meinte das in die andere Richtung. Laut Manual wird bei eingehenden Anrufen das Anlagentelefonbuch, die Telefonbücher der Systemtelefone und dann die online-Namenssuche für die Auflösung benutzt.

Ich habe das so verstanden, das die TK in der Lage ist, bei einem eingehenden Ruf in sich selbst und in den angeschlossenen Systemtelefonen nach Kontakten zu suchen. Für die 2500 ist das für mich uninteressant, da einerseits auch hier das nutzbare Volumen zu klein und andererseits die dezentrale Verwaltung und die Synchronisierung einfach grottig sind.

Wenn aber die TK das Telefonbuch eines CT 3500 für die Namensauflösung nutzen kann, wären - Sicherheitsaspekte mal noch aussen vor - die nutzbaren Daten synchron zum Exchange und für eben die Anrufe, die von der CTI nicht “zu sehen sind” wie AZ und Mailboxen präsentabel.

LG, Thomas

Hallo,

[quote=DocBader]Hi Christian,

hast Du hier irgendetwas erreicht? Eventuell kannst Du den hier Interessierten den Beitrag ja als PN zustellen?[/quote]

Nö, hab noch nichts erreicht. Kenne hier keinen Moderator persönlich den ich mal fragen könnte was mit dem Beitrag von mir ist. Ich hab leider auch keine Kopie gemacht, also wenn dann müßte ich mich da noch mal hinsetzen und meinen Code ausgraben.

Was Exchange betrifft so ist das sicherlich nicht unmöglich das zu lösen kommt drauf an was du haben willst und vor allem wie gut du programmieren kannst.
Willst du die Telefonnummern deiner Exchange Benutzer haben sprich einfach die ActiveDirectory Kontakte (relativ einfach).
Oder willst du an die Nummern der Kontakte die bei dir auf dem Exchange Server in den Einzelnen Postfächern unter Kontakte liegen?

Christian

Hi,

programmieren?? Ich??:rofl: echo: “hello world” … Würde das reichen??

Prinzipiell benötige ich Zugriff auf meine öffentlichen Kontaktordner im Exchange durch die TK, dass bekommst Du nicht gebastelt, weil die durch das fehlende LDAP sich gar nicht authentifizieren kann - s. auch die Antwort des wäldischen supports an mich.

Heisst für mich, ich müsste eine zweite 3rd party Lösung (eben eine webbasierte Datenbank) ansprechen lassen können, die auf meinem IIS läuft - dass würde sicher in die Richtung gehen, die Ihr eingeschlagen habt. Müsste zwar auch irgendwie synchron gehalten werden, aber mei …

Oder man müsste halt gucken, ob das neue CT tatsächlich als Datenbank von der TK genutzt wird, dann würde ich mit Bauchgrimmen so ein Teil nehmen, wenn ich es offline stellen kann.

Wenn Du hier eine Nachricht hinterlässt, erreichst Du Marco, der den post freischalten kann.

LG, Thomas

[quote=DocBader]
Wenn Du hier eine Nachricht hinterlässt, erreichst Du Marco, der den post freischalten kann.[/quote]

An sich ja eine gute Idee, aber es geht nicht. Da kommt dann immer die Fehlermeldung [color=Red]“Could not read CAPTCHA token file. Try again.”[/color].

[quote=DocBader]Hi,

programmieren?? Ich??:rofl: echo: “hello world” … Würde das reichen??

Prinzipiell benötige ich Zugriff auf meine öffentlichen Kontaktordner im Exchange durch die TK, dass bekommst Du nicht gebastelt, weil die durch das fehlende LDAP sich gar nicht authentifizieren kann - s. auch die Antwort des wäldischen supports an mich.

Heisst für mich, ich müsste eine zweite 3rd party Lösung (eben eine webbasierte Datenbank) ansprechen lassen können, die auf meinem IIS läuft - dass würde sicher in die Richtung gehen, die Ihr eingeschlagen habt. Müsste zwar auch irgendwie synchron gehalten werden, aber mei …[/quote]
Eine Extra Datenbank wäre wohl einfacher umzusetzen aber auch irgendwie blöd wegen dem synchronisieren. Dann kannst du gleich deine Kontakte aus Outlook als csv Datein exportieren und die in die Anlage hochladen.

Wenn ich das hier umsetzen müßte, dann würde ich den IIS nehmen und ihn sozusagen zwischen die Anlage und Exchange setzen. Der IIS kann sich dann ums authentifizieren usw. kümmern.

[quote=DocBader]
Oder man müsste halt gucken, ob das neue CT tatsächlich als Datenbank von der TK genutzt wird, dann würde ich mit Bauchgrimmen so ein Teil nehmen, wenn ich es offline stellen kann.[/quote]
Also bei uns geht das nicht, weder mit 2500 VoIP noch mit einem 3500er.
Aber wenn du dir ein 3500er zulegst, dann soll das ja in Zukunft (sobald die Lizenzfragen geklärt sind) gehen das mit Exchange abzugleichen, brauchst du dann die Namen noch in der Anlage oder reicht das auf dem Telefon?

Gruß,

Christian

Hi,

das ist wahrscheinlich ein Auerswald-captcha, habe es gerade mal ausprobiert, geht tatsächlich nicht …:rofl: Ich schick Dir mal Marco’s mail-adresse als PN, eventuell weisst Du ihn gleich mal auf die MAlfunktion hin?

Yep. Geht bei mir auch nicht, obwohl das im Konfigurationshandbuch so beschrieben ist … mal gucken, was die Auerswälder dazu sagen.
Im Telefon nutzt mir der Abgleich per se nichts, das erledigt meine CTI ja dann doch deutlich komfortabler … das Problem ist die Auflösung von Anrufen, die" in der TK bleiben", also in der automatischen Zentrale „verenden“ respektive sich auf eine Mailbox weitervermitteln lassen sowie die Faxeingänge, die ich in die Boxen der C5200 laufen lasse … letzteres könnte ich auch in den Officemaster lenken, ist aber auch wieder basteln. Mal gucken, die Ferrari-Jungs haben gestern ein neues release rausgebracht, in welchem ein Fax-Webclient integriert ist - schau ich mir mal an. Aber die Sprachmailboxen will ich nicht über die CTI machen, das wird mir zu fusselig mit der Konfiguration der automatischen Zentrale.

Der Import meiner Kontaktdaten würde die Plastikwände der Anlage sprengen (das sind mehrere Tausend - bei 400 Möglichen). Da wird sich auch zukünftig im Auerswald nichts bewegen, auch nicht bei den neuen commandern, eigentlich ein Drama …

LG, Thomas

So nun ist mein Beitrag weiter oben freigeschaltet.

Ich hoffe es hilft irgendwie weiter.

Yep, habe es gesehen …

Übersteigt aber bei Weitem meinen kognitiven Horizont, Programmieren ist für mich ein Buch mit sieben Siegeln …:confused:

Ich habe jetzt mal zwischenzeitlich ein wenig mit der CTI gespielt und bekomme jetzt zumindest die Anrufe und Fax auf die Boxen im CTI-Journal dargestellt, allerdings übermittelt die Anlage die Rufnummern, die derart verteilt werden, ohne Landesvorwahl, so dass aus meiner 0177 xxxxxxx eine Rufnummer +1 77x xxxxx wird, die von Estos korrekt als Anruf aus Florida ausgewertet wird (das Wetter ist aber total identisch zu Dresden:rofl:). Mit dem Einfügen von Regeln für diese Rufnummern in den UCServer habe ich jetzt die Mailboxeingänge zumindest im CTI-Journal - hilft auch schon mal wirtschaften.

Nachteil: mit jeder Box verbrät man natürlich eine TAPI-Line sowie einen CTI-Teilnehmer …

Mit der Datenbankabfrage … da könntest Du mir auch mit chinesischen Schriftzeichen kommen, habe ich echt keinen Schimmer. Ich wüsste nicht mal, wie ich eine Datenbank in den IIS bekomme … wenn sie sich nicht über eine Installation dort von selbst anmeldet.

Naja, dafür kann ich halt auch mal Tote zum Leben erwecken - wenn sie noch nicht allzulange tot sind, ist ja auch was wert :floet:

LG, Thomas

[quote=DocBader]Yep, habe es gesehen …

Übersteigt aber bei Weitem meinen kognitiven Horizont, Programmieren ist für mich ein Buch mit sieben Siegeln …:confused:

Ich habe jetzt mal zwischenzeitlich ein wenig mit der CTI gespielt und bekomme jetzt zumindest die Anrufe und Fax auf die Boxen im CTI-Journal dargestellt, allerdings übermittelt die Anlage die Rufnummern, die derart verteilt werden, ohne Landesvorwahl, so dass aus meiner 0177 xxxxxxx eine Rufnummer +1 77x xxxxx wird, die von Estos korrekt als Anruf aus Florida ausgewertet wird (das Wetter ist aber total identisch zu Dresden:rofl:). Mit dem Einfügen von Regeln für diese Rufnummern in den UCServer habe ich jetzt die Mailboxeingänge zumindest im CTI-Journal - hilft auch schon mal wirtschaften.

Nachteil: mit jeder Box verbrät man natürlich eine TAPI-Line sowie einen CTI-Teilnehmer …

Mit der Datenbankabfrage … da könntest Du mir auch mit chinesischen Schriftzeichen kommen, habe ich echt keinen Schimmer. Ich wüsste nicht mal, wie ich eine Datenbank in den IIS bekomme … wenn sie sich nicht über eine Installation dort von selbst anmeldet.

Naja, dafür kann ich halt auch mal Tote zum Leben erwecken - wenn sie noch nicht allzulange tot sind, ist ja auch was wert :floet:

LG, Thomas[/quote]

Wenn Interesse besteht, dann kann ich mal sehen ob ich die IIS Geschichte soweit vereinfachen kann das sie 1. die Namen aus einer CSV Datei holt (die auch mehr als 400 Einträge lang sein darf) und 2. ohne Programmierung auf einem IIS zum laufen zu bekommen ist.
Telefonnummern ändern sich ja nicht stündlich. Wenn du die dann einmal die Woche aus Outlook exportierst sollte das doch wohl reichen, oder?

Im Gegenzug würde ich dann auf dich zurückkommen falls ich demnächst unerwartet und ungeplant zu den Toten gehöre.

Christian

Sorry dass das Forum meinte, es müsse mir den Beitrag zur Überprüfung vorzeigen :frowning: … aber vielen Dank für den Hinweis mit dem Kontaktformular … ist gefixed! :good:

LG
Marco

Hallo Christian,

das wäre echt schick …:good: Eilt aber nicht! Eine Synchronisation der Daten würde wöchentlich durchaus ausreichen.

[SIZE=„5“]!![/SIZE][SIZE=„5“] DEAL[/SIZE]:rofl:[SIZE=„5“]!![/SIZE] Bei einem geplanten vorzeitigen Ableben wäre es aber lieb, wenn Du mir örtlich etwas entgegenkommen könntest, ganz so lange kannst Du auch wieder nicht rumliegen …:floet: Oder wir machen das Ganze ohne Garantie??

LG, Thomas

Hallo Christian,

habe heute versucht Deiner Anleitung zu folgen.

Ich habe die Dateien “getname.aspx” und “getname.aspx.vb” in ein Verzeichnis “suche” abgelegt, habe die Datenanbindung erst einmal auskommentiert und gebe als Name immer sNumber & " Test" zurück.

Aufruf der Seite “http://servername/suche/getname.aspx?ph=0162876543” gibt “0049162876543 Test” als Quelltext:
0049162876543 Test … zurück. Scheint soweit in Ordnung zu sein um die Datenbankanbindung kümmere ich mich dann selber.

Nun habe ich in der Telefonanlage die Rückwärtssuche von “Das Oertliche” kopiert und dort den Host “www.dasoertliche.de” durch meinen Servernamen geändert und aufzurufende Seite “Controller” durch “suche”.

Der Test der Online-Namenssuche gibt aber immer “Keinen passenden Gruppenfilter gefunden!” zurück. Könntest Du nochmal schreiben was bei Dir in der Konfiguration der Rückwärtssuche steht und die exportiert hier hochladen oder mir direkt schicken?

Habt Ihr eigentlich pro Kontakt nur eine Telefonnummer in der Datenbank?
Viele Grüße Nils