TapiDDE

Einfacher und günstiger Zugang zu CTI Funktionen für Programmierer

TAPI Anwendungen zu programmieren ist eine aufwendige Angelegenheit. Deshalb ermöglichen wir Programmierern mit TapiDDE einen einfachen Zugang zur Computer-Telefonie. Einfach zu integrieren mit VB, Delphi, Access, Notes, ERP, ABAS, Lotus Notes usw.

ActiveX, Comserver usw. stehen Ihnen zusätzlich mit DIALit oder TAPIGnome zur Verfügung. DIAlit und TAPIGnome unterstützen ebenfalls DDE falls mehr Funktionen als der Systray Betrieb gefordert wären.

TapiDDE stellt eine einfache Möglichkeit dar, um aus Windows®-Anwendungen auf verschiedene TAPI-Funktionalitäten zuzugreifen. DDE (Dynamic Data Exchange) ist eine interne Windows-Standardschnittstelle, mit deren Hilfe zwei unterschiedliche Anwendungen Daten austauschen können. DDE wird z.B. von der gesamten MS-Office Produktpalette (z.B. MS-Access) und auch von Lotus-Notes unterstützt. Außerdem verfügen alle gängigen Terminalemulation und Helpdeskanwendungen über DDE-Schnittstellen.

  • Vista und Win7/8.x fähig
  • deutsch/englisch
  • MSI Paket verfügbar
  • DDE Übergabe der Anrufer-Nummer via DDE
  • Läuft nur im Systray

TapiDDE kann die Rufnummer von Anrufern via DDE an andere Windows-Anwendungen weitergeben. Es wird ein DDE-Poke an das Item der Serveranwendung mit der Rufnummer als Variable %callerid bei einem eingehenden Anruf gesendet. Geht die Verbindung wieder in den Ruhezustand sendet TapiDDE einen konfigurierbaren String. Alternativ kann DDE-ExecuteMacro benutzt werden. Hierbei wird ein DDE-ExecuteMacro Befehl mit dem konfigurierten String an Ihre DDE-Serveranwendung gesendet. Alle relevanten Parameter sind einstellbar. Als Variablen können %callerid, %calledid und %linename verwendet werden.

Zusätzlich kann auch ein gestartetes (z.B.) Access Makro per DDERequest die Anrufernummer und die Einwahlnummer abfragen (callerID und calledID).

Technische Hintergründe und Beispiele

Abgehende Wahl anderer Anwendungen via DDE (Ausführliche Beispiele, auch mit Access 2007, sind im Handbuch des Download verfügbar)

DDEService: „TAPIDDE“
DDETopic: „TAPI_DDE“
DDEItem: „NAME_NUMBER“ (nur bei POKE)

Der DDE-Client muß also via DDE-Poke NAME_NUMBER an TAPIDDE senden.

Format für NAME_NUMBER zur Anwahl: „Name,12345“
Format für NAME_NUMBER zum Auflegen : „HANGUP“

Alternativ kann via DDE-Execute an den Topic TAPI_DDE „Name,12345“ bzw. „HANGUP“ gesendet werden.

Beispiel MS-Access

Beispiel einer Access-Anwendung „NORDWIND.MDB“

In dem Formular „Kunden“ wurde ein Button mit der Beschriftung „Anwahl“ hinzugefügt.

Als Ereignisprozedur beim Anklicken wurde diesem Button folgender Code zugewiesen:

On Error Resume Next
Dim Kanal
Kanal = DDEInitiate("TAPIDDE", "TAPI_DDE")
If Err <> 0 Then MsgBox ("TAPIDDE muß muß vorher gestartet sein")
DDEExecute Kanal, Telefon
DDETerminate Kanal ' DDE-Verknüpfung beenden.
On Error GoTo 0

Um eingehende Anrufer nach MS-Access zu signalisieren müssen Sie unter „Einstellungen-Konfiguration-DDE Konverstion“ folgende Einstellungen vornehmen.

  1. Als Service muß MSAccess eingetragen sein
  2. Als Topic muß System (oder DB-Name) eingetragen sein (Groß/Kleinschreibung beachten!)
  3. Als Macroprefix kann [OpenForm „Kunden“, , ,“[Telefon] = ‚ eingetragen sein
  4. Als Macrosufix muß in diesem Falle ‚“] eingertragen werden.

