Terminalserver, TAPI und CTI – Wenn das falsche Telefon verwendet wird

Manche Phänomene treten nur unter bestimmten Bedingungen auf. Diese zu ermitteln und einzugrenzen kann einiges an Zeit in Anspruch nehmen. Auf einem ganz anderen Blatt steht dann die mögliche Lösung.

Die Ausgangssituation

Ein Windows-Terminalserver mit eingerichteter Auerswald LAN-TAPI, Outlook, TapiCall und der Bürosoftware orgaMAX von deltra.

Bei der Aneahl einer Rufnummer auf Outlook sowohl direkt als auch per TapiCall wird das richtige Telefon, des wählenden Mitarbeiters angesprochen. „Spannung“ wurde es erst bei Anwahl durch orgaMAX, denn statt wie erwartet wird nicht unbedingt immer das Telefon des jeweiligen Mitarbeiters verwendet, sondern irgendeines.

Der erste Gedanke waren Probleme mit der LAN-Tapi von Auerswald, also wurde diese zunächst auf einen anderen Server ausgelagert und via Telefonieserver an den Terminalserver angebunden. Bei TapiCall gibt es eine Anleitung dazu:

Konfigurieren des Microsoft TAPI-Servers zur Anbindung einer Telefonanlage an mehrere Clients übers Netzwerk.

Leider änderte das überhaupt nichts. Schließlich viel auf, das Anwendungen, die eine eigene Konfiguration der TAPI-Leitung mitbringen, wie z.B. Outlook, Windows-Wählhilfe (dialer.exe), Phoner oder eben TapiCall in der Regel das richtige Telefon verwenden. Einzig orgaMAX bietet diese Konfiguationsmöglichkeit nicht und setzt stattdessen für die Einstellungen der Windows-Wählhilfe. Selbst wenn als primäre Telefonieanwendung TapiCall statt die Windows-Wählhilfe eingetragen ist, funktioniert es nicht.

Google Groups – Replacing dialer.exe

Ratloser Support

Wir sprachen daraufhin sowohl mit deltra, dem orgaMAX-Hersteller. Dort gab man nur an, man solle ESTOS verwenden, damit hätte man Erfahrung. Dazu muss man allerdings erwähnen, das deltra es generell nicht so mit Terminalservern hat. Der Tipp also nicht wirklich hilfreich ist.

Bei TapiCall und Auerswald war man hingegen ratlos, was das sein könnte. Auerswald meinte nur, es muss an der Software (Welcher denn nun?!) liegen. TapiCall verwies darauf, die F8-Taste zum Starten einer Anwahl zu verwenden. F8 ist innerhalb von orgaMAX allerdings nicht wirklich hilfreich, da man zum Markieren der anzuwählenden Rufnummer zunächst den jeweiligen Kontakt hätte editieren müssen. Leider ist eine vorige Markierung, wie z.B. bei Outlook vorher nicht möglich.

Hinweis auf die Ursache des Problems

Nach langer Recherche fand sich ein Hinweis auf die Ursache dieses Phänomens.

strange TAPI problem when using terminal server

Kurz gesagt: Anwendungen die mittels der Windows-Funktion tapiRequestMakeCall eine Anwahl starten sind davon betroffen, dass die „dialer.exe“ die zuerst gestartet wurde gewonnen hat. Es wird schlicht nicht nach Benutzer unterschieden.

Bei Einzelplätzen kommt das nicht zum tragen. Das Problem ist somit auf Terminalserver begrenzt, auf dem mehrere Anwender gleichzeitig arbeiten. Die Verwendung einer anderen CTI dürfte somit Zwecklos sein. Und tatsächlich findet sich dazu ein Hinweis bei einem anderen Hersteller:

ek-soft FAQ – Funktioniert der TAPIRequestMakeCall auch auf Terminal-Servern?

Das Problem ist somit genereller Natur.

Mögliche Lösungen

Eines vorweg: Eine Lösung haben wir noch nicht. Anbei aber vielleicht die eine oder andere Anregung:

Ein Gedanke der mir kam ist, einen Hook für tapiRequestMakeCall zu verwenden. Die Frage ist allerdings, ob beim Aufruf dieser Funktion überhaupt irgendwie mitgegeben wird, wer, also welcher Benutzer, die Funktion angesprochen hat.

Plan B könnte sein, eine CTI-Anwendung zu entwickeln oder irgendwie an die orgaMAX-Datenbank anzubinden. Für agfeo-Anlagen gibt es so etwas:

AGFEO Klick | AGFEO Klick mit orgaMAX

Grundsätzlich ist es möglich, lesend auf die Datenbank zuzugreifen:

ODBC-Datenbankzugriff einrichten

Da ich kein Entwickler bin, tue ich mir an dieser Stelle schwer.

Weiterführender gedacht kommt einem aber eine andere Frage in den Sinn: Was ist, wenn überhaupt kein TAPI verwendet wird? Nicht jede CTI basiert auf TAPI! Von daher wäre eine Lösung direkt in der Anwendung, im konkreten Fall also orgaMAX, eine Konfigurationsmöglichkeit zu schaffen, um eine andere Anwendung ansprechen zu können. Nachfolgend beispielhafte Menüeinträge:

  • Windows-TAPI verwenden (Standard)
  • Andere Telefonie-Anwendung verwenden („Pfad\*.exe %tel-nummer%“)

Diese Idee finde ich persönlich aktuell am besten. Die eigenen Ideen sind sowieso meist die Besten 😉 Der Hintergedanke ist aber nunmal der, das man dadurch viel flexibler wäre.

Update 10.12.2014

Heute kam die Info von deltra/orgaMAX das es keine Konfigurationsmöglichkeit gibt. Ich habe meinen Vorschlag mal entsprechend eingereicht. Mal sehen, was draus wird.