Das bedeutet, bei einem Anruf wird das Formular „Kunden“ geöffnet und im Feld „Telefon“ wird nach der Nummer des Anrufers gesucht (Nummer wird zwischen Prefix und Sufix gesetzt)
3. und 4. können angepaßt werden. Eingetragen werden kann jeder Befehl der innerhalb Access mit docmd ausgeführt werden kann.

Damit der Anrufer gefunden werden kann, muß im Feld Telefon eine bereinigte Rufnummer stehen (ohne Leer und Sonderzeichen) Außerdem muß MS-Access gestartet und die entsprechende Datenbank aktiv sein.

Lotus Notes

Beispiel für abgehende Wahl

Kanal_ID := @DDEInitiate("TAPIDDE";"TAPI_DDE");
@If(@IsError(Kanal_ID);@Return(@Prompt([OK];"Fehler";"TAPIDDE muß zuerst gestartet werden"));"");
@DDEExecute(Kanal_ID; OfficePhoneNumber);
@DDETerminate(Kanal_ID)

Notes Aktionsformel für einen Hotspot-Button (Bsp. names.nsf)

OfficePhoneNumber: steht für Feldname in dem die Rufnummer der Person steht

Beispiel zum Auflegen

Kanal_ID := @DDEInitiate("TAPIDDE";"TAPI_DDE");
@If(@IsError(Kanal_ID);@Return(@Prompt([OK];"Fehler";"TAPIDDE muß zuerst gestartet werden"));"");
@DDEExecute(Kanal_ID;"HANGUP");
@DDETerminate(Kanal_ID)

Notes Aktionsformel für einen Hotspot-Button (Bsp. names.nsf)

DDE Exkurs

Was ist DDE?

Der dynamische Datenaustausch (DDE) sendet und empfängt Daten von und zu anderen Windows-Anwendungen. Mit TAPIDDE können Sie diese Daten verwenden, um Text mit anderen Anwendungen auszutauschen. Sie können auch Kommandos und Makros an andere Anwendungen senden, so dass Ihre Anwendung andere Anwendungen kontrollieren kann.

TAPIDDE kann als DDE-Server und DDE-Client betrieben werden

Hinweis: Nicht alle Anwendungen unterstützen DDE. Um herauszufinden, ob eine Anwendung DDE unterstützt, schlagen Sie in Ihrer Dokumentation nach.

Um DDE-Anwendungen zu verstehen, ist es nötig, sich mit dem Konzept von DDE-Konversationen vertraut zu machen.

DDE-Konversationen

Für eine DDE-Konversation muß eine DDE-Client-Anwendung und eine DDE-Server-Anwendung definiert sein. TAPIDDE kann sowohl als DDE-Client (meldet Anrufe an andere Anwendungen) als auch als DDE-Server (wählt für andere Anwendungen) agieren.

TAPIDDE kann auch zur gleichen Zeit DDE-Client und -Server sein. Eine DDE-Konversation wird durch Dienst, Thema und Element definiert.

Hinweis: Manchmal werden DDE-Clients „Destinations“ und DDE-Server „Sources“ genannt. Die Bezeichnungsweise ist austauschbar.

DDE-Dienste (Service)

Der Dienst einer Konversation ist der Name des DDE-Servers. Typischerweise ist diesder Name der ausführbaren Hauptdatei der Anwendung ohne die EXE-Dateinamenserweiterung.

Wenn Sie z. B. erreichen wollen, daß Ihre Anwendung eine Konversation mit Novell Quattro Pro 6.0 (QPW.EXE) einrichtet, dann lautet der Konversationdienst QPW. Manchmal weicht der Dienst jedoch vom Namen der ausführbaren Hauptdatei ab. Wenn Sie z. B. erreichen wollen, daß Ihre Anwendung eine Konversation mit Borland ReportSmith 2.0 (RPTSMITH.EXE) einrichtet, dann würde der Konversationsdienst ReportSmith sein.

Der TAPIDDE DDE-Service heißt „TAPIDDE“. Man muß also TAPIDDE über diesen Service ansprechen, wenn man möchte, daß jemand angerufen wird.

Hinweis: Der DDE-Dienst hängt von der DDE-Server-Anwendung ab. In der Dokumentation des DDE-Servers finden Sie Informationen zu den Bezeichnungen der DDE-Dienste.

Manchmal werden die DDE-Dienste Anwendungsnamen genannt. Diese Bezeichnungsweise ist austauschbar.

DDE-Themen (Topic)

Das Thema einer DDE-Konversation ist eine Dateneinheit, die für den Server identifizierbar ist und die Verbindungsinformation enthält.

Der TAPIDDE DDE-Topic heißt „TAPI_DDE“. Man muß also TapiDDE über diesen Topic ansprechen, wenn man möchte, daß jemand angerufen wird.

DDE-Elemente (Item)

Das Element einer DDE-Konversation bestimmt das tatsächlich zu verknüpfende Datenelement. Die Syntax, die für die Bezeichnung des DDE-Elementes verwendet wird, hängt von der DDE-Server-Anwendung ab. Beispiele für mögliche DDE-Elemente sind Zellen von Tabellenkalkulationen oder Datenbankfelder. Um z. B. eine Zelle A1 auf Seite A in einem Quattro Pro-Arbeitsblatt zu verknüpfen, wäre das Element $A:$A$1..$A$1.

Der TapiDDE DDE-Item heißt „NUMBER“. Man muß also TapiDDE über dieses Item ansprechen, wenn man möchte, daß jemand angerufen wird.

Daten-Poking

Daten-Poking bedeutet, entgegen der gewöhnlichen Datenflußrichtung von DDE Datenvon Ihrem DDE-Client an die DDE-Server-Anwendung zu senden.

TapiDDE benutzt als DDE-Client den Pokemechanismus, um die Rufnummer des Anrufers an eine andere Anwendung zu „poken“.

TapiDDE erwartet außerdem von anderen Anwendungen einen DDE-Poke, um eine Anwahl auszuführen.

Alternativ unterstützt TapiDDE DDE-Executes in beiden Richtungen (Client und Server).

Kontrollieren anderer Anwendungen

Als DDE-Client-Anwendung kann TapiDDE Server-Anwendungen in einer bestimmten Weise kontrollieren: z. B. versuchen, den DDE-Server laufen zu lassen, falls nötig. Wenn Ihr DDE-Client versucht, eine Verknüpfung mit einem nicht aktiven DDE-Server einzurichten, wird der Client versuchen, den Server zu aktivieren und das Thema der Konversation zu laden (angegeben in der Eigenschaft DDETopic).

Eine weitere Art, andere Anwendungen zu kontrollieren, besteht darin, Makrokommandos auszuführen.

TapiDDE kann alternativ zum Pokemechanismus als DDE-Client auch DDE-Makros ausführen.

Beispiel: Rufnummer 4711 ruft an. TapiDDE führt in der DDE-Serveranwendung (z.B. Hostemulation, oder Access-Programm, oder Word, oder …) ein Makro mit Namen „Anruf“ aus, welches die übergebene Rufnummer in das Feld „Telefon“ der Serveranwendung schreibt und anschließend 2x Return drückt, damit dadurch die Maske des Anrufers aufpoppt.

Systemvoraussetzungen
  • Windows Vista, Windows 7, Windows 8.x oder Windows 2003/2008 (R2)/2012 (R2) Server
  • Kann virtualisiert sein (alle mit oben entsprechendem Gastbetriebssystem)
  • TAPI Treiber oder CTIgate TAPIServer, lizenziert und konfiguriert
  • 32 und 64 bit werden unterstützt

Preise

UVP Preise (Kauf) je User in EUR zzgl. MwSt.

  • 1-10 User 33,00
  • 11-50 User 23,10
  • 51-100 User 16,17
  • 101-250 User 11,32
  • 251-500 User 7,92
  • größere auf Anfrage
Testversion

Download der Testversion

Testen Sie TapiDDE kostenfrei! Überzeugen Sie sich selbst von TapiDDE mit der 30-Tage-Testversion.
Kostenfrei und unverbindlich. Jetzt Testversion herunterladen.

Testversion
Kontaktformular

Weitere Infos und Kontakt

Sie möchten mehr erfahren, nutzen Sie unser Kontaktformular.

Kontaktformular