12 Kommentare

  • Hallo,
    eine abgehende Wahl aus OrgaMax heraus ist mit meiner Software sehrwohl möglich!
    Es wäre nett wenn Sie auch den Link dazu anpassen würden. Ich wäre auch in der Lage mit einem Zusatztool das oben beschriebene Problem zu lösen.

  • Hallo Herr Schieve,

    das Beitrag wurde angepasst.

    > Ich wäre auch in der Lage mit einem Zusatztool das oben beschriebene Problem zu lösen.

    Damit hätten dann zumindest Anwender ihrer Software bzw. mit agfeo-Anlagen eine Lösung.

  • Hallo,
    Es wäre nett wenn Sie den Link zu orgamax auch noch anpassen könnten.
    http://www.agfeoklick.de/Handel-Handwerk/orgaMax

    Vielen Dank

  • Hallo Herr Schieve,

    ist erledigt.

  • ich sehe da eher die Lösung in einem generelleren Ansatz. Bei Terminal Server biete sich die virtuellen Channel an. Hierrüber wird z.b. auch das Clipboard ausgetauscht.

    Für Drucker und Twain gibt es sogar schon entsprechenden Produkte. Leider hat sich hier noch keiner der Thematik angenommen.

    Das Prinzip ist im Grunde das der MSTSC Client mit einem Server Prozess kommuniziert. Bei einer Multiline Tapi würde das heißen das Line einem entsprechend User zugeordnet wird (ist eigentlich auf der TK Anlage die Regel).
    Nun gibt es zwei Prozesse, einer auf dem MSTSC als plugin registriert. und eine „managment“ auf dem Server. Auf dem Server wird im Grunde nur eine dummy TAPI installiert die als Endpunkt fungiert und dafür sorgt das diese die Nummer an die richtige Session weiterleitet.

    Auf dem Client (mit MSTSC) ist die echte TAPI der TK Analage installiert, dort registriert sich das MSTSC Plugin als Tapi Client.

    Also

    TK -> Client Tapi -> Anwendung MSTSC (plugin) -> RDP Tunnel -> Server Prozess -> Dummy Tapi für Clientanwendung auf dem Server 😉

    nun muss es nur noch einer Programmieren.

    Anlage:
    Remote Desktop Services virtual channels
    https://msdn.microsoft.com/en-us/library/aa383509(v=vs.85).aspx

    vTapi (evtl. ein Ansatz)
    http://www.c4b.de/c4b-media/docs/dokumentationen/XPhoneCorp-vTAPI-TechDoc-DE.pdf

  • Ist eine Idee, allerdings fallen mir spontan zwei Punkte dazu ein:

    Dann müsste es ggf. auch Treiber für ThinClients geben.
    Da auf dem WTS schon die Zuordnung unrichtig läuft, warum sollte dann das Ansprechen der vTAPI klappen?!

  • Der Treiber auf dem ThinClient ist einmal der orignal TAPI dieser muss nicht multiline fähig sein. Hinzukommt der Anwendungsteil der in der DLL als Plugin für MSTSC gekappselt ist (Client).

    Damit kann die DLL auf die jeweilig lokale TAPI des Clientrechners zugreifen und es besteht nicht das Problem das 2 User auf der selben Maschine sind (Clientseitig).

    Auf dem Terminal Server wird die vTAPI eingerichtet als Prozess der sich mit der DLL auf dem Client via Virtual Channel durch das RDP Protokoll unterhält. Dieser Virtuelle Channel hat nichts mit Tapi zu tun und ist eher mit einer VPN im RDP Protokoll gleich zu setzten.

    Da auf dem Terminal Server mehrer User gleichzeitig sind benötigt man dort eine Multiline Lösung. Diese muss jedoch keine echte TK Tapi haben, da diese nur die Tapi befehle durchreicht.

    Also:
    Anwendung TS SErver -> vtapi auf Server -> Virtuell Channel zum DLL (auf Client) -> Dll auf Client redet dann mit der echten TAPI.

  • Zur Ergänzung:

    In dem Profil des User auf dem Terminal Server wird dem User / Anwendung die entsprechende Line zugeordnet. Daher ist dort eine Multiline Tapi nötig.

  • optional im LAN reicht auch eine Multiline TAPI der TK. (Fritzbox ist zum Beispiel: Single Line) *grmpf*

  • Christian Kraus

    Ist schon etwas älter das Thema,

    aber ich hatte vor ein paar Monaten eine ähnliche Situation mit SAP B1 auf Terminal Server, auch hier wurde immer die dialer.exe verwendet welche sich immer die Line des ersten Benutzers nahm welcher telefonierte – alle weiteren Benutzer konnten dann nur mit dieser Line telefonieren.
    Bei mir war die Lösung Phonesuite http://www.phonesuite.de/de/ , diese ist Terminal Server fähig und damit konnte ich auch SAP B1 dazu bewegen über die richtige User Line zu telefonieren

    lg
    Christian

  • Mittlerweile verwenden wir ebenfalls PhoneSuite, wobei das wegen der Askozia/3CX-Geschichte sich evtl. auch ändern wird.
    Von damals ist nichts mehr übrig (einzig Outlook in neuerer Version, aber auf neuem Server).
    Auerswald, orgaMAX, TAPIcall ist alles Geschichte (bei uns).

  • Für alle die jetzt noch hierauf stoßen einfach mal eine kleine Info. Genau wegen solchen Problemen unterstützt der Auerswald PBX Call Assist 1 und 2 den Terminalserver nicht. Daher sollte man hier immer zu Estos greifen. Der Call Assist ist schlichtweg die eingeschränkte Version von Estos.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